alipay.acquire.precreate (for transaction QR code payment)

Call this interface to place a pre-order without the payer identity information. Alipay returns a payment URL in the response. Payers can access the payment URL by using Alipay wallet to confirm the order and make the payment.

#Request

#Service address

Environment

HTTPS request URL

Production environment

Priority: https://globalmapi.alipay.com/gateway.do

Backup: https://intlmapi.alipay.com/gateway.do

Test environment

https://mapi.alipaydev.com/gateway.do

#Request parameters

ParameterDescription

service

String Required

Interface name

Example:alipay.acquire.precreate

partner

String(16) Required

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. 

Example:2088*********662

_input_charset

String Required

The charset with which the request data are encoded. UTF-8, GBK, and GB2312 are supported. 

Example:UTF-8

sign_type

String Required

Sign type. RSA, RSA2 and MD5 are supported. Use uppercase.

Example:MD5

sign

String Required

Sign value 

Example:85bf83f78d5cefb804bd805532fc688e

notify_url

String(190) Required

The URL for receiving asynchronous notifications after the payment is completed.

Example:http://api.test.alipay.net/atinterface/receive_notify.htm

timestamp

String Required

The time when the merchant server sends the request. The time is in GMT+8, with a format of yyyy-MM-dd HH:mm:ss. By default, the request expires in 30 minutes. 

Example:2018-03-22 12:23:21

terminal_timestamp

String

The time when the terminal sends the request. The value is accurate to the millisecond.

Example:2018-03-22 12:23:21

out_trade_no

String(64) Required

Unique order ID in the order system in 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.

Example:990xxxxxxx8989

subject

String(256) Required

Brief description of the transaction. Special characters are not supported.

Note: The value of this field will be displayed to customers. 

Example:kids clothing

product_code

String(32) Required

Product code of the Alipay product that you use. The value is OVERSEAS_MBARCODE_PAY for oversea in-store payments.

Example:OVERSEAS_MBARCODE_PAY

total_fee

Number(11,2) Required

Total amount of a transaction in trans_currency. The CNY amount the user actually pays is converted from the value of this parameter. 

Example:10.00

seller_id

String(28)

Unique Alipay user ID corresponding to the seller's Alipay account, 16 digits beginning with 2088.

If both sell_id and seller-email are null, the default value of this parameter is the value of merchant.

Example:2088101106499364

seller_email

String(100)

Seller's Alipay account, in a format of email address or phone number. If seller_id is not null, the value of seller_id shall be the seller's ID and this parameter can be neglected.

Example:test@alitest.com

body

String(400)

Detailed description about the goods. Special characters are not supported. If a variety of goods exist, descriptions for each goods are included in this field.

Example:Glitter leggings

show_url

String(400)

The hyperlink for showing goods on the webpage of the checkout counter.

Example:http://www.taobao.com/product/113714.html

currency

String(8) Required

The settlement currency that the merchant specifies in the contract. Use upper case. For more information about supported currencies, see Supported Currencies.

Example:USD

trans_currency

String(8) Required

The pricing currency. Use the same value for this parameter and the currency parameter. Contact Alipay technical support if you have to use different values. Use upper case.

Example:USD

price

Number(9,2)

Unit price of the goods in the order. If this parameter is transmitted in the request, the condition of total_fee=price×quantity must be met. 

Example:1

quantity

String(100)

Quantity of the goods in the order. If this parameter is transmitted in the request, the condition of total_fee=price×quantity must be met. 

Example:10

goods_detail

String

Details about the goods, which is in the format of JSON. The maximum number of goods for this field is 50. For more information, see goods_detail. 

Example:[{"goodsId":"apple-01","goodsName":"ipad","goodsCategory":"7788230","price":"2000.00","qu antity":"1"}]

extend_params

String(512) Required

This parameter contains extended parameters of the request, and transmits business information of the merchant. Format: JSON. For details, see extend_params 

Example:{"store_id":"BJ_ZZ_001","store_name":"Muku in the Dreieichstrabe","secondary_merchant_id":"A80001","secondary_merchant_name":"Muku","secondary_merchant_industry":"7011"}

it_b_pay

String(200)

Specifies the time period in which the user can complete the payment from the moment when the user scans the QR code. The trade is closed automatically once the time is up. The default value of this field is 3m. The value of this field is in the range of 1m - 15d.

