Initiate Payment

Warning: This API has been deprecated. Please use Wallets. Contact your sales representative if you require additional blockchain support.

POST /assets/asset-accounts/{AssetAccountId}/payments

Initiates a payment in the provided AssetSymbol, instructing funds to be transferred from one wallet to another within the same network and the same kind of asset (native token or ERC20). Payments support these receiver configurations:

  • DfnsAssetAccount - A payment to another Dfns wallet as specified by its id.

  • BlockchainWalletAddress - A payment to any address supported by the target chain.

Required Permissions

NameConditions

Payments:Create

Always Required

PublicKeys:Read

Always Required

Signatures:Create

Always Required

Triggers

Policy Engine for Policies with a PaymentInitiation activityKind.

Parameters

Path parameters

Path parameterDescription

AssetAccountId

Unique identifier of the AssetAccount like: aa-orange-magnesium-a0606d08b2 This is the account that is sending the payment and will be charged any associated network fees (ie. gas).

Request body

Request body fieldsRequired/OptionalDescriptionType

assetSymbol

Required

Currency symbol and network. Format is <SYMBOL>[.<NETWORK>]. See Enumerated Types for a full list of valid values.

String

amount

Required

Amount to transfer specified in the largest denomination - eg. the native token for "ETH" or "SOL"

String (often specified as a float, eg. "0.0005")

receiver

Required

An object detailing the kind of the recipient (see below)

Object

note

Optional

A short payment description

String

narrative

Optional

Broader context on the payment for customer use

String

Dfns Asset Account Payment

Use the following fields in the nested receiver object to initiate a payment to another Dfns wallet:

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Specify: "DfnsAssetAccount"

Enumerated Type

id

Required

Unique identifier of the AssetAccount like:

aa-orange-magnesium-a0606d08b2

String

Sample request

{
  "receiver": {
    "kind": "DfnsAssetAccount",
    "id": "aa-orange-magnesium-a0606d08b2"
  },
  "assetSymbol": "BTC",
  "amount": "1",
  "note": "testing",
  "narrative": "some payment",
  "externalId": "1-2-3-4"
}

External Wallet Payment

Use the following fields in the nested receiver object to initiate a payment to any address supported by the target chain:

Request body fieldsRequired/OptionalDescriptionType

kind

Required

Specify: "BlockchainWalletAddress"

Enumerated Type

address

Required

External blockchain address

String

Sample request

{
  "receiver": {
    "kind": "BlockchainWalletAddress",
    "address": "AXn56FXBfqRvGejFYN57roxeiztTE87HLZwb8wz3pjWf"
  },
  "assetSymbol": "BTC",
  "amount": "1",
  "note": "testing",
  "narrative": "some payment",
  "externalId": "1-2-3-4"
}

Response

Response example

In most cases, the initial status should be set to "Initiated". Call GetPaymentById to check status of the payment.

{
   "receiver": {
       "kind": "BlockchainWalletAddress",
       "address": "0x2b25C5DDeeB76fD73a62Cd9c1E2Ad4EbCf2BC076"
   },
   "assetSymbol": "ETH",
   "amount": "0.01",
   "note": "testing",
   "narrative": "some payment",
   "externalId": "1-2-3-4",
   "assetAccountId": "aa-iowa-washington-7a99aa2fd5",
   "initiator": {
       "kind": "Employee",
       "orgId": "cu-purple-pip-1b417b958500",
       "employeeId": "oe-nine-artist-9de60fef6963"
   },
   "status": "Initiated",
   "dateCreated": "2022-07-19T19:41:15.656Z",
   "orgId": "cu-purple-pip-1b417b958500",
   "receiverAddress": "0x8b25C5DDeeB75fD73a62Cd8c1E2Ad4EbCf2BA076",
   "id": "pa-edward-emma-9e5130c59f"
}

Last updated