Submit Receive Request

Submit a receive request. This will lock in a rate and await approval.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

⚠️

Updated Terminology

Collections are now called Receives. These /receive endpoints replace the legacy /collections endpoints. The functionality remains identical, only the terminology has changed. Legacy collections endpoints are deprecated but will continue to work. We recommend migrating to these new /receive endpoints for future compatibility.

📘

Amount in USD or local currency

The amount field and the localAmount field are interchangeable in the request body. Either one is required, but not both. Specifying the USD amount will then calculate an amount in local currency based on the partner rates, while specifying a localAmount in the local currency will fix this amount for the user while calculating the USD amount from the rates. The convertedAmount in the response body indicates the amount in local currency that has either been fixed or calculated.

🚧

Ten minutes expiry

Receive requests have ten minutes to be accepted or will automatically mark itself as expired.

📘

Force Accept

Setting forceAccept field to true allows you to skip the accept receive request and your collection would start processing once you submit collection request.

Note: You should expect the bankInfo object for bank channel type if forceAccept is true, Also keep in mind force accept for bank channel type adds a bit more latency to your submit receive request.

When the channel selected requires a redirect for the receive to be made and the forceAccept value is set to true, then the redirectUrl field is required and the request will fail if it is not provided.

Note: the redirectUrlhas to be a valid url with the http:// or https:// scheme included.

📘

Channel Note

You can now use channelType as an alternative to specifying a channelId in your Submit Receive API request.

When using channelType you're required to pass the country and currency in the send request

When you provide a channelType, country and currency the system will automatically select an appropriate active channel for your transaction.

Available Channel Types:

  • momo
  • bank (P2P and EFT channel types should be passed in as bank)

Body Params
string
required

The identifier of the specific channel to execute payment through

string
required

Represents a unique id for the transaction from your end

int32

Amount in USD to transact

int32

The amount in local currency to transact

recipient
object

Recipient's KYC details

source
object

Source account details

boolean
Defaults to false

Specify whether or not you want to skip the accept collection step

string
enum
required
Defaults to retail

Determines the type of validation that is performed on the recipient. If value is institution, the recipient request object will be validated to ensure it includes businessName and businessId parameter. If the value is retail, the recipient request object will be validated to ensure it includes name, phone, email, country, address, dob, idNumber and idType

Allowed:
string

This is used to determine where the customer is redirected to after a transaction is initiated for channels that require redirect. This param is required if the selected channel requires redirect and forceAccept is set to true.

string
required

Unique identifier for the customer

string

Country ISO 3166 code e.g. NG, KE, CI. This field is only required when using channelType

string

Currency code e.g. NGN, KES, XAF, XOF. This field is only required when using channelType

string
enum
Allowed:
boolean
Defaults to false
settlementInfo
object

Only required when directSettlement is true

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json