alipay.acquire.overseas.spot.pay
Call this interface to issue a payment request. After receiving the payment request, Alipay validates the request first, and then deducts money automatically from the payer account that is identified by the buyer_identity_code
field.
Request
Service address
Environment | HTTPS request URL |
Production environment | Priority: https://globalmapi.alipay.com/gateway.do |
Test environment |
Request parameters
Parameter | Description |
Basic parameter | |
service String | Interface name
|
sign String | Sign value
|
sign_type String | Sign type. RSA, RSA2 and MD5 are supported. Use uppercase.
|
partner String | The partner ID that is assigned by Alipay to identify an Alipay account. The partner ID is composed of 16 digits and begins with 2088.
|
_input_charset String | The charset with which the request data are encoded. UTF-8, GBK, and GB2312 are supported.
|
notify_url URL (200) | The URL for receiving asynchronous notifications after the payment is completed. Note: To make sure that the payment result can be fetched immediately, use the QUERY interface to query the payment result if asynchronous notification is not received.
|
Business parameter | |
alipay_seller_id String | Alipay seller ID, with the same value of partner ID.
|
quantity Number | The quantity of goods
|
trans_name String(256) | The name of the transaction, which is to be shown in the transaction record list.
|
partner_trans_id String(64) | The unique transaction ID assigned by the partner in the partner system, can be a sale order ID or a payment order ID.
|
trans_currency String(8) | The pricing currency used for labelling the price of the transaction. Using this parameter, merchants can specify their transaction currency. Note: Currently, the parameter's values are MOP, TWD, and CNY. Please contact your BD for the usage of this parameter.
|
currency String(8) | The settlement currency that Alipay settles to the partner. When the trans_currency parameter is not specified, the pricing currency and settlement currency would be the same. Use upper case. For more information about supported currencies, see Supported Currencies.
|
trans_amount Number(11,2) | The transaction amount in the pricing currency. The value is in the range of 0.01 - 100000000.00 and with two decimal places.
|
buyer_identity_code String(32) | A dynamic code with 16 - 24 digits, used to identify Alipay users. This code starts with 25, 26, 27, 28, 29, or 30, and must be read from Alipay wallet of the user in real time.
|
identity_code_type String(16) | Identity code type. The value is barcode.
|
trans_create_time String(30) | The time that the partner system creates the transaction, which is in a format of yyyyMMddHHmmss.SSS±timezone.
|
memo String(256) | Transaction notes
|
biz_product String(256) | Product name, with a value of OVERSEAS_MBARCODE_PAY
|
extend_info String(512) | Extended information, which contains extended parameters and merchant business information. For more details, see extend_info.
|
trade_information String(6000) | Information about the trade industry. See trade_information for details.
|
extend_info
Parameter | Description |
secondary_merchant_id String(64) | The unique ID assigned by the partner to identify a secondary merchant. The ID can contain letters, numbers, and underscores.
|
secondary_merchant_name String(128) | Registration legal name of the secondary merchant, shown in the Alipay Wallet and the reconciliation file to identify a secondary merchant.
|
secondary_merchant_industry String(4) | Industry classification identifier of the secondary merchant, which is assigned by Alipay. For more information about the MCC code, see MCC list.
|
store_name String | Store name. Can be null only when the store information is verified.
|
store_id String(64) | The unique ID that is assigned by the partner to identify the store of a merchant, which can contain letters, numbers, and underscores.
|
terminal_id String | Terminal ID
|
sys_service_provider_id String(32) | System service provider ID, which is used to identify the payment system provider.
|
terminal_create_time String (30) | The time when the transaction is created on terminal. Format: yyyyMMddHHmmss.SSS±timezone
|
last_payment_info String | Information about the previous one payment. The information includes alipay_trans_id and the time when the merchant receives the response from Alipay, which are separated by a vertical bar (|).
|
trade_information
Parameter | Description |
business_type String | Business type. 5 types are supported: 1: Hotel 2: AIR 3: Overseas study consulting 4: Sales of goods 5: Others, including all the other business types that do not fall into the above 4 categories. For example, mobile data service recharge, airport pick up service, etc. If more than one type is involved, separate type values with vertical bar (|).
|
hotel_name String | Hotel name that consists of numbers, letters, spaces, and special characters including ,.<>()[]/\-,. If more than one hotel name exists, separate values with vertical bar (|). Specify this field only when business_type is 1 (Hotel).
|
check_in_time Date | Check-in time. Format: yyyy-MM-dd. Timezone: GMT +8. Specify this field only when business_type is 1 (Hotel).
|
check_out_time Date | Check-out time. Format: yyyy-MM-dd. Timezone: GMT +8. Specify this field only when business_type is 1 (Hotel).
|
flight_number String | Flight number. If flight transfer exists, separate flight numbers with vertical bar (|). Specify this field only when business_type is 2 (AIR).
|
departure_time Date | Departure time. Format: yyyy-MM-dd HH:mm Timezone: GMT +8. If flight transfer exists, separate time values with vertical bar (|). Specify this field only when business_type is 2 (AIR).
|
admission_notice_url String | If business_type is 3 (Overseas study consulting), the URL of admission notice (image) must be specified.
|
goods_info String | Goods information that includes SKU names and corresponding quantities, in the format of SKU_name^quantity. If more than one goods exists, separate values with vertical bar (|). Specify this field only when business_type is 4 (Sales of goods).
|
total_quantity Number | Total quantities of all goods in one order. Specify this field only when business_type is 4 (Sales of goods).
|
other_business_type String | If business_type is 5 (Others), specify the business type in details.
|
Note:
The decimal place accuracy of amounts, such as the values of trans_amount
, depends on the value of currency
. If the value of currency
isJPY
, then the amount must be an integer. For example, 100 JPY. For other currencies, the amount is of two decimal place accuracy. For example, 100.00 USD. Amounts in other formats will cause error, for example, 100.999 USD.
Response
Synchronous response
Parameters accepted by Alipay gateway:
Parameter | Description |
is_success String(1) | Status of the API call, used to indicate whether the request is accepted by Alipay gateway. T: accepted F: rejected
|
sign_type String | Sign type. RSA, RSA2 and MD5 are supported. Use uppercase. Note:This field is not returned if the error code is ILLEGAL_SIGN.
|
sign String(32) | Sign value. Note: This field is not returned if the error code is ILLEGAL_SIGN.
|
result_code String(32) | Processing result of the request, with a value of SUCCESS, FAILED, or UNKNOW. SUCCESS: The payment succeeds. FAILED: The payment is failed. When the value is FAIL, merchants can show the corresponding failure result to the cashier. UNKNOW: The payment result is unknown. For transactions in the offline mode, merchants must cancel the transaction immediately. For transactions in the offline to online mode, the partner system is suggested to query the transaction status with a certain frequency until a clear status is returned, or the merchant can cancel the transaction after a certain time.
|
error String(48) | Error code that is returned when the request is unsuccessful. This field is returned only when the result_code is FAILED or UNKNOW. For more information, see the Error Code section in this document.
|
alipay_buyer_login_id String(64) | Alipay login ID of the buyer, which can be an email address or mobile number. The ID is partially masked for privacy.
|
alipay_buyer_user_id String(16) | The unique ID for each Alipay account, which starts with 2088.
|
partner_trans_id String(64) | Equal to the partner_trans_id given in the request
|
alipay_trans_id String(64) | The transaction ID assigned by Alipay for the partner's payment request, which follows a mapping relation with the partner field plus the partner_trans_id field.
|
alipay_pay_time String(16) | The time that the transaction was paid, which is in a format of yyyyMMddHHmmss.
|
trans_currency String(8) | The pricing currency used for labelling the price of the transaction
|
currency String(8) | The settlement currency that Alipay settles to the partner
|
trans_amount Number(11,2) | The transaction amount in the pricing currency. The value of this parameter is in the range of 0.01 - 100000000.00 and with two decimal places.
|
exchange_rate Number(8,6) | The exchange rate between the currency given in the request to CNY. The exchange occurs when the Alipay trade order is created.
|
trans_amount_cny Number(9,2) | The transaction amount in CNY. It is the exact amount that the buyer has paid.
|
m_discount_forex_amount Number(9,2) | If coupons or vouchers are used in the transaction, the discount amount redeemed in the settlement currency will be returned. Otherwise, no return.
|
Parameters rejected by Alipay gateway:
Parameter | Description |
is_success String(1) | Status of the API call, used to Indicate whether the request is accepted by Alipay gateway. T: accepted F: rejected
|
sign_type String | Sign type. RSA, RSA2 and MD5 are supported. Use uppercase.
|
sign String(32) | Sign value
|
error String(48) | Error code that is returned when the request is unsuccessful, to describe the request failure reason. For more information, see the Error Code section in this document.
|
Asynchronous response
Parameter | Description |
Basic parameter | |
notify_time Timestamp | The time when the notification is sent. The time format is yyyy-MM-dd HH:mm:ss
|
notify_type String | Notification type
|
notify_id String | Notification ID, used by the partner system to verify the notification
|
sign_type String | Sign type. RSA, RSA2 and MD5 are supported. Use uppercase.
|
sign String | Sign value
|
notify_action_type String | Notification action type. The value can be one of the following items:
|
Business parameter | |
out_trade_no String | Unique order ID in the order system in the corresponding merchant's website other than Alipay trade number. Uniqueness of this parameter in merchant's website shall be guaranteed. This is a parameter transmitted upon corresponding request, which shall be returned in its original shape.
|
subject String(256) | Brief description of the transaction.This parameter is in the first column of Alipay trade details and is important for account checking. This parameter is transmitted by the corresponding request and needs to be returned with its original value.
|
trade_no String(64) | The serial number assigned by Alipay to identify a trade in the Alipay system, with a length in the range 16 - 64 bits.
|
trade_status String | Transaction status. See Trade status for details.
|
gmt_create Date | The time when the trade transaction is created. Format: yyyy-MM-dd HH:mm:ss. Use GMT+8.
|
gmt_payment Date | The time when the payment is completed. Format: yyyy-MM-dd HH:mm:ss. Use GMT+8.
|
buyer_email String | Buyer's Alipay ID, which can be an email address or phone number.
|
seller_id String | Seller's unique Alipay user ID, consists of 16 digits and begins with 2088.
|
buyer_id String | Buyer's unique Alipay user ID, consists of 16 digits and begins with 2088.
|
price Number | Goods price in RMB. This parameter is transmitted by the corresponding request and needs to be returned with its original value. It is the corresponding parameter upon request, and will be returned back as it is if the currency is RMB. For a foreign currency, corresponding RMB amount will be calculated based on the exchange rate.
|
quantity Number | The quantity of goods. This parameter is transmitted by the corresponding request and needs to be returned with its original value.
|
total_fee Number(11,2) | Total amount of a transaction in RMB. It is the corresponding parameter upon request, and will be returned back as it is if the currency is RMB. For a foreign currency, corresponding RMB amount will be calculated based on the exchange rate.
|
body String | Detailed description about the goods. This parameter is transmitted by the corresponding request and needs to be returned with its original value.
|
refund_fee Number | The refund amount. The unit is Yuan.
|
paytools_pay_amount String | Payment amount information of all successful payments in various channels.
|
m_discount_forex_amount Number | If coupons/vouchers are used in the transaction, the discount amount redeemed in the settlement currency will be returned. Otherwise, no return.
|
Error codes
Error code | Description |
SYSTEM_ERROR | Alipay system is currently not available. Action: Call the alipay.acquire.overseas.query API to query the status of this payment. For more details, see Case 2. |
ILLEGAL_SIGN | Illegal signature Action: Use a correct signature and try again. |
INVALID_PARAMETER | Parameter error Action: Check the standard of each request parameter according to the API specification. You can log in to iSandbox and use iDiagnose to pinpoint the error. |
ILLEGAL_ARGUMENT | Parameter error Action: Check each request parameter according to the API specification. Contact Alipay technical support if this error persists. |
ILLEGAL_PARTNER | Incorrect partner ID Action: Ensure that the value of partner parameter matches the partner value provided by Alipay. Contact Alipay technical support if this error persists. |
ILLEGAL_EXTERFACE | Interface configure error Action: Ensure that the service parameters have same values with the one in API specification. Contact Alipay technical support if this error persists. |
ILLEGAL_PARTNER_EXTERFACE | The partner ID does not have access privilege Action: Ensure that your agreement with Alipay has been finalized. Contact Alipay technical support if needed. |
ILLEGAL_SIGN_TYPE | Illegal sign type Action: Ensure that the value of sign_type is among MD5, RSA and RSA2. Contact Alipay technical support if this error persists. |
HAS_NO_PRIVILEGE | Has no privilege Action: Contact Alipay technical support for more information. |
TRADE_BUYER_NOT_MATCH | The buyer doesn't match. Action: The merchant can ask the user to show or scan the last barcode that is used for the previous payment. Or the merchant can refresh the partner_trans_id to generate a new payment. If this error persists, contact Alipay technical support for help. |
TRADE_HAS_CLOSE | Corresponding trade is closed, and is not allowed for the current operation. Action: The merchant can send a new payment request. |
TRADE_STATUS_ERROR | Corresponding trade status is not allowed for the current operation. Action: The partner system needs to generate a new partner_trans_id request to Alipay. If a same error code is returned, use other payment method such as cash or the credit card. |
EXIST_FORBIDDEN_WORD | Entered forbidden words according to China law. Action: Partners need to check the content of the trans_name parameter. |
SELLER_NOT_EXIST | The entered value for the alipay_seller_id parameter is not correct. No corresponding account can be found. Action: Check whether the seller ID is correct |
BUYER_NOT_EXIST | The entered value for buyer_identity_code is not correct. No corresponding account can be found. Action: Ask the user to use other payment methods such as cash or the credit card |
BUYER_ENABLE_STATUS_FORBID | The entered buyer account is disabled due to security issues. Action: The user needs to complete the real-name validation accordingly. Users can contact Alipay CS hotline for help. Besides, Hong Kong and Macau residents or foreign residents are not supported. |
BUYER_SELLER_EQUAL | The entered buyer account is equal to the seller account. Action: Change user's Alipay account. |
CLIENT_VERSION_NOT_MATCH | Client version doesn't match. Action: Update the Alipay wallet to the latest version. |
SOUNDWAVE_PARSER_FAIL | Incorrect barcode Action: Ensure that users are using correct Alipay barcode or QR code. Besides, ask the cashier to check whether the scanner is handled correctly and make sure the cashier doesn't scan the user's barcode repeatedly. |
CONTEXT_INCONSISTENT | The trade information is inconsistent. Action: The merchant needs to check whether the request data are consistent with the previous one. |
PRODUCT_AMOUNT_LIMIT_ERROR | Product quota exceeds. Action: Contact Alipay technical support. |
BUYER_BALANCE_NOT_ENOUGH | Alipay account of the buyer does not have enough balance for current operation. Action: Cashier can ask the user to top-up the balance or bind a new bank card with sufficient fund. |
TOTAL_FEE_EXCEED | Trade amount exceeds the limitation. Action: The user needs to use the other payment method, such as cash or the credit card. |
BUYER_PAYMENT_AMOUNT_DAY_LIMIT_ERROR | Total trade amount of the buyer exceeds the maximum amount allowed for a buyer in one day. Action: The user needs to use the other payment method such as cash or the credit card. |
BUYER_PAYMENT_AMOUNT_MONTH_LIMIT_ERROR | Total trade amount of the buyer exceeds the maximum amount allowed for a buyer in one month. Action: The user needs to use the other payment method such as cash or the credit card. |
ERROR_BUYER_CERTIFY_LEVEL_LIMIT | Buyers failed to pass the PBOC (People's Bank of China) validation. Action: The user needs to complete the real-name validation. |
ERROR_SELLER_CERTIFY_LEVEL_LIMIT | The seller failed to pass the PBOC (People's Bank of China) validation. Action: Merchants need to supplement the business license and some other materials (low possibilities for overseas partners). |
PAYMENT_REQUEST_HAS_RISK | Current trade contains a risk detected by Alipay. Action: Users can contact Alipay CS window for help or use other payment method such as cash or the credit card. |
NO_PAYMENT_INSTRUMENTS_AVAILABLE | No available payment tool can be used for the current operation. Action: Ask the user to pay again. If the issue persists, ask the user to contact Alipay technical support for help. |
BUYER_BANKCARD_BALANCE_NOT_ENOUGH | Bank account of the buyer does not have enough balance for current operation. Action: Ask the user to top up his/her Alipay account or use another bank card to pay for the order again. |
PAYMENT_FAIL | The transaction is failed. Action: The partner can retry the payment with the same partner_trans_id. |
MOBILE_PAYMENT_SWITCH_OFF | The buyer switches off the mobile pay function, therefore, the operation cannot be performed. Action: Users need to access to www.alipay.com, go to [账户管理] - [支付宝钱包设置], and enable [支付宝钱包支付]. |
USER_FACE_PAYMENT_SWITCH_OFF | The buyer switches off the face-to-face payment function, therefore, the operation cannot be performed. Action: Ask the user to disable [付款码] at top right corner in his/her Alipay wallet, then switch it on again. |
ERROR_BALANCE_PAYMENT_DISABLE | The buyer switches off the balance payment function, therefore, the operation cannot be performed. Action: Users need to access to www.alipay.com, go to [账户管理] - [付款方式和额度], then switch on [账户支付功能]. |
EXCHANGE_AMOUNT_OR_CURRENCY_ERROR | The exchange amount or currency is not allowed for the current operation. Action: Merchants need to check whether the amount and the currency parameter are correct. |
ILLEGAL_SECURITY_PROFILE | Incorrect key profile. Action: Make sure you upload your public keys before calling APIs. |
ILLEGAL_EXTERFACE_FOR_CA_VERIFY | The interface is not allowed to use Certificate Verification Service. Action: Contact Alipay technical support for help. |
PULL_MOBILE_CASHIER_FAIL | Failed to call the mobile cashier. Action: Contact Alipay technical support for help. |
BEYOND_PAY_RESTRICTION | The payment limitation is exceeded. Action: Users need to use the other payment method such as cash or the credit card. |
NOT_SUPPORT_PAYMENT_INST | The Alipay Wallet version used by the buyer is not supported. Action: Contact Alipay technical support for help. |
INVALID_RECEIVE_ACCOUNT | The seller is not in the payee list. Action: Contact Alipay technical support for help. |
FORBIDDEN_MERCHANT_INDUSTRY | This transaction type is not allowed. Action: Check the value of secondary_merchant_industry and contact Alipay technical support if needed. |
ILLEGAL_MERCHANT_INDUSTRY | Illegal MCC format. Action: Make sure the value of secondary_merchant_industry is defined in the MCC list. |
CURRENCY_NOT_SUPPORT | The currency is not supported. Action: Check your agreement with Alipay. |
TRADE_TOTAL_FEE_ERROR | The total transaction fee is incorrect. Action: Check the values of amount related parameters. |
RESTRICTED_MERCHANT_INDUSTRY | The payment cannot exceed the certain amount in the industry. Action: Check your agreement with Alipay. |
ACCESS_FORBIDDEN | The merchant has no permission to use the product. Action: Check your agreement with Alipay. |
SECONDARY_MERCHANT_ID_BLANK | The secondary merchant ID is not provided to Alipay. Action: Send the secondary merchant ID to Alipay. |
SECONDARY_MERCHANT_ID_INVALID | The secondary merchant is not registered with Alipay. Action: Check whether the provided secondary merchant ID is correct and whether the secondary merchant is registered with Alipay. If the secondary merchant is not registered with Alipay, register the secondary merchant with Alipay immediately. |
STORE_NOT_MATCH | The secondary merchant is not registered with Alipay. Action: Check whether the provided store ID is correct and whether the secondary merchant is registered with Alipay. If the secondary merchant is not registered with Alipay, register the secondary merchant with Alipay immediately. |
SECONDARY_MERCHANT_STATUS_ERROR | The status of secondary merchant is abnormal in the Alipay system. Action: Contact Alipay Business Support by sending an email to global.service@alipay.com. |
Handling result
Case 1.
When the invocation is failed due to network issue or request timeout, and no response is returned from Alipay, take the following actions:
- Call the alipay.acquire.overseas.query interface to get the status of this payment.
- If the status is TRADE_SUCCESS, the order is paid successfully. No further action is needed.
- If the status is not TRADE_SUCCESS, call the alipay.acquire.cancel interface to cancel this transaction, and then start a new transaction.
Case 2.
If you received the response from Alipay with one of the following results:
- is_success=F and error=SYSTEM_ERROR
- is_success=T, result_code=FAIL, and error=SYSTEM_ERROR
- is_success=T and result_code=UNKNOW.
Take the following actions:
- Call alipay.acquire.overseas.query for the status of this payment
- If the status is TRADE_SUCCESS, the order is paid successfully.
- If the status is not TRADE_SUCCESS, call the alipay.acquire.cancel interface to cancel this transaction, and then start a new transaction.
Case 3.
If you received the response from Alipay with is_success=T and result_code=SUCCESS, the order is paid successfully.
Case 4.
If you received the response from Alipay with one of the following results, the merchant failed to cancel the order:
- is_success=F and error=SYSTEM_ERROR
- is_success=T and result_code=FAIL and detail_error_code=SYSTEM_ERROR
Your need to refer to the specific error code for further instructions.
Pseudo code
try{
if(isCase3){ //CASE 3
doSuccessProcess();
}
else if(isCase4){ //CASE 4
doFailureProcess();
}
else{ //CASE 2
isTradeSuccess = doQuery();
if(isTradeSuccess){
doSuccessProcess();
}
else{
doCancelThenStartNewTxnProcess();
}
}
}catch (Exception ex){ //CASE 1
isTradeSuccess = doQuery();
if(isTradeSuccess){
doSuccessProcess();
}
else{
doCancelThenStartNewTxnProcess();
}
}
Samples
Request
https://intlmapi.alipay.com/gateway.do?service=alipay.acquire.overseas.spot.pay&sign_type=MD5&partner=208xxxxxxxxx8155&_input_charset=UTF-8¤cy=USD&alipay_seller_id=208xxxxxxxxx8155&trans_name=IPhone%207%20Plus&partner_trans_id=partner_trans_id_20190904_000035&trans_amount=0.01&buyer_identity_code=282xxxxxxxxxxx0161&identity_code_type=barcode&biz_product=OVERSEAS_MBARCODE_PAY&extend_info=%7B%22secondary_merchant_id%22%3A%221314520%22%2C%22secondary_merchant_name%22%3A%22Mika's%20coffee%20shop%22%2C%22secondary_merchant_industry%22%3A%225499%22%2C%22store_name%22%3A%22Mika's%20coffee%20shop%22%2C%22store_id%22%3A%221993%22%7D&sign=a24bb9a1e7f0e0983841f0e5f9d05189
Response
Synchronous response
Request succeeds, and the business processing succeeds:
<alipay>
<is_success>T</is_success>
<request>
<param name="biz_product">OVERSEAS_MBARCODE_PAY</param>
<param name="_input_charset">UTF-8</param>
<param name="identity_code_type">barcode</param>
<param name="sign">a24bb9a1e7f0e0983841f0e5f9d05189</param>
<param name="alipay_seller_id">208xxxxxxxxx8155</param>
<param name="trans_name">IPhone 7 Plus</param>
<param name="trans_amount">0.01</param>
<param name="extend_info">
{"secondary_merchant_id":"1314520","secondary_merchant_name":"Mika's coffee shop","secondary_merchant_industry":"5499","store_name":"Mika's coffee shop","store_id":"1993"}
</param>
<param name="partner_trans_id">partner_trans_id_20190904_000035</param>
<param name="partner">208xxxxxxxxx8155</param>
<param name="service">alipay.acquire.overseas.spot.pay</param>
<param name="currency">USD</param>
<param name="sign_type">MD5</param>
<param name="buyer_identity_code">282xxxxxxxxxxx0161</param>
</request>
<response>
<alipay>
<alipay_buyer_login_id>186xxxx9365</alipay_buyer_login_id>
<alipay_buyer_mobile_no>186xxxx9365</alipay_buyer_mobile_no>
<alipay_buyer_user_id>208xxxxxxxxx6535</alipay_buyer_user_id>
<alipay_pay_time>201xxxxxxx3538</alipay_pay_time>
<alipay_trans_id>201xxxxxxxxxxxxxxxxxxxxx3264</alipay_trans_id>
<currency>USD</currency>
<exchange_rate>7.19750000</exchange_rate>
<forex_total_fee>0.01</forex_total_fee>
<partner_trans_id>partner_trans_id_20190904_000035</partner_trans_id>
<result_code>SUCCESS</result_code>
<trans_amount>0.01</trans_amount>
<trans_amount_cny>0.07</trans_amount_cny>
<trans_forex_rate>1</trans_forex_rate>
</alipay>
</response>
<sign>64c334190cc57f1d349298d9219fe24b</sign>
<sign_type>MD5</sign_type>
</alipay>
Request succeeds, but the business processing is failed:
<alipay>
<is_success>T</is_success>
<request>
<param name="trans_create_time">201xxxxxxx0200</param>
<param name="memo">alipay internal testing</param>
<param name="identity_code_type">barcode</param>
<param name="alipay_seller_id">208xxxxxxxxx5594</param>
<param name="trans_amount">1</param>
<param name="sign_type">MD5</param>
<param name="trans_name">iphone</param>
<param name="buyer_identity_code">145xxxxxxxxxxxxx5693</param>
<param name="partner_trans_id">test04</param>
<param name="password">SJV88po0XvIptqWGM4rxP5EQ</param>
<param name="sendFormat">normal</param>
<param name="sign">c99780c20d9f97b1a8fc2eb3f1506aa2</param>
<param name="_input_charset">UTF-8</param>
<param name="title">test title</param>
<param name="biz_product">OVERSEAS_MBARCODE_PAY</param>
<param name="service">alipay.acquire.overseas.spot.pay</param>
<param name="quantity">1</param>
<param name="partner">208xxxxxxxxx5594</param>
</request>
<response>
<alipay>
<error>INVALID_PARAMETER</error>
<result_code>FAILED</result_code>
</alipay>
</response>
<sign>1708693b8fc97390087aad556a9ba733</sign>
<sign_type>MD5</sign_type>
</alipay>
Request is failed or the accessed data are incorrect:
<?xml version="1.0" encoding="utf-8"?>
<alipay>
<is_success>F</is_success>
<error>ILLEGAL_SIGN</error>
</alipay>
Asynchronous response
https://www.mikascoffee.com/notify?
currency=USD
trade_no=2019120522001461120594234048
subject=123123
paytools_pay_amount=[{"BANKCARD":"0.07"}]
buyer_email=6******@qq.com
gmt_create=2019-12-05 15:18:44
notify_type=trade_status_sync
forex_rate=7.06910000
quantity=1
out_trade_no=partner_trans_id_20191205_151755
seller_id=2088021966388155
notify_time=2019-12-05 15:18:45
trade_status=TRADE_SUCCESS
total_fee=0.07
gmt_payment=2019-12-05 15:18:45
notify_action_type=payByAccountAction
price=0.07
buyer_id=2088812485361127
notify_id=2019120500222151845061120549216429
sign_type=MD5
sign=$$$
Offline to online scenarios
In most cases, offline to online mode will be activated in the scenarios below :
- Customer switch off the offline feature on Alipay homepage (www.alipay.com)
- Alipay's risk system detects that the payment has a risk
- User's balance channel is switched off or frozen
- System error (Alipay system handle payment channel error )
- When insufficient fund is detected when all the payment channel is checked by Alipay
- Transaction threshold exceeded
- Accumulated transaction threshold exceed for current day
- Accumulated transaction threshold exceed for current month