Skip to main content
POST
Create Transaction
Initiates a new transaction where the sender and recipient have already been onboarded. Both must have active customer profiles.

Request Headers

string
required
JWT Access Token of the authenticated user.
string
required
A unique key for this transaction submission. If the same key is sent twice, the second request returns the result of the first rather than creating a duplicate transaction. Use a UUID or a unique reference from your system.
string
required
IP address of the device initiating the transaction.
string
default:"fincode"
required
Platform identifier. Use fincode.
string
default:"200"
required
Unique request identifier.
string
Customer’s transaction password (if required by your pay centre configuration).

Request Body

number
required
The amount the recipient will receive, in the receiving currency.
number
required
The amount the sender pays, in the sending currency.
boolean
required
Whether fees are included in sendAmount. Set to true if the sender pays a fixed amount inclusive of all fees; false if fees are added on top.
string
required
ISO 4217 currency code the sender is paying in (e.g. GBP).
string
required
ISO 4217 currency code the recipient will receive (e.g. NGN).
string
required
Transaction / delivery method. Common values:
string
required
Processing mode. Use REAL_TIME for immediate processing or BATCH for scheduled processing.
string
required
Customer code of the sender (returned from find-customer-by-name-or-phone-no or register-customer).
string
required
Customer code of the recipient/beneficiary (returned from new-beneficiary).
array
required
Key-value pairs for the recipient’s bank/account details. See the Add Bank Details key reference for the full list of valid keys. All keys must be lowercase.
object
required
Regulatory and routing information for the transfer.
string
Security question for cash pickup transactions. Required when type is CASH_PICKUP.
string
Answer to the security question. Required when type is CASH_PICKUP.
string
Your own reference for this transaction. Optional — the platform generates one if not provided.
object
Additional dynamic fields specific to your configuration. Pass an empty object {} if not applicable.
array
List of documents attached to this transaction (for transactions requiring document verification). Pass an empty array [] if none.

Code Example

cURL

Headers

platform
string
default:fincode
required
uuid
string
default:200
required
X-Auth-Token
string
required
password
string
required
ipAddress
string
required
X-Idempotency-Key
string
required

Body

application/json
amount
string
required
sendAmount
string
required
inclussive
boolean
required
receivingCurrency
string
default:NGN
required
sendCurrency
string
default:GBP
required
type
string
default:ACCOUNTPAYMENT
required
preExistingSenderCustomerCode
string
required
preExistingRecipientCustomerCode
string
required
creditParty
object[]
required
internationalTransferInformation
object
required
transactionProcessingMode
string
default:NONE_AGGREGATION
descriptionText
string
transactionModule
string
default:REMITTANCE

Response

200

Transaction created