Notes:

  1. The following abbreviations are used to present units of time:
  • m: minute
  • h: hour
  • d: day
  • c: current day (Whenever the trade is created, it will be closed at 0:00).
  1. Decimal point of the numerical value of this parameter is rejected, for example, 1.5h need to be transformed to 90m.

Example:1d

passback_parameters

String(256)

If this parameter was sent to Alipay by the request, Alipay will return this parameter by the asynchronous notification with the extra_common_param parameter. 

Example:test

trade_information

String(6000)

Information about the trade industry. See trade_informationfor details. 

Example:{"business_type":"1","hotel_name":"zlidu, sluhg-987, 889utng","check_in_time":"2018-10-20","check_out_time":"2018-10-22"}

qr_code_it_b_pay String(200)

Specifies the time period in which the user can complete the payment from the moment when the QR code was created. The trade is closed automatically once the time is up.The value for this field is in the range of 1m - 2h.If this parameter is specified, the it_b_pay parameter becomes invalid.

Notes:

  1. The following abbreviations are used to present units of time:
  • m: minute
  • h: hour
  1. Decimal point of the numerical value of this parameter is rejected, for example, 1.5h need to be transformed to 90m. 

Example:1m

#extend_params

ParameterDescription

secondary_merchant_id

String Required

The unique ID assigned by the partner to identify a secondary merchant. The ID can contain letters, numbers, and underscores.

Example:A80001

secondary_merchant_name

String Required

Registration legal name of the secondary merchant, shown in the Alipay Wallet and the reconciliation file to identify a secondary merchant.

Example:Muku

secondary_merchant_industry

String(4) Required

Industry classification identifier of the secondary merchant, which is assigned by Alipay. For more information about the MCC code, see MCC list.

Example:7011

store_name

String Required

Store name. Can be null only when the store information is verified. 

Example:Muku in the Dreieichstrabe

store_id

String Required

The unique ID that is assigned by the partner to identify a store of a merchant, which can contain letters, numbers, and underscores. 

Example:BJ_ZZ_001

terminal_id

String

Terminal ID 

Example:T80001

sys_service_provider_id

String(32)

System service provider ID, which is used to identify the payment system provider. 

Example:R00998889911

#goods_detail

Goods details parameters shall be in the format of JSON and include the following parameters:

ParameterDescription

goodsId

String Required

Goods ID 

Example:apple-01

goodsName

String Required

Goods name 

Example:ipad

goodsCategory

String

Goods category 

Example:34543238

showUrl

String

Hyperlink for the show of goods on the webpage of checkout counter.

Example:http://www.taobao.com

quantity

String Required

The quantity of goods 

Example:1

body

String

Detailed description about the goods. Special characters are not supported. 

Example:Glitter leggings

price

String Required

Unit price of the goods in the order 

Example:2000

#trade_information

ParameterDescription

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 (|). 

Example:1|2|3|4|5 or 1

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). 

Example:zlidu, sluhg-987, 889utng

check_in_time

Date

Check-in time. Format: yyyy-MM-dd. Timezone: GMT +8. Specify this field only when business_type is 1 (Hotel). 

Example:2018-10-20

check_out_time

Date

Check-out time. Format: yyyy-MM-dd. Timezone: GMT +8. Specify this field only when business_type is 1 (Hotel). 

Example:2018-10-22

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). 

Example:NWS 996|TWF 8854

departure_time

Date

Departure time.Format: yyyy-MM-dd HH:mmTimezone: GMT +8. If flight transfer exists, separate time values with vertical bar (|). Specify this field only when business_type is 2 (AIR).

Example:2018-10-22 20:49

admission_notice_url

String

If business_type is 3 (Overseas study consulting), the URL of admission notice (image) must be specified.

Example:https://www.iconfont.cn/search/index?test

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)

Example:pencil^2|eraser^5|iPhone XS 256G^1

total_quantity

Number

Total quantities of all goods in one order. Specify this field only when business_type is 4 (Sales of goods).

Example:8

other_business_type

String

If business_type is 5 (Others), specify the business type in details.

Example:Airport pick up service


Note:

The decimal place accuracy of amounts, such as the values of total_fee and price, 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

