Issuers

The issuer is the legal entity issuing one or more products. To create a product, you will first need to create an issuer. During product creation you can reference the issuer by the issuer ID.

Creating an issuer

  • Company data such as name and commercial register data (legal_person)

  • Personal data, residence address and PEP status of the CEO (natural_person)

  • Bank account information of the issuer (bank_account )

Example:

r = requests.post(
    f'{URL}/issuer/v2/documents/',
    files={'file': ('identity_proof.pdf', b'ASD', 'application/pdf')},
    headers={**headers, 'X-Idempotency-Key': make_key()}
)
assert r.status_code < 300, r.content
identity_proof_id = r.json()['id']

r = requests.post(
    f'{URL}/issuer/v2/documents/',
    files={'file': ('structure_proof.pdf', b'ASD', 'application/pdf')},
    headers={**headers, 'X-Idempotency-Key': make_key()}
)
assert r.status_code < 300, r.content
structure_proof_id = r.json()['id']

r = requests.post(
    f'{URL}/issuer/v2/issuers/',
    json={
        'natural_person': {
            'salutation': 'MR',
            'forename': 'John',
            'surname': 'Smith',
            'birth_date': '1990-01-31',
            'birth_place': 'Berlin',
            'citizenship': 'DEU',
            'street': 'Hauptstr. 37',
            'city': 'Frankfurt',
            'zip': '60316',
            'country': 'DEU',
            'phone': '+49 123 456 789',
            'is_pep': False,
            'is_subject_to_us_tax': False
        },
        'legal_person': {
            'city': 'string',
            'commercial_register': 'Amtsgericht München',
            'commercial_register_number': 'HRB 12344',
            'company_identity_proof_id': identity_proof_id,
            'company_name': 'Test GmbH',
            'company_structure_proof_id': structure_proof_id,
            'country': 'DEU',
            'phone': '0173 2093790',
            'street': 'string',
            'zip': 'string'
        },
        'bank_account': {
            'account_holder': 'Big GmbH',
            'bank': 'Commerzbank Frankfurt',
            'bic': 'GENODEF1ERG',
            'country': 'DEU',
            'currency': 'EUR',
            'iban': 'DE27700901000000063292',
            'shared_account': False
        }
    },
    headers={**headers, 'X-Idempotency-Key': make_key()}
)
assert r.status_code < 300, r.content
print(f'Issuer: {r.json()["id"]}')

After you've created the issuer via the Issuer API, Cashlink will verify the identity of the issuer. Cashlink will notify you, if additional data is required for the issuer identity verification to succeed.

Retrieving issuer information

You can use the API to retrieve information about all issuers already created.

Example:

r = requests.get(
    f'{URL}/issuer/v2/issuers/',
    headers={**headers}
)
assert r.status_code < 300, r.content
issuer_id = r.json()['results'][0]['id']

r = requests.get(
    f'{URL}/issuer/v2/issuers/{issuer_id}/',
    headers={**headers}
)
assert r.status_code < 300, r.content
print(f'Issuer: {r.json()["legal_person"]["company_name"]}') 

Last updated

Was this helpful?