🇺🇸
ReelPay Payment
  • REELPAY - FOR MERCHANT
    • What is ReelPay
    • ReelPay API Introduction
    • Contact Us
  • ReelPay - FOR DEVELOPER
    • To Get Started
      • Signature
      • API Specification Common Rules
  • Payment API
    • Hosted Checkout Page Integration
    • Native Checkout Integration
    • API Interface
    • Webhook Notification
  • SDK Instruction
  • Error Code
  • CHANGES
    • Change Record
  • REELPAY POLICY
    • ReelPay Privacy Policy
    • Disclaimer for Purchasers
    • Terms of Use
    • AML/CTF Policy
Powered by GitBook
On this page
  • Step 1: Create Payment Order
  • Submit payment order and receive payment address
  • Request Body Example
  • Step 2: Configure Webhook to receive payout notification
  • Webhook notification
  • Example
  1. Payment API

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

Name
Type
Description

X-Sign*

String

X-Timestamp*

String

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

X-Appid*

String

content-type*

String

application/json

Request Body

Name
Type
Description

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

Name
Value
Required
Type
Description

X-Appid

el9q0mzllpjhducy

Y

String

X-Timestamp

1677152490

Y

String

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

X-Sign

e0b78d93fd702aa31b07d5488cd85b4b7176d01c4ec45fd8bfaef0d1081a5ead

Y

String

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

Name
Value
Required
Type
Description

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

Response (Fail 200)

{
	"code": 10003,
	"message": "Parameter error",
	"data": null
}
Name
Value
Required
Type
Description

code

10003

Number

msg

Service error, please try again

String

data

Object

As a security measure, we will sign the returned data (and according to this only { code: 200 } should be signed, but it's signing all the returned body.). Additionally, it will return Appid, Sign, Timestamp in the header of the response. The signature method hmacSHA256 (body (json string)+timestamp+appKey).

Please use the data with caution if the signature verification fails. It indicates that the data has been tampered with.

Request Body Example

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

The body of HTTP is a json string .

Add the content in body of HTTP to the signature. Ensure the body content matches the signature content. As soon as ReelPay receives the request, the body content will be read and the signature will be verified.

Step 2: Configure Webhook to receive payout notification

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:

Webhook notification

Name
Value
Required
Type
Description

X-Appid

eqrbntqbi5uqvkpr

Y

string

X-Timestamp

1690368283

Y

string

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

X-Sign

e0c6a719ebc366da0340c1b450026a903a55c86ed5fbe0b586cd73f6be74ade6

Y

string

hmacSHA256 (body (json string)+timestamp+appKey)

X-EventType

Paid

Y

string

```json
{
   "trade_no": "uGHT9KRRvLIl4WW8JAaTWmETf3mz8D60",
   "appid": "eqrbntqbi5uqvkpr",
   "out_trade_no": "202307250001",
   "amount": "1.2",
   "status": "PAID",
   "success_time": 1690369680
 }
```
Name
Type
Description

trade_no

string

Transaction ID

appid

string

Merchant APPID

out_trade_no

string

Merchant Order ID

amount

string

Transaction Amount

status

string

Transaction Status

success_time

string

Transaction Time

Return Appid, Sign, Timestamp in the header of the response. The signature method hmacSHA256 (body (json string)+timestamp+appKey).

Please use the data with caution if the signature verification fails. It indicates that the data has been tampered with.

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

PreviousHosted Checkout Page IntegrationNextAPI Interface

Last updated 1 year ago

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

Merchant's unique credential. Find it on the .

.

Merchant's unique credential. Find it on the .

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

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

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

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

Merchant's unique credential. Find it on the .

AppManage page
Signature
Signature guide
AppManage page
AppManage page
Signature guide
AppManage page
AppManage
Currency ID
events
Transaction Status Code