ParameterDescription
Basic parameter

is_success

String Required

Indicates whether the request succeeds or not, with a value of T for success and F for failure.

Note: a successful request does not mean the business is accepted and processed successfully. 

Example:T

sign_type

String

Sign type. RSA, RSA2 and MD5 are supported. Use uppercase.

Example:MD5

sign

String

Sign value 

Example:ea489fc31da63253ba b52ed77fb45eb7

error

String

Error code that is returned when the request is failed to describe the request failure reason. For more information, see the Error Code section in this document.

Example:ILLEGAL_SIGN

Result Code

result_code

String(32) Required

Response code of the processing result of order placement and payment. For more details, see Business Response Code.

Example:SUCCESS

out_trade_no

String(64)

Unique order ID in the order system in 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.

Example:990xxxxxxx8989

voucher_type

String(10)

Voucher type, and the value is qrcode. 

Example:qrcode

qr_code

String(128)

Value of the QR code

Example:https://qr.alipay.com/pmxqwqka1ts5grar29

big_pic_url

String

URL for the QR code in the big size 

Example:http://mobilecodec. alipay.com/show.htm?code=baxga4hjmcal5rl8fa&amp;picSize=L

pic_url

String

URL for the QR code in the normal size

Example:http://mobilecodec. alipay.com/show.htm?code=baxga4hjmcal5rl8fa&amp;picSize=M

small_pic_url

String

URL for the QR code in the small size

Example:http://mobilecodec. alipay.com /show.htm?code=baxga4hjmcal5rl8fa&amp;picSize=S

detail_error_codeString(48)

Description of the returned response code. If the response code of result_code is ORDER_SUCCESS_PAY_SUCCESS, this parameter is not returned. 

Example:REASON_ILLEGAL_STATUS

detail_error_des

String(64)

Explanation of the detailed error code. If result_code is ORDER_SUCCESS_PAY_SUCCESS, this parameter is not returned.

Example:Trade does not match with buyer

Note: 

The synchronous response might have more parameters due to the upgrade on the Alipay server side. You can ignore parameters that are not included in this API document. 

#Asynchronous response

ParameterDescription
Basic parameter

notify_time

Timestamp Required

The time when the notification is sent. The time format is yyyy-MM-dd HH:mm:ss 

Example:2013-11-27 15:45:58

notify_type

String Required

Notification type 

Example:trade_status_sync

notify_id

String Required

Notification ID, used by the partner system to verify the notification 

Example:ac05099524730693a8b330c5ecf72da978

sign_type

String Required

Sign type. RSA, RSA2 and MD5 are supported. Use uppercase.

Example:MD5

sign

String Required

Sign value 

Example:601510b7970e52cc63db0f44997cf70e

notify_action_type

String

Notification action type. The value can be one of the following items:

  • createDirectPayTradeByBuyerAction: Create a transaction
  • payByAccountAction: Make the payment
  • refundFPAction: Make the refund
  • reverseAction: Cancel the transaction
  • closeTradeAction: Close the transaction
  • finishFPAction: Complete the transaction

Example:payByAccountAction

Business parameter

out_trade_no

String

Unique order ID in the order system in 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.

Example:990xxxxxxx8989

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. 

Example:kids clothing

trade_no

String

The serial number of the trade in Alipay system. The length is in the range of 16 - 64.

Example:2013112711001004940000394507

trade_status

String

Transaction status. See Trade status for details.

Example:WAIT_BUYER_PAY

gmt_create

Date

The time when the trade transaction is created. Format: yyyy-MM-dd HH:mm:ss. Use GMT+8. 

Example:2013-11-27 15:45:57

gmt_payment

Date

The time when the payment is completed. Format: yyyy-MM-dd HH:mm:ss. Use GMT+8. 

Example:2013-11-27 15:45:57

seller_email

String

Alipay ID of the seller, with a format of email address or phone number 

Example:zhuzhanghu@alitest.com

buyer_email

String

Buyer's Alipay ID, which can be an email address or phone number. 

Example:13******011

seller_id

String

Seller's unique Alipay user ID, consists of 16 digits and begins with 2088.

Example:2088101106499364

buyer_id

String

Buyer's unique Alipay user ID, consists of 16 digits and begins with 2088.

