Swap Order
This endpoint is called when a customer wants to make either a fiat-fiat or crypto-crypto swap for currencies.
It is an POST
endpoint that takes your publicKey
as a required parameter in the header and the body should contain properties like the customer's email, phone number, customer deposit, and receipt methods, etc.
A boolean property called deferPaymentMethod
is added to the request body which can be set to true to delay providing your users' payment methods to initiate any of the order endpoints. It can also be set to false if you intend to provide the details and require a confirmation of the request immediately.
When deferPaymentMethod
is set to true, a call to Initiate Order Created With Deferred Payment Method should be made to complete the order initiation.
See the example below;
Initiates a swap order
POST
https://checkout-api-sandbox.xendbridge.com/api/ThirdPartyUI/Swap/Initiate
Headers
publicKey*
string
{publicKey}
Request Body
emailAddress*
string
annadoe@gmail.com
phoneNumber*
string
07064366723
userName*
string
annadoe
payInCurrencyCode*
string
BUSD
payInCurrencyNetwork*
string
BEP-20
receiveInCurrencyCode*
string
NGN
receiveInCurrencyNetwork*
string
LOCAL
orderAmount*
double
50
consumerDepositMethod*
Object
paymentMethod*
string
Crypto
paymentData*
Object
walletAddress*
string
0x52434Ac4BE04393e020c9b16C327d04d4367Cbcd
network*
string
BEP-20
consumerReceiptMethod*
Object
paymentMethod*
string
Crypto
paymentData*
Object
walletAddress*
string
0x52434Ac4BE04393e020c9b16C327d04d4367Cbcd
network*
string
POLYGON
deferPaymentMethod*
bool
false
If deferPaymentMethod
is set to true, you can provide the minimum payload below which starts the order initiation process and returns the checkoutUrl .
emailAddress
string
Required
This is the consumer's email address.
phoneNumber
string
Required
This is the consumer's phone number.
userName
string
Required
This is the consumer's username
payInCurrencyCode
enum
Required
This is the currency code to pay with. Must be BUSD
for sell order.
receiveInCurrencyCode
enum
Required
This is the currency code to receive the currency in. Must be NGN
for buy order.
orderAmount
decimal
Required
The order amount by the consumer.
consumerDepositMethod
object
Required
This holds the properties of the deposit method of the consumer.
paymentMethod
enum
Required
The payment method by which transactions are made. It should be CRYPTO
for sell order.
paymentData
object
Required
This holds the properties of the wallet details of the consumer.
walletAddress
string
Required
The crypto wallet address of the consumer.
network
enum
Required
This is the network on which the address is on. It could be BEP20
, ERC20
or POLYGON
.
consumerReceiptMethod
object
Required
This holds the properties of the consumer receiving method. The paymentMethod
prop must be Bank
.
paymentData
object
Required
This holds the properties of the consumer receiving bank account details.
accountName
string
Required
This is the account name of the consumer.
accountNumber
string
Required
The local bank account number of the consumer
bankName
string
Required
This is the bank name of the consumer.
Last updated