Create Order

Introduction

Generate an order through this interface, we would return the web url, and the user pay at front end.

MUST Keep the orderNo from response, it is uniquely identifies for order query.

API Description

Request Method: POST

Request Path: open/api/payment/V2

Request Parameters

Body Parameters

ParameterSignMandatoryTypeLengthRemarks
appIdYYstring64AppId is uniqle for merchant
signNYstring256Sign
merchantOrderNoYYstring64Customer transaction ID, only number
orderAmountYYstring64Order amount (amount unit: dollar)
payCurrencyYYstring64Currency of payment
(e.g.: EUR)
userIdYYstring128UserId is uniqle for user (email / phone number)
paymentTokensYNstring1281. Specify payment token, multiple tokens can be transferred
2. After transfer, users can only use the listed tokens for payment
3. Must be included in the merchant configuration token table
4. Will work on both coin payment and exchange
Check on supported token list
redirectURLNNstring512The redirection address after the successful purchase
callbackURLNNstring512The address receiving order webhook
customParamNNstring512Merchant custom parameters
expiredTimeNNstring32Time of expire (no more than 172800 second)
Example:if the order expires in 1 hour, please upload 3600.
payTypeNNstring32Type of payment
Check on Payment Methods
paymentNetworksNNstring32Specify payment network(separated by comma)
Check on supported token list
paymentExchangeYNstring512Exchange Code and Wallet Code
Payment method require configuration exchange method/ wallet method.
Specify the exchange/ wallet, multiple transfers are acceptable. Users can only use the specified exchange/wallet to pay under the exchange payment/wallet payment method by sending this parameter.
orderModelNNstring32Order mode (ORDER/RECHARGE) capital letter required

ORDER: order mode order would related to order amount strictly, order fails when user payment amount lower than order amount.
RECHARGE: recharge mode order would count as success when received user token.And mark the payment amount as final result.

Payment Methods

Payment MethodPayment Method Code
QR Code PaymentWALLET
Binance PayBINANCE_PAY
ExchangeEXCHANGE
Wallet PaymentWALLET_PAY

Exchange Codes

ExchangeCode
Kraken16f021b0-f220-4bbb-aa3b-82d423301957
Paxos2fdd678d-8ece-49f5-992c-a1d7c4367833
Bybit3b8d8911-b2c0-4c1a-9127-675653c21960
Coinbase47624467-e52e-4938-a41a-7926b6c27acf
Robinhood6e192ebb-a073-4055-bbd7-d644539c9a20
Binance9226e5c2-ebc3-4fdd-94f6-ed52cdce1420

Wallet Codes

WalletCode
Metamask34aeb688-decb-485f-9d80-b66466783394
Trust Wallet7f4307ea-58c6-4678-9eb2-fec205de5401
Coinbase Wallet6132432e-d59c-4555-9844-cea0ce600ba3
Uniswap Wallet58c89cae-b2ff-4176-85a3-1d1f7795cbe0
Blockchain Walletd22f63a1-50c0-4439-961c-870fc430c979
Bitcoin.com Walletf4b147b5-d166-4e6e-b4c1-e59d401cde11
Crypto.com Wallet Primee16f1dc8-7577-4170-a67f-5ebb266e410e
imToken7f523342-0bc6-4465-a035-bb4d2ed693ed
Rainbow8a60d227-2825-4158-b14b-3c8443a2b681

Supported payCurrency:

CurrencyRegularExample
USD2 non-zero decimal places after the decimal point100.12
EUR2 non-zero decimal places after the decimal point100.12
HKD2 non-zero decimal places after the decimal point100.12
IDRinteger1000
THBinteger1000
VNDinteger1000
Token Name(USDT)The token used for unit configured, 8 non-zero decimal places after the decimal point1.12345678

Request Parameter Example

{
    "appId": "TEST000001",
    "callbackURL": "https://90fc-111-10-154.ngrok-free.app/v1/xxxxx",
    "expiredTime": "60",
    "merchantOrderNo": "17236123450000",
    "orderAmount": "100",
    "orderModel": "ORDER",
    "payCurrency": "USD",
    "paymentTokens": "ETH",
    "redirectURL": "https://50xxxxx832.vicp.fun/platform/xxxxx",
    "sign": "07572BA8F945685E6BB57FC21FDE74E7217A015E00FD56176F3A500465817B33FAC086DA7887AC266BA8518960F0FE208DE1A8E105978B185A8D136DD0F6",
    "userId": "[email protected]"
}

Response Parameters

Body Parameters:

ParameterTypeDetails
successbooleanSuccess
errorbooleanError
codelongResponse code
msgstringResponse message
traceIdstringTrace id
modelobjectResponse details
checkout addressstringcheckout web address

Response Parameter Example

{
    "code": "0",
    "model": {
        "orderNo": "300217236173748123456",
        "webUrl": "https://crypto-payment.alchemypay.org?orderNum=30012345678923456"
    },
    "msg": "success",
    "traceId": "66bc505e9f97eafb6ca69d123471cb"
}