- KYC review: verifies the paying entityโs identity and who ultimately controls it. On approval, Cobo opens a VA in that entityโs name. Submit it separately for each paying entity.
- Destination review: submit the recipient bank accountโs transfer details. Each recipient bank account is reviewed separately.
cobo_waas2): SDK initialization, KYC document upload and fiat entry KYC creation (the payer side), recipient bank account document upload and destination creation (the payee side), and Off-ramp payout creation. For concept details and operation-specific schemas, use the related guides and API references linked from each section.
Prerequisites
- You have completed the Python SDK quickstart.
- You have the API private key required to initialize the SDK.
- You have a Payments API host, such as
https://api.dev.cobo.com/v2for Development. - You have prepared the KYC documents and bank account documents required for the paying entity and the payout destination.
Configure the Python SDK
InitializePaymentApi with your API private key and Payments API host.
Integration workflow
- Upload KYC and bank account documents with Upload file v2 and save the returned
file_idvalues. - Create the paying entityโs fiat entry KYC with Create fiat entry KYC. Retrieve records with List all fiat entry KYC or Get fiat entry KYC, and revise a record with Update fiat entry KYC.
- Create a bank-account destination with Create destination, and pass the returned
fiat_entry_kyc_id. For destination concepts and review requirements, see Destinations. - Create an Off-ramp payout with Create payout. For payout behavior, see Off-ramp.
Upload KYC and bank account documents
This step uploads every document the next two steps need and collects afile_id for each: the company and personal documents referenced when you submit KYC information, and the bank account documents referenced when you create a bank-account destination.
For country-specific KYC attachment and identity document requirements, see KYC requirements by country.
Read each local document, encode it as Base64, upload it with upload_payment_file_v2, and save the file_id from the response.
See Upload file v2 for the request and response schema.
Create fiat entry KYC
KYC (Know Your Customer) verifies the entity the payout comes from: that it is real, who ultimately controls it, and whether it can pay out through Cobo. Callcreate_fiat_entry_kyc to create the fiat entry KYC record. The example submits:
- Company entity information
- Company attachments
- Legal representative information
- Ultimate beneficial owner information
fiat_entry_kyc_id and pass it when you create the bank-account destination. To list records, call List all fiat entry KYC. To retrieve one record, call Get fiat entry KYC. To revise a record, call Update fiat entry KYC.
Contact Cobo after you submit. Cobo starts the KYC review once notified, and you can only create payouts after it passes.
Create a bank-account destination
Callcreate_destination to create the destination bank account for a payout.
For country-specific SWIFT bank-account requirements, see Bank account requirements by country.
Key settings:
- Fiat entry KYC: set
fiat_entry_kyc_idto the ID returned by Create fiat entry KYC. - Account details: account number (
account_number), SWIFT code, IBAN, currency (USD), and account holder name (beneficiary_name). - Bank details: bank name, branch code (
bank_branch_code), and the bankโs address, country, province, and city. - Payment method and holder type: set
BankAccountPaymentMethod.SWIFTandBankAccountHolderType.COMPANY.
Contact Cobo after you submit. Cobo starts the KYC review once notified, and you can only create payouts after it passes.
Create an Off-ramp payout
Callcreate_payout to submit the payout request.
Key settings:
- Idempotency: generate a unique
request_id. - Payout channel: set
payout_channeltoPayoutChannel.OFFRAMP. - Source account: provide the account the funds come from.
- Destination account: reference the destination bank account in
recipient_info.bank_account_id.