Example:2088102105236945

price

Number

Goods price. This parameter is transmitted by the corresponding request and needs to be returned with its original value. 

Example:1.00

quantity

Number

The quantity of goods. This parameter is transmitted by the corresponding request and needs to be returned with its original value. 

Example:10

total_fee

Number(11,2)

Total transaction amount in CNY, converted from the value of total_fee in the request

Example:10.00

body

String

Detailed description about the goods. This parameter is transmitted by the corresponding request and needs to be returned with its original value. 

Example:Glitter leggings

refund_fee

Number

The refund amount. The unit is Yuan. 

Example:1.00

paytools_pay_amount

String

Payment amount information of all successful payments in various channels. 

Example:[{"MCARD":"7.94"},{"TMPOINT":"1.69"},{"BANKCARD":"5.55"}]

extra_common_param

String

This parameter is returned with the value of passback_parameters in the corresponding request. 

Example:{"qrcode":"https://qr.alipay.com/9446219319446735"}

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. 

Example:2.19

#paytools_pay_amount

ParameterDescription

ALIPAYACCOUNT

String

The money amount paid by the balance of Alipay account. The unit is Yuan. 

Example:1.23

MCARD

String

The money amount paid by the merchant's prepaid card. The unit is Yuan.

Example:7.94

MDISCOUNT

String

The money amount paid by the merchant's discount coupon. The unit is Yuan. 

Example:1.23

TMPOINT

String

The money amount paid by the Tmall points. The unit is Yuan.

Example:1.69

COUPON

String

The money amount paid by coupons. The unit is Yuan. 

Example:1.23

POINT

String

The money amount paid by points. The unit is Yuan. 

Example:1.23

DISCOUNT

String

The money amount paid by the discount. The unit is Yuan. 

Example:1.23

BANKCARD

String

The money amount paid by the money fund. The unit is Yuan.

Example:5.55

MONEYFUND

String

The money amount paid by the money fund. The unit is Yuan.

Example:1.23

BAITIAO

String

The money amount paid by BAITIAO. The unit is Yuan. Example:1.23

PCARD

String

The money amount paid by the Alipay card. The unit is Yuan.

Example:2.13

PCREDIT

String

The money amount paid by the consumption credit card. The unit is Yuan.

Example:1.23

MCOUPON

String

The money amount paid by the merchants issued coupons. The unit is Yuan. 

Example:2.21

#Error codes

#Business response code

Response code

Description

SUCCESS

The order succeeds.

FAIL

The order fails.

#Business code

Error code

Description

SYSTEM_ERROR

Alipay system is currently not available.

Action: Retry this request with the exact parameters. Refer to Case 2 for detailed instruction.

CONTEXT_INCONSISTENT

You were retrying a request identified by the same out_trade_no, but not all other request parameters were the same.

Action: Retry this request with the exact parameters or with a new out_trade_no.

TRADE_HAS_SUCCESS

The payment of trade has been made successfully.

Action: Mark this transaction as paid in your merchant system.

TRADE_HAS_CLOSE

The trade has expired.

Action: Start a new transaction.

TRADE_HAS_FINISHED

The trade has been finished.

Action: Start a new transaction.

REASON_ILLEGAL_STATUS

The trade status is illegal.

Action: Start a new transaction.

EXIST_FORBIDDEN_WORD

Forbidden words are included in the order information.

Action: Delete concerning words.

ACCESS_FORBIDDEN

Has no right to use the product.

Action: Make sure your agreement with Alipay is still valid.

SELLER_NOT_EXIST

The seller does not exist.

Action: Check the seller parameter value.

SELLER_BEEN_BLOCKED

The seller's account has been frozen.

Action: Contact Alipay tech support for help.

INVALID_PARAMETER

Parameter error.

Action: Check the standard of each request parameter according to the API specification

CURRENCY_NOT_SUPPORT

This currency is not supported.

Action: Check the value of parameter currency.

RESTRICTED_MERCHANT_INDUSTRY

The transaction value cannot be greater than 5000 US dollars.

Action: Check the value of secondary_merchant_industry and contact Alipay technical support if needed.

PRODUCT_AMOUNT_LIMIT_ERROR

The transaction amount exceeded the limit.

Action: Users can use the other payment method such as cash or the credit card.

