Comment on page
Payment form with fixed amount
The deposits report is implemented by means of webhooks.
Set the Webhook URL in the menu Merchant\Classic processing\WebhookURL to receive a callback about payment status. Required https (TLS/SSL)
Webhook password - password required to verify the payment signature
Webhook URL - the address in the system from which the payment is made. This address will be used to send updates on the status of payments:
Request method: POST
Response Type: JSON
Parameters:
Name | Description | Type |
---|---|---|
PaymentId | Transaction ID in the 0Xprocessing system | Integer |
MerchantId | Merchant ID in 0Xprocessing system | String |
ShopId | Merchant ID in 0Xprocessing system | String |
Amount | Payment amount in cryptocurrency | Double |
AmountUSD | Payment amount in USD equivalent | Double |
TotalAmount | Full amount received in the cryptocurrency without fee | Double |
TotalAmountUSD | Full amount received in USD equivalent without fee | Double |
Currency | Payment currency | String |
Email | Payer's e-mail | String |
Status | Payment status Possible values are: Success - payment has been executed successfully. Canceled - payment has been cancelled. The amount has been credited to the wallet indicated on the payment form after the payment window is closed (payment window 30 min). The amount has not been transferred to the wallet specified in the payment form. Insufficient - payment is underpaid. The time of the payment window has expired and the payment has not been executed completely, in this case the callback will contain AmountUSD and Amount corresponding to the real amount of received funds). If the deposit amount is less than the minimum amount, the payment is assigned the status "Insufficient". You will not be able to confirm the payment data without an additional payment. | String |
BillingID | Unique payment identifier in the system from which the payment is made | String |
Signature | Checksum to verify the authenticity of the request (to ensure that the request came from 0Xprocessing) | String |
Insufficient | If "Confirm insufficient" is set in the Merchant settings then after the end of the payment validity period (window), the insufficient payments will be automatically confirmed as successfully made. Or Merchant can confirm it manually in Confirmations menu. You will receive a second callback with Success status and insufficient=true flag, which will transfer information about the (underpaid) amount actually received. You need to process this callback on the payment generation side and change the originally generated payment in accordance with the actual funds received | Boolean |
Test | It indicates whether the payment has been marked as a test payment. Test payments are not intended for real funds turnover and are not displayed in the merchant account. Do not credit funds on callbacks with the parameter test=true | Boolean |
ClientId | Unique client ID in your system | String |
TxHashes | Successful transaction hash | String |
Signature check:
1. A string of the following form must be generated: "PaymentId":"MerchantID":"Email":"Currency":"Password" (WebhookURL link password)
Without quotation marks through a colon. Example: 12345:Qtfxhgy43:[email protected]:USDT (ERC20):qwerty
2. Encrypt the resulting string using the MD5 algorithm
3. Compare the resulting string with the one that came through Webhook
"Signature":"a5510c8c3e657ffd8229813749cd20ec"
4. If the strings are the same, return HTTP Status 200 (Required)
If the callback is not delivered successfully, the system repeats at 31 times with an interval of 15 seconds. If the webhook still fails to be delivered, the system sends a notification to the merchant's account email indicating a problem with the WebhookURL.
Example Webhook JSON:
1
{
2
"PaymentId":10453,
3
"MerchantId":"Asv0232SSd",
4
"Amount":0.00264765,
5
"TotalAmount":0.00264765,
6
"Currency":"BTC",
7
"Email":"[email protected]",
8
"Status":"Success",
9
"Signature":"a5510c8c3e657ffd8229813749cd20ec",
10
"BillingID":"13304",
11
"AmountUSD":115.0,
12
"TotalAmountUSD":115.0,
13
"Insufficient":false,
14
"Test":false,
15
"ClientId": "1000",
16
"TxHashes":["0e61e33a0c02204c41ac210c2fcffda4bea4399792acc49479aa8374465ef63a"]
17
}
When processing callbacks, you MUST use the PaymentId parameter from the callback 0xProcessing as an additional validation factor.
Last modified 3d ago