2025-09-05


Account Center

[BREAKING]Changed document-related fields from object to array in Create SubAccount

  • Updated the data type for multiple file/document fields in Create SubAccount API, allowing multiple documents to be provided instead of a single object.
  • Affected Endpoints:
    • Create SubAccount, request only
  • Changes:
    • identity_verification.identity_docs: changed from object → array
    • ownership_details.shareholder_docs: changed from object → array
    • ownership_details.representatives.identity_docs: changed from object → array
    • company_info.certification_of_incorporation: changed from object → array
    • proof_documents.proof_of_address: changed from object → array
    • proof_documents.source_of_funds: changed from object → array
    • proof_documents.proof_of_position_and_income: changed from object → array


Banking

Cross Currency Payout

  • To supports customers payout funds in any currency, and recipients receiving funds in any currency
  • Supported currencies depend on actual configuration, check here for details

Affected Endpoints:

Create Quote, request only
  • Added the transaction_type field with the following enumeration values:
    • conversion: This value is used by default if this field is left blank. It can only be used for currency conversion.
    • payout: Cross-currency payout. Can only be used for payouts.
Create Payout, request only
  • Added the payout_currency and payout_amount fields, which represent the actual currency and amount received by the recipient.
  • Added quote_id field, which is obtained from the Create Quote API when pre-locking the exchange rate and will be associated with the cross-currency payout.
Retrieve Payout & List Payouts, response only
  • Added quote_id field
  • Added conversion field
  • “conversion": {
      "currency_pair": "",
      "client_rate": ""
    }
Webhook: payout.*
  • Added new fields: conversion, quote_id, payout_amount, and payout_currency

[BREAKING]Added restrictions to basic information input for Recipients

  • Affected Endpoints:
    • Create Beneficiary, request only
    • Create Payout, request only
  • Affected Fields:
    • bank_details.account_holder
    • first_name & last_name
    • company_name
    • address.street_address
    • address.city
    • address.state
  • Added new validation applies to all conditions except:
    • bank_details.account_currency_code = CNH & payment_method = LOCAL & bank_country_code = CN
  • Changes/ New validation:
    • Only English, numbers, special characters, and spaces can be included
    • Special characters including -_().,@#~ ! $ % ^ & * + = { } [ ] \ | : " ' \< > ? /・……
  • Notes:
    • For specific scenarios (such as when entity_type = INDIVIDUAL, bank_details.bank_country_code = SG, and bank_details.account_currency_code = SGD), stricter account_holder name validation rules will be applied. If such validation is triggered, the error message returned by the API will indicate clearly.

[BREAKING]Added restrictions to Payout reference

  • Affected Endpoints:
    • Create Payout, request only
  • Affected Fields:
    • payout_reference
  • Changes/ New validation:
    • Only alphabetic characters, numbers, spaces, commas ,, and periods . are allowed.

Issuing

Added new fields for reports

  • Affected Reports:
    • Card Transaction Report
    • Card Settlement Report
  • Changes:
    • Added new field Ori Transaction Id

Introduced Bulk Virtual Card Creation API

  • Added a new endpoint to support bulk creation of virtual cards.
  • Affected Endpoints/Webhook:
    • Bulk Create Virtual Cards , Endpoint Added
    • issuing.report.succeeded, Webhook Added
    • Assign Card, expanded for bulk-created virtual cards
  • Changes:
    • Merchants can now create multiple virtual cards in a single request, without requiring immediate cardholder binding.
    • The Assign Card API has been enhanced to enable binding for bulk-created virtual cards.
    • A report_id is returned after submission. Merchants can retrieve the card number file using the Download Report API before it expires.
    • The card numbers in the file are encrypted.
      • Before calling the Bulk Create Virtual Cards, you must subscribe to the issuing.report.succeeded webhook.
      • This webhook delivers the decryption key required to access the card numbers.