YabandPay Payment Gateway Integration Guide

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.


:globe_showing_europe_africa: 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.

:wrench: Setup Requirements

Before starting, ensure you have:

  • Your User and secret key provided by YabandPay.

:blue_book: 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&currency=EUR&description=YabandPay test&method=v3.CreatePayments&notify_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": ""
}

:link: 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, and Webhook 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&notify_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.

3 Likes