Skip to main content
Currently, you can only make payments from the parent budget, not from any sub-budgets.

How it works

The following diagram describes the different steps required to send funds externally with Equals Money. Click on the image to enlarge it. Diagram showing the steps required to send funds externally

Create a single-currency payment

POST /v2/orders/trade

Before you start

To send a single-currency payment, you first need to create a quote where:
  • type.from is set to balance
  • type.to is set to payment, multiple, or forward
  • sourceCurrency and targetCurrency are set to the same currency
  • at least one of sourceCurrency.amount or targetCurrency.amount is provided
  • sourceCurrency.currency.budgetId and targetCurrency.currency.budgetId are set to the ID of the parent budget
For example, to create a quote for a 10 GBP payment to an external recipient:
curl -i -X POST \
  'https://api.equalsmoney.com/v2/orders/quote?accountId=F12345' \
  -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "sourceCurrency": {
      "amount": 10,
      "currency": {
        "budgetId": "b489ea2c-0dd1-4fb1-b345-de5a596a5527",
        "currencyCode": "GBP"
      }
    },
    "targetCurrency": {
      "currency": {
        "budgetId": "b489ea2c-0dd1-4fb1-b345-de5a596a5527",
        "currencyCode": "USD"
      }
    },
    "settlementDate": "20231001",
    "type": {
      "from": "balance",
      "to": "payment"
    }
  }'

Request

Use this request to create a single-currency payment, using the orderId and quoteRequestId returned when you created a quote.
curl -i -X POST \
  'https://api.equalsmoney.com/v2/orders/trade?accountId=F12345' \
  -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "orderId": "M35TVZVMB4NYPO",
    "quoteRequestId": "UFTDF36PC1YHKDB61QC4V4324ATF9KCDPV",
    "payments": {
      "amount": 10,
      "currency": {
        "budgetId": "b489ea2c-0dd1-4fb1-b345-de5a596a5527",
        "currencyCode": "GBP"
      },
      "recipientId": "7d238pq10",
      "internalReference": "PAYX-123",
      "externalReference": "PAYX-123"
    }
  }'

Query parameters

accountId
string
required
The ID of the account that you’re creating a single-currency payments for.Allowable values: An existing accountId

Request body schema

orderId
string
required
The ID of the order that was returned in the quote request.Allowable values: An existing orderId (≤ 36 characters)
quoteRequestId
string
required
The ID of the quote request that was returned in the quote request.Allowable values: An existing quoteRequestId (≤ 36 characters)
payments
object
required
Details about the payment that you’re making.Allowable values: A valid payments object containing the following fields: amount, currency, recipientId , internalReference, externalReference

Response

If your request is successful, you’ll receive a 200 response.
{
  "orderId": "M35TVZVMB4NYPO",
  "bank": "BANK",
  "settlement": {
    "date": "20231001",
    "price": {
      "amount": 10,
      "currency": "GBP"
    },
    "charges": {
      "fee": 0,
      "margin": 0,
      "other": 0
    }
  },
  "trade": {
    "rate": 0,
    "inverseRate": 0,
    "from": {
      "amount": 10,
      "currency": "GBP"
    },
    "to": {
      "amount": 10,
      "currency": "GBP"
    }
  }
}
For customers where the external reference affects account ownership validation:If the provided external reference doesn’t match the one associated with the recipient, an error will occur. To resolve this, resubmit the request with the correct external reference, or create a new recipient with the preferred external reference.
For more detailed information about this request and its response, see the API reference.