Native Checkout Integration

Users can scan the QR code or copy the address on the checkout page built on your sites/apps to make the payments.

Integrate with Native Checkout API to build the checkout page for your sites/apps. Users pay in your sites/apps. No need to lead them to external pages. Take complete control of your users' checkout experience.

Step 1: Create Payment Order

Submit payment order and receive payment address

POST https://pay.reelpay.com/v1/transactions/pay

Return receiving address/QR code and order information

Headers

NameTypeDescription

X-Sign*

String

hmacSHA256 (body (json string)+timestamp+appKey). Signature guide.

X-Timestamp*

String

Timestamp in seconds (10-digit). The request is valid for two minutes.

X-Appid*

String

Merchant's unique credential. Find it on the AppManage page.

content-type*

String

application/json

Request Body

NameTypeDescription

out_trade_no*

String

Order ID in Merchant's system. A unique ID for every order

currency_id*

String

fiat_name*

String

Fiat name (USD)

fiat_amount*

String

Fiat amount (1.2)

Response (Success 200)

Header

NameValueRequiredTypeDescription

X-Appid

el9q0mzllpjhducy

Y

String

Merchant's unique credential. Find it on the AppManage page.

X-Timestamp

1677152490

Y

String

Timestamp in seconds (10-digit). The request is valid for two minutes.

X-Sign

e0b78d93fd702aa31b07d5488cd85b4b7176d01c4ec45fd8bfaef0d1081a5ead

Y

String

hmacSHA256 (body (json string)+timestamp+appKey). Signature guide.

Body

{
        "code": 200,
        "message": "success",
        "data": {
                "trade_no": "uz54NEW9TVhLSIDHUSYB4aEFupKoE7I8",
                "pay_address": "0x988519e9ba1c147ff687f4b59009d7573c49efed",
                "time_expire": 1673264871,
                "amount": "0.00007971",
                "chain": "Ethereum",
                "token": "ETH",
                "contract": "ETH",
                "decimal": 18
        }
}

Parameters

NameValueRequired TypeDescription

code

200

Integer

message

success

String

data

Object

data.trade_no

uz54NEW9TVhLSIDHUSYB4aEFupKoE7I8

String

ReelPay order ID

data.pay_address

0x988519e9ba1c147ff687f4b59009d7573c49efed

String

The temporary payment address for current order,only effectivewithin the order validity period.

data.time_expire

1673264871

String

Payment deadline

data.amount

0.00007971

String

The number of tokens that need to be paid

data.chain

Ethereum

String

Chain Name

data.token

ETH

String

Token symbol

data.contract

ETH

String

Token Contract address

data.decimal

18

String

Token decimal

Request Body Example

{
  "out_trade_no": "uz54NEW9TVhLSIDHUSYB4aEFupKoE7I8",
  "currency_id": "ZxkanKiq9w2skt7e9CSR4oUX2q9F23LB",
  "fiat_name": "USD",
  "fiat_amount": "1.2"
}

Step 2: Configure Webhook to receive payout notification

Configure Webhook to receive notifications. ReelPay will notify merchant of the final transaction results. You can configure the Webhook URL on the AppManage page

Transactions will start a request to the callback interface set by the merchant when involving the following events:

PAID

Paid

TIME-OUT

Transaction timeout

CLOSE

Transaction closed

REFUND-IN-PROGRESS

Refunding

REFUNDED

Refunded

ABNORMAL

Abnormal transaction

CHAIN-CONFIRMATION-FAILED

Chain confirmation failed

Callback Frequency: 5s、15s、30s、3m、10m、20m、30m、30m、30m、60m、3h、3h、3h、6h、6h

Total: 24h3m50s

Callback Form:

  • The callback content is still encrypted.「For more information see the Signature

Webhook notification

Merchants sign to ensure information safety. Once the merchant has processed the order, please return "Success" in the body of the HTTP response if the processing has been successful. If the process fails, ReelPay will attempt to send the order again and the Webhook will retry up to 15 times ( Callback Frequency: 5s、15s、30s、3m、10m、20m、30m、30m、30m、60m、3h、3h、3h、6h、6h, Total: 24h3m50s ).

Example

Last updated