Add payment method

Overview

Use this endpoint to add and store the applicant payment method in the Sumsub system. This helps link applicants to their payment methods (e.g., bank accounts, crypto wallets), which is important for Travel Rule transactions.

📘

Note

This endpoint is only relevant for existing applicants.

Request example

curl -X POST
     'https://api.sumsub.com/resources/applicants/6756c06e40c2f83feed050ef/payments'
     -H 'content-type: application/json'
     -d '{
          "externalId": "your_id_for_this_payment_method",
          "data": {
                 "type": "cryptoWallet",
                 "accountIdentifier": "your_crypto_wallet_address",
                 "memo": "...",
                 "currencyCode": "crypto_currency_code",
                 "cryptoChain": "crypto_chain"
            }
          }'

Response explained

The response is a JSON file that represents the data of the payment method.

FieldTypeDescription
externalIdStringIdentifier of the payment method on your side.
createdAtDateDate and time when the payment method was submitted.
dataObjectPayment method details.

data attributes

FieldTypeDescription
typeStringType of the payment method. Can be one of the following: cryptoWallet, bankCard, bankAccount.
accountIdentifierStringUnique identifier of the account or a crypto wallet address.
fullNameStringFull name of the account holder. Required for the bankAccount type.
currencyCodeStringCode of the currency the wallet holds (USD, GBP, BTC, etc.). Required for the cryptoWallet type.
cryptoChainStringCrypto chain name. Specifies the network name to which the token at currencyCode belongs. Empty for native tokens (e.g. for BTC, ETH). For more information, see chain codes .
memoStringOptional field for the cryptoWallet type in blockchain transactions to attach metadata or messages for identification, routing, or compliance purposes.
validUntillDateDate field for the bankCard type indicating the date when the bank card is expired (format yyyy-MM-dd).

Response examples

If the request is successfully sent and processed, you will get a response like the one below.

{
  "externalId": "your_id_for_this_payment_method",
  "createdAt": "2025-01-16 08:25:24",
  "data": {
    "type": "cryptoWallet",
    "accountIdentifier": "your_crypto_wallet_address",
    "memo": "memo-text",
    "currencyCode": "BTC",
    "cryptoChain": "BTC"
  }
}

If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error. For example:

{
  "description": "data.accountIdentifier must not be null",
  "code": 400,
  "correlationId": "cc4616424ce1d7bf5a6cad414e8e76d6"
}
Language
Credentials
Header
Click Try It! to start a request and see the response here!