This guide helps you integrate YabandPay into your system for creating payments and processing refunds using various digital wallets like Google Pay, WeChat Pay, PayPal and Alipay.
Supported Regions
YabandPay primarily supports merchants operating in Europe, with a focus on processing payments in EUR and CNY currencies. It is ideal for businesses targeting international consumers who prefer digital wallets, especially those in China and Europe.
Setup Requirements
Before starting, ensure you have:
- Your User and secret key provided by YabandPay.
API Overview
API URL: https://mapi.yabandpay.com/Payments
Method: POST
POST data type: JSON
Request Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| user | String | The UID of cashier account | Required |
| sign | String | Signature | Required |
| method | String | v3.CreatePayments | Required |
| time | Long | Timestamp | Required |
Data Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| pay_method | String | online | Required |
| sub_pay_method | String | PayPal | Required |
| order_id | String | Order ID from Merchant | Required |
| amount | String | Format in cents: € 24.99 should be 24.99, the min amount is EUR 0.10 or CNY 1 | Required |
| currency | String | EUR | Required |
| description | String | Order description | Required |
| demo | String | Custom field | Optional |
| iDeal_email | String | Request email from customer | Optional |
| timeout | String | Value 0 means 1440 minutes | Optional |
| redirect_url | String | The redirect URL after payment is completed | Optional |
| notify_url | String | Asynchronous notification URL | Required |
Note: Data parameters and method vary based on the type of payment method you want to integrate. Check the official API documentation for complete details.
Signature
Lexicographical sequence and URL key-value format new string:
amount=0.1¤cy=EUR&description=YabandPay test&method=v3.CreatePayments¬ify_url=https://www.yabandpay.com&order_id=202506041018&pay_method=online&redirect_url=&sub_pay_method=PayPal&time=1546588959&timeout=0&user=016683
Use stringA and secret_key to get stringSign
Get Signature:
4e65042e51b045e4430a2fd9f13a4c0232d4a1bcca2a664191735b910b18e899
Example Request
{
"user": "016683",
"sign": "a1e558698ab3e1b1b221f8e8bf149e4128f82185052443286e14dbcf5c2f3c63",
"method": "v3.CreatePayments",
"time": 1546588959,
"data": {
"description": "YabandPay test",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "PayPal",
"order_id": "20250604888",
"amount": "0.1",
"currency": "EUR",
"redirect_url": "https://www.yabandpay.com",
"notify_url": "https://www.yabandpay.com/notify"
}
}
Example Response
{
"status": true,
"code": "200",
"data": {
"order_id": "20250604888",
"trade_id": "0de7b730-4495-0c22-109a-814261b136ed",
"amount": "0.10",
"currency": "EUR",
"url": "https://pay.yabandpay.com/pay_method/cGF5cGFs/MGRlN2I3MzAtNDQ5NS0wYzIyLTEwOWEtODE0MjYxYjEzNmVk",
"state": "processing"
},
"message": ""
}
Payment URL Handling
The url field in the API response is a hosted payment page link provided by YabandPay. Redirect your customer to this URL to let them complete the payment.
After a successful or failed attempt, the user will be redirected to the redirect_url you provided. YabandPay will also send an asynchronous status update to your notify_url.
PayPal Online
TIP
For the convenience of integration, PayPal is implemented in a managed manner. Merchants are required to register with PayPal. After completing the account registration, please submit the following parameters to YabandPay:
Client ID,Client Secret, andWebhook ID. YabandPay will securely manage the accounts, and the funds will flow directly to the corresponding accounts without passing through YabandPay.
Refund
For a period after a payment transaction has been completed and a refund is required by either the Payer or Merchant, the Merchant can refund the Payer via this API. After the YabandPay receives and verifies the refund request successfully, the Payer will be refunded with the request refund amount (less than or equal to the original payment amount) according to the refund rules.
Important Notes
- For any transaction completed more than one year prior, a refund is not supported
- A refund for a transaction can be processed in the form of multiple partial refunds. In this case, the original order number is required. The total refund amount cannot exceed the original payment amount
- Partial refund for one order should be less than 30 times
API Details
API URL: https://mapi.yabandpay.com/Payments
Method: POST
POST data type: JSON
Request Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| user | String | The UID of cashier account | Required |
| sign | String | Signature | Required |
| method | String | v3.CreateRefund | Required |
| time | Long | Timestamp | Required |
Data Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| trade_id | String | The trade_id from YabandPay | Required |
| m_refund_id | String | Merchant reference refund number | Optional |
| refund_amount | String | Merchant-defined refund amount, For example 1.99 | Required |
| refund_currency | String | Currency code, ISO 4217, e.g., EUR, CHF. It must be the same as the currency of the original transaction order | Required |
| refund_description | String | Refund description | Required |
| notify_url | String | Asynchronous notification URL | Optional |
Signature
Lexicographical sequence and URL key-value format new string:
m_refund_id=20240304094405131317&method=v3.CreateRefund¬ify_url=https://www.yabandpay.com&refund_amount=0.1&refund_currency=EUR&refund_description=test&time=1546588959&trade_id=5feb401d-d9a4-776f-211f-882b60f14d9d&user=016683
Use stringA and secret_key to get stringSign
Get Signature:
5050194672112e5c720f6d4265f30b001f5bab11b24c2675b56056915f92a608
Example Request
{
"user": "016683",
"sign": "5050194672112e5c720f6d4265f30b001f5bab11b24c2675b56056915f92a608",
"method": "v3.CreateRefund",
"time": 1546588959,
"data": {
"trade_id": "5feb401d-d9a4-776f-211f-882b60f14d9d",
"m_refund_id": "20240304094405131317",
"refund_amount": "0.1",
"refund_currency": "EUR",
"refund_description": "test",
"notify_url": "https://www.yabandpay.com/notify"
}
}
Example Response
{
"status": true,
"code": "200",
"data": {
"trade_id": "5feb401d-d9a4-776f-211f-882b60f14d9d",
"refund_id": "3841510a-4d18-4a61-808d-431a45006de2",
"m_refund_id": "20240304094405131317",
"refund_amount": "0.10",
"refund_currency": "EUR",
"state": "refund processing"
},
"message": ""
}
The updates of the payment you will receive through webhook that you mentioned through notify_url while sending post request.
References
For complete API documentation, visit the official YabandPay API documentation.