Send funds

To make a payment from AUD to a different currency, you need to execute the createPayment mutation as below.

Note that you must have enough AUD balance to make an outbound AUD payment.

mutation {
  createPayment(
    input: {
      fromCurrency: AUD
      toCurrency: USD
      size: 1000
      currency: AUD
      reason: BUSINESS
      sourceOfFunds: BUSINESS_FUNDS
      externalReference: "my ref 221b"
      senderId: "6092360ae40e2cfb52f85be1"
      recipientId: "5ba89a6b35a2b327b81ffc3b"
      externalId: "12344321"
      idempotencyKey: "12344321"
    }
  ) {
    success
    code
    message
    payment {
      id
      status
      size
    }
  }
}

Recipient - recipientId

You should pre-create recipients and send us their ID.

Sender - senderId or subClientId , or neither

In the above createPayment example, you had to pre-create a sender and use senderId as an input. Alternatively, if your account is configured to make FX payments on behalf of your sub-clients, you may provide us with the sub-client ID, and the FX payment created will be linked to that sub-client. In this case, the subClientId will be used as the sender and will be reported to the government.

To use subClientId as the sender for your payments, please execute the createPayment mutation as below.

mutation {
  createPayment(
    input: {
      fromCurrency: AUD
      toCurrency: USD
      size: 1000
      currency: AUD
      reason: BUSINESS
      sourceOfFunds: BUSINESS_FUNDS
      externalReference: "my ref 221c"
      subClientId: "6092360bf40f2dgc52f85cf1"
      recipientId: "5ba89a6b35a2b327b81ffc3b"
      externalId: "12344321"
      idempotencyKey: "12344321"
    }
  ) {
    success
    code
    message
    payment {
      id
      status
      size
    }
  }
}

If your company is the ultimate sender for an FX payment, you can skip both the senderId and subClientId. In this situation, we will use your company’s Flash account as the sender for the payment. Please note that a new sender record will not be created in this case.

Please execute the following createPayment mutation to use your company's Flash account details as sender.

mutation {
  createPayment(
    input: {
      fromCurrency: AUD
      toCurrency: EUR
      size: 1000
      currency: AUD
      reason: BUSINESS
      sourceOfFunds: BUSINESS_FUNDS
      externalReference: "my ref 234"
      recipientId: "67d7d75ab8db0fdfccfb16b2"
      externalId: "0123443210"
      idempotencyKey: "0000012344321000"
    }
  ) {
    success
    code
    message
    payment {
      id
      status
      size
      sender {
         firstName
         lastName
         companyName
      }
    }
  }
}

Callback (aka Webhook) URI

We recommend against continuous polling for payment status changes. Instead, please use callbackUri.

The optional callbackUri will be invoked several times during the processing of a payment. These callbacks will usually occur soon (within several seconds) after the initial create payment call - but may be delayed in some cases. The example JSON payloads can be found on the Webhooks page.

Please note that toAmount (or fromAmount) and other fluctuating payment properties can change during payment execution.

Last updated

Was this helpful?