EXCHANGE_AMOUNT_OR_CURRENCY_ERROR

The exchange amount or currency is incorrect.

Action: Contact Alipay technical support for help.

ILLEGAL_MERCHANT_INDUSTRY

Illegal MCC format.

Action: Ensure that the value of secondary_merchant_industry to be defined in the MCC.

FORBIDDEN_MERCHANT_INDUSTRY

This transaction type is not allowed.

Action: Check the value of secondary_merchant_industry and contact Alipay technical support if needed.

INVALID_RECEIVE_ACCOUNT

The seller is not in the payee list.

Action: Contact Alipay technical support for help.

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.

#Access code

Error code

Description

ILLEGAL_SIGN

Illegal signature.

Action: Use a legal signature and try again.

INVALID_PARAMETER

Parameter error.

Action: Check each request parameter according to the API specification.

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 parameter has the same value 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.

ILLEGAL_EXTERFACE_FOR_CA_VERIFY

The interface is not allowed to use Certificate Verification Service.

Action: Contact Alipay technical support for help.

ILLEGAL_CERT_IS_OVERDUE

Certificate verification is failed due to the expired certificate.

Action: Check the status of your certificate.

ILLEGAL_CA_SIGN

Certificate verification is failed.

Action: Check the status of your certificate.

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.

#Trade status

Enumeration name

Description

WAIT_BUYER_PAY

The trade has been established and is waiting for the buyer to make payment.

TRADE_CLOSED

The trade is closed because the payment has not been completed within specified time or the payment has been fully returned when the trade completes.

TRADE_SUCCESS

The trade succeeds and is operable, such as multi-level royalty distribution, or refund.

TRADE_FINISHED

The trade succeeds and is completed, and is not operable.

#Handling result

Case 1. When the invocation is failed due to network issue or request timeout, no response is returned from Alipay. Take the following actions:

  1. Check your network connectivity to Alipay gateway. Retry (every 3 seconds, up to 5 times.) this request with correct parameters until you get a response from Alipay.
  2. If you still cannot get any response from Alipay, contact Alipay technical support for help.

Case 2. If you received the response from Alipay, but one of the following results is returned:

  • is_success=F and error=SYSTEM_ERROR
  • is_success=T, result_code=FAIL, and detail_error_code=SYSTEM_ERROR

Take the following actions:

  1. Retry (every 3 seconds, up to 5 times.) this request with correct parameters until you get a response from Alipay.
  2. If you still cannot get any response from Alipay, contact Alipay technical support for help.

Case 3. If you received the response from Alipay, and is_success=T and result_code=SUCCESS, continue the business process by rendering the QR code

Case 4. If you received the response from Alipay, and one of the following results is returned:

  • is_success=F and error=!SYSTEM_ERROR
  • is_success=T and result_code=FAIL and detail_error_code!=SYSTEM_ERROR.

You must refer to the specific error code for instructions.

#Pseudo code

copy
try{
  if(isCase3){ //CASE 3
    doSuccessProcess();
  }
  else if(isCase4){ //CASE 4
    doFailureProcess();
  }
  else{ //CASE 2
    
    retrySuccess = retryWithSameParameters(); //Retry every 3 seconds, up to 5 times.

    if(retrySuccess){
      doSuccessProcess();
    }
    else{
      // request Alipay tech support.
    }    
  }

}catch (Exception ex){ // CASE 1

    retrySuccess = retryWithSameParameters(); //Retry every 3 seconds, up to 5 times.

    if(retrySuccess){
      doSuccessProcess();
    }
    else{
      // request Alipay tech support.
    }    
  }  
}

#Samples

#Request

https://intlmapi.alipay.com/gateway.do?service=alipay.acquire.precreate&partner=2088021966388155&_input_charset=UTF-8&sign_type=MD5&product_code=OVERSEAS_MBARCODE_PAY&currency=USD&trans_currency=USD&out_trade_no=out_trade_no_20190904_163941&subject=Mika's%20coffee%20shop&total_fee=0.01&seller_id=2088021966388155&extend_params=%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=69f16345d886f551d2e48351d0a64f21


#Response

#Synchronous response

Business is accepted and processed normally, and acquiring is created successfully:

