Resources Coming Soon
Early preview
International payments are coming soon. This preview gives you an early look at the expected experience so you can begin planning your integration.
SWIFT Counterparty
Creates a SWIFT counterparty for a specific customer.
Attributes
| Name | Type | Description |
|---|---|---|
| type | string | Either Business or Person. |
| name | string | The account holder's name (individual or business). Up to 255 characters. |
| bic | string | BIC (SWIFT Bank Identifier Code) of the recipient's bank. 8 or 11 alphanumeric characters. |
| accountNumber | string | Recipient bank account number or IBAN (International Bank Account Number). 1-34 alphanumeric characters (uppercase letters and digits only). |
| country | string | ISO 3166-1 alpha-2 destination country code. |
| currency | string | ISO 4217 destination currency (e.g. EUR, GBP). |
| address Required | object | Recipient International address. country is required within the object. |
| email Optional | string | Recipient email address. |
| tags Optional | object | See Tags. |
| createdAt | RFC3339 Date string | The date the resource was created. |
| updatedAt | RFC3339 Date string | The date the resource was last updated. |
Relationships
| Name | Type | Description |
|---|---|---|
| customer | JSON:API Relationship | The end-customer who registered this counterparty. |
Example SWIFT counterparty resource:
{
"data": {
"type": "swiftCounterparty",
"id": "200",
"attributes": {
"type": "Person",
"name": "Hans Mueller",
"bic": "COBADEFFXXX",
"accountNumber": "DE89370400440532013000",
"country": "DE",
"currency": "EUR",
"address": {
"country": "DE",
"street": "Friedrichstrasse 123",
"city": "Berlin",
"postalCode": "10117"
},
"tags": {
"label": "EU supplier"
},
"createdAt": "2024-01-15T10:02:00.000Z",
"updatedAt": "2024-01-15T10:02:00.000Z"
},
"relationships": {
"customer": {
"data": {
"type": "businessCustomer",
"id": "1000"
}
}
}
}
}
International address
Quote
Prerequisites
A SWIFT Counterparty must exist before a quote can be created.
A quote is a JSON resource with type quote that locks in the terms for a single international payment.
When the payment involves currency conversion, the quote includes the applicable exchange rate.
Attributes
| Name | Type | Description |
|---|---|---|
| status | string | One of New, Used, or Expired. See Quote Statuses. |
| sourceCurrency | string | ISO 4217 source currency. Always USD. |
| destinationCurrency | string | ISO 4217 destination currency code. Matches the related counterparty's currency. |
| destinationAmount | integer | Amount the counterparty will receive, in the destination currency's minor unit (e.g. cents for EUR). |
| exchangeRate | string | The FX rate applied. Absent for USD→USD quotes. |
| sourceAmount | integer | The amount (in cents), before fees. |
| feeAmount | integer | The fee (in cents) for the payment. |
| totalAmount | integer | Total USD cents debited from the source account when the payment is created (principal and fees). |
| expiresAt Optional | RFC3339 Date string | For foreign-currency quotes, the timestamp after which the locked rate expires. Absent for USD→USD quotes. |
| createdAt | RFC3339 Date string | The date the resource was created. |
Relationships
| Name | Type | Description |
|---|---|---|
| customer | JSON:API Relationship | The customer for whom the quote was created. |
| counterparty | JSON:API Relationship | The international counterparty that will receive the payment created from this quote. |
Example quote resource:
{
"data": {
"type": "quote",
"id": "300",
"attributes": {
"status": "New",
"sourceCurrency": "USD",
"destinationCurrency": "EUR",
"destinationAmount": 10000,
"exchangeRate": "1.085",
"sourceAmount": 10850,
"feeAmount": 1750,
"totalAmount": 12600,
"expiresAt": "2024-01-15T10:20:00.000Z",
"createdAt": "2024-01-15T10:05:00.000Z"
},
"relationships": {
"counterparty": {
"data": {
"type": "swiftCounterparty",
"id": "200"
}
},
"customer": {
"data": {
"type": "businessCustomer",
"id": "1000"
}
}
}
}
}
International Payment
Prerequisites
A non-expired Quote (status New) must exist before a payment can be submitted.
An international payment is a payment resource with type internationalPayment, created and managed through the /payments endpoints.
Attributes
| Name | Type | Description |
|---|---|---|
| status | string | Payment status. One of Pending, PendingReview, Sent, Rejected, Returned. A payment in PendingReview requires additional information before processing can continue; after the information is submitted, the status returns to Pending. |
| direction | string | Always Credit. |
| sourceAmount | integer | USD cents of converted principal (equals the quote's sourceAmount). The account is debited per the quote's totalAmount. |
| sourceCurrency | string | ISO 4217 source currency. Always USD. |
| destinationAmount | integer | Amount received by the counterparty in the destination currency's minor unit. |
| destinationCurrency | string | ISO 4217 destination currency code. |
| destinationCountry | string | ISO 3166-1 alpha-2 destination country code. Returned on international payments; schema remains nullable for backward compatibility. |
| purpose | string | The purpose of the payment. See International Payment Purpose Code for possible values. |
| sourceOfFunds | string | Describes the origin of the funds. One of Salary, PersonalSavings, PersonalWealth, RetirementFunds, BusinessOwner, LoanFacility, PersonalAccount, CorporateAccount. |
| reason Optional | string | Present when status is Rejected or Returned. See Rejection reasons and Return reasons for possible values. |
| description Optional | string | Payment description (maximum of 255 characters). |
| tags Optional | object | See Tags. |
| createdAt | RFC3339 Date string | The date the resource was created. |
| updatedAt | RFC3339 Date string | The date the resource was last updated. |
Relationships
| Name | Type | Description |
|---|---|---|
| account | JSON:API Relationship | The source deposit account debited for this payment. |
| customers | Array of JSON:API Relationship | The customer(s) associated with the source account. |
| quote | JSON:API Relationship | The quote used to create this payment. |
| counterparty | JSON:API Relationship | The international counterparty (swiftCounterparty) receiving the funds. |
| transaction | JSON:API Relationship | The International Payment Transaction debited from the source account for the payment amount. |
Example international payment resource:
{
"data": {
"type": "internationalPayment",
"id": "400",
"attributes": {
"status": "Pending",
"direction": "Credit",
"sourceAmount": 10850,
"sourceCurrency": "USD",
"destinationAmount": 10000,
"destinationCurrency": "EUR",
"destinationCountry": "DE",
"purpose": "Travel",
"sourceOfFunds": "PersonalSavings",
"description": "Travel expenses for trip to Berlin",
"createdAt": "2024-01-15T10:10:00.000Z",
"updatedAt": "2024-01-15T10:10:00.000Z"
},
"relationships": {
"account": {
"data": {
"type": "depositAccount",
"id": "5000"
}
},
"counterparty": {
"data": {
"type": "swiftCounterparty",
"id": "200"
}
},
"quote": {
"data": {
"type": "quote",
"id": "300"
}
},
"customers": {
"data": [
{
"type": "businessCustomer",
"id": "1000"
}
]
},
"transaction": {
"data": {
"type": "originatedInternationalTransaction",
"id": "6001"
}
}
}
}
}
International Payment Transaction
| Name | Type | Description |
|---|---|---|
| id | string | Identifier of the transaction resource. |
| type | string | Type of the transaction resource. The value is always originatedInternationalTransaction. |
| attributes | JSON Object | JSON object representing the transaction data. |
| relationships | JSON:API Relationships | Describes relationships between the transaction resource and other resources (account, customer and payment). |
Attributes
| Name | Type | Description |
|---|---|---|
| createdAt | RFC3339 Date string | The date the transaction was created. Common to all transaction types. |
| direction | string | The direction in which the funds flow. Common to all transaction types. Always Debit. |
| amount | integer | The amount (cents) of the transaction. Common to all transaction types. |
| balance | integer | The account balance (cents) after the transaction. Common to all transaction types. |
| summary | string | Summary of the transaction. Common to all transaction types. |
| tags | object | See Tags. Inherited from the payment tags (see Tag Inheritance). |
Relationships
| Name | Type | Description |
|---|---|---|
| account | JSON:API Relationship | The Deposit Account of the customer. |
| customer | Optional, JSON:API Relationship | The Customer the deposit account belongs to. This relationship is only available if the account belongs to a single customer, business or individual. |
| customers | Optional, Array of JSON:API Relationship | The list of Customers the deposit account belongs to. This relationship is only available if the account belongs to multiple individual customers. |
| payment | JSON:API Relationship | The International Payment belonging to this transaction. |
Example OriginatedInternationalTransaction resource:
{
"data": {
"type": "originatedInternationalTransaction",
"id": "6001",
"attributes": {
"createdAt": "2024-01-15T10:10:00.000Z",
"direction": "Debit",
"amount": 10850,
"balance": 500,
"summary": "International payment to Hans Mueller",
"tags": {
"invoice_id": "INV-2024-0115"
}
},
"relationships": {
"account": {
"data": {
"type": "depositAccount",
"id": "5000"
}
},
"customer": {
"data": {
"type": "businessCustomer",
"id": "1000"
}
},
"payment": {
"data": {
"type": "internationalPayment",
"id": "400"
}
}
}
}
}