copy
<alipay>
    <is_success>T</is_success>
    <request>
        <param name="extend_params">
        {"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="_input_charset">UTF-8</param>
        <param name="subject">Mika's coffee shop</param>
        <param name="sign">69f16345d886f551d2e48351d0a64f21</param>
        <param name="product_code">OVERSEAS_MBARCODE_PAY</param>
        <param name="trans_currency">USD</param>
        <param name="out_trade_no">out_trade_no_20190904_163941</param>
        <param name="partner">208xxxxxxxxx8155</param>
        <param name="service">alipay.acquire.precreate</param>
        <param name="total_fee">0.01</param>
        <param name="currency">USD</param>
        <param name="sign_type">MD5</param>
        <param name="seller_id">208xxxxxxxxx8155</param>
    </request>
    <response>
        <alipay>
            <big_pic_url>
            https://mobilecodec.alipay.com/show.htm?code=bax00450gieal5w1cxdy80db&picSize=L
            </big_pic_url>
            <out_trade_no>out_trade_no_20190904_163941</out_trade_no>
            <pic_url>
            https://mobilecodec.alipay.com/show.htm?code=bax00450gieal5w1cxdy80db&picSize=M
            </pic_url>
            <qr_code>https://qr.alipay.com/bax00450gieal5w1cxdy80db</qr_code>
            <result_code>SUCCESS</result_code>
            <small_pic_url>
            https://mobilecodec.alipay.com/show.htm?code=bax00450gieal5w1cxdy80db&picSize=S
            </small_pic_url>
            <voucher_type>qrcode</voucher_type>
        </alipay>
    </response>
    <sign>b25cfef6112d6e910745ce3ee9f1f69b</sign>
    <sign_type>MD5</sign_type>
</alipay>


Request succeeds, but the business processing fails:

copy
<?xml version="1.0" encoding="utf-8"?> 
 <alipay> 
  <is_success>T</is_success> 
  <request> 
   <param name="body">face-to-face-payment</param> 
   <param name="subject">iphone</param> 
   <param name="sign_type">MD5</param> 
   <param name="out_trade_no">99003911198989</param> 
   <param name="total_fee">10</param> 
   <param name="partner">2088101106499364</param> 
   <param name="quantity">10</param> 
   <param name="sign">a1cb41a4019351965d4418c9cb933f0f</param> 
   <param name="_input_charset">UTF-8</param> 
   <param name="price">1</param> 
   <param name="it_b_pay">1d</param> 
   <param name="product_code">OVERSEAS_MBARCODE_PAY</param> 
   <param name="service">alipay.acquire.precreate</param> 
   <param name="seller_id">2088101106499364</param> 
  </request> 
  <response> 
  <alipay>
   <result_code>FAIL</result_code> 
   <detail_error_code>INVALID_PARAMETER</detail_error_code> 
   <detail_error_des>request paramter invalid</detail_error_des> 
   </alipay> 
  </response> 
  <sign>ea489fc31da63253bab52ed77fb45eb7</sign> 
  <sign_type>MD5</sign_type> 
 </alipay>


Request fails or the data accessed are incorrect:

copy
<?xml version="1.0" encoding="utf-8"?> 
 <alipay> 
  <is_success>F</is_success> 
  <error>ILLEGAL_SIGN</error> 
 </alipay>


#Asynchronous sample

copy
https://www.mikascoffee.com/notify
currency=USD
trans_currency=USD
trade_no=201xxxxxxxxxxxxxxxxxxxxx2392
subject=Mika's coffee shop
paytools_pay_amount=[{"PCREDIT":"0.07","PCC_PROD_ID":"9102"}]
buyer_email=186xxxx9365
gmt_create=2019-09-11 19:22:52
notify_type=trade_status_sync
forex_rate=7.13210000
quantity=1
out_trade_no=out_trade_no_20190904_163949
trans_amount=0.01
seller_id=208xxxxxxxxx8155
notify_time=2019-09-11 19:22:56
trade_status=TRADE_SUCCESS
total_fee=0.07
gmt_payment=2019-09-11 19:22:56
seller_email=$$
price=0.07
buyer_id=208xxxxxxxxx6535
notify_id=201xxxxxxxxxxxxxxxxxxxxxxxxxxx1425
sign_type=MD5
sign=$$