create_forex_trade

Call this interface to initiate a website payment request. 

#Request

#Service address

EnvironmentHTTPS request URL
Production environmenthttps://intlmapi.alipay.com/gateway.do
Test environmenthttps://mapi.alipaydev.com/gateway.do

#Request parameters

ParameterDescription
Basic parameter

service

String Required

Interface name 

Example:create_forex_trade

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 is encoded. GBK and UTF-8 are supported.

Example:UTF-8

sign_type

String Required

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

Example:RSA2

sign

String Required

Sign value

Example:_p_w_l_h_j0b_gd_aejia7n_ko4_m%2Fu_w_jd3_nx_s_k_mxus9_hoxg_y_r_lunli_pmma29_t_q==

notify_url

URL(200)

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

Example:http://www.test.com/alipay/notify_url.php

Business parameter

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

body

String(400)

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

Example:Glitter leggings

out_trade_no

String(64)

Required

The unique transaction ID that is assigned by the partner. If the ID is duplicated with the out_trade_no of a previous transaction, the payment fails and an error message is returned to indicate the payment is duplicated.

Example:990xxxxxxx8989

currency

String(10) Required

The settlement currency that the merchant specifies in the contract. Only HKD is supported.

Example:HKD

total_fee

Number(9,2) Required

The transaction amount, which is a floating number in the range 0.01 - 1000000.00. 

Example:800.00

order_gmt_create

Date

This parameter can only be used with order_valid_time to control the valid time from redirection to login. The format is yyyy-MM-dd HH:mm:ss. Use Beijing time to synchronize with Alipay system. 

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

order_valid_time

String(5)

Order valid time in seconds, with a maximum value of 2592000. This field can only be used with the order_gmt_create field to control the valid time. The payment transaction is to be closed after the order valid time from the order creation time specified by the order_gmt_create field. 

Example:3600

refer_url

URL(200) Required

The URL of the merchant website homepage. If the merchant doesn't have a website, the merchant app download address can be used for this field.

Note: This field is required for merchants that are directly integrated with Alipay, and is optional for acquirers.

Example:http://testmerchant.com

product_code

String Required

Product code of the Alipay product that you use, with a value of NEW_WAP_OVERSEAS_SELLER for this interface.

Example:NEW_WAP_OVERSEAS_SELLER

qr_pay_mode

String Required

QR code payment mode. Forward QR code mode and redirecting mode are supported. Forward mode is the mode of placing the QR code to the merchant's order confirmation page. Fixed value: 4 

Example:4

qrcode_width

Integer Required

The merchant customized QR code width. When qr_pay_mode=4, this parameter takes effect. 

Example:200

payment_inst

String

Indicates the type of wallet this QR code can be scanned. If this field is set to ALIPAYHK, the QR code can only be scanned by Alipay HK Wallet. If this field is set to ALIPAYCN, the QR code can only be scanned by Alipay Wallet. If this field is set to null, the QR code can only be scanned by Alipay Wallet.

Example:ALIPAYHK, ALIPAYCN

secondary_merchant_id

String(32)


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

Note: This field is required for acquirers and system integrators with secondary merchants, and is not required for merchants that are directly integrated with Alipay.

Example:A80001

secondary_merchant_name

String(32)

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

Note: This field is required for acquirers and system integrators with secondary merchants, and is not required for merchants that are directly integrated with Alipay.

Example:Muku

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.

Note: This field is required for acquirers and system integrators with secondary merchants, and is not required for merchants that are directly integrated with Alipay.

Example:7011

trade_information

String Required

Note: This field is required for merchants that are directly integrated with Alipay, and is optional for acquirers. Besides, if you are a merchant that is directly integrated with Alipay, when the Alipay wallet is used, you must specify this field; when the AlipayHK wallet is used, you don’t need to specify this field. (The wallet type is identified by the value of the payment_inst field. )

This field is about the trade industry information. See trade_information for details.  

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

#trade_information

ParameterDescription

business_type

String Required


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, use the vertical bar to seperate type values.

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

hotel_name

String Required

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 Required

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 Required

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 Required

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 Required

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 Required

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 Required

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

NumberRequired

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 Required 

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

Example:Airport pick up service

Note:

Do not use the halfwidth quotation mark (") in parameter values.

#Response

#Synchronous response

The synchronous response of this request is an independent QR code HTML page. The merchant needs to use an iframe to open the HTML page. The following graphic shows an example of a synchronous respopnse.

image.png

#Asynchronous response

ParameterDescription
Basic parameter

notify_type

String

Notification type, with a value of trade_status_sync 

Example:trade_status_sync

notify_id

String

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

Example:92c60707dc43a5b2d648b7b4d3c2e1592g

notify_time

Timestamp

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

Example:2015-06-30 09:56:02

sign_type

String

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

Example:RSA

sign

String

Sign value

Example:p_w_l_h_j0b_gd_aejia7n_ko4_m%2Fu_w_jd3_nx_s_k_mxus9_hoxg_y_r_lunli_pmma29_t_q==

Business parameter

trade_status

String

Alipay transaction status. The value can be TRADE_FINISHED, WAIT_BUYER_PAY, or TRADE_CLOSED. 

Example:TRADE_FINISHED

trade_no

String

Alipay transaction ID, with a length in the range 16 - 64 bits.

Example:2015070800001000100080029361

out_trade_no

String

The unique transaction ID that is assigned by the merchant. This parameter is transmitted by the corresponding request and needs to be returned with the original value.

Example:990xxxxxxx8989

currency

String

The settlement currency 

Example:HKD

total_fee

Number(9,2)

The transaction amount, which is a floating number in the range 0.01 - 1000000.00.

Example:11.00


#Nofitication trigger condition

Trigger condition nameDescription Note
TRADE_FINISHEDTrade successfullytrue (trigger nofitication)
WAIT_BUYER_PAYTrade creationfalse (does not trigger nofitication)
TRADE_CLOSEDTrade closedtrue (trigger nofitication)


For more information about the asynchronous response, see Asynchronous notification.


#Error codes

#Business errors

Returned ResultDescription
FOREX_MERCHANT_NOT_SUPPORT_THIS_CURRENCYThis currency is not supported.
ILLEGAL_SECURITY_PROFILEThis kind of encryption is not supported.
REPEAT_OUT_TRADE_NOThe out_trade_no parameter is duplicated.
ILLEGAL_CURRENCYThe currency parameter is incorrect.
ILLEGAL_TIMEOUT_RULEThe timeout_rule parameter is incorrect.
SYSTEM_EXCEPTIONAlipay system error
ILLEGAL_ARGUMENTIncorrect parameter

#Access errors

Returned ResultDescription
ILLEGAL_SIGNIllegal signature
ILLEGAL_SERVICEThe service parameter is incorrect.
ILLEGAL_PARTNERIncorrect partner ID
ILLEGAL_SIGN_TYPESignature is of wrong type.
ILLEGAL_PARTNER_EXTERFACEService is not activated for this account.
ILLEGAL_DYN_MD5_KEYDynamic key information is incorrect.
ILLEGAL_ENCRYPTEncryption is incorrect.
ILLEGAL_USERUser ID is incorrect.
ILLEGAL_EXTERFACEInterface configuration is incorrect.
ILLEGAL_AGENTAgency ID is incorrect.
HAS_NO_PRIVILEGENo right to visit
INVALID_CHARACTER_SETThe character set is invalid.

#System errors

Returned resultDescription
SYSTEM_ERRORAlipay system error
SESSION_TIMEOUTSession timeout
ILLEGAL_TARGET_SERVICEWrong target service
ILLEGAL_ACCESS_SWITCH_SYSTEMMerchant is not allowed to visit system of this type.
EXTERFACE_IS_CLOSEDThe interface has been closed.

#Samples

#Request

Request sample for merchants directly integrated with Alipay

https://intlmapi.alipay.com/gateway.do?service=create_forex_trade&partner=208xxxxxxxxx5500&_input_charset=UTF-8&sign_type=MD5&notify_url=http%3A%2F%2Fwww.mikascoffee.com%2Fnotify&currency=HKD&product_code=NEW_WAP_OVERSEAS_SELLER&subject=Mika's%20coffee%20shop&out_trade_no=out_trade_no_20190910_134443&total_fee=0.01&refer_url=http%3A%2F%2Fwww.mikascoffee.com&qr_pay_mode=4&qrcode_width=200&payment_inst=ALIPAYHK&trade_information=%7B%22business_type%22%3A%224%22%2C%22goods_info%22%3A%22Mika's%20capsule%20coffee%5E1%22%2C%22total_quantity%22%3A%221%22%7D&sign=e68a25685c013bca7c44093c40854f22


Request sample for acquirers and system integrators with secondary merchants

https://intlmapi.alipay.com/gateway.do?service=create_forex_trade&partner=208xxxxxxxxx5500&_input_charset=UTF-8&sign_type=MD5&notify_url=http%3A%2F%2Fwww.mikascoffee.com%2Fnotify&currency=HKD&product_code=NEW_WAP_OVERSEAS_SELLER&subject=Mika's%20coffee%20shop&out_trade_no=out_trade_no_20190910_134443&total_fee=0.01&qr_pay_mode=4&qrcode_width=200&payment_inst=ALIPAYHK&secondary_merchant_id=1314520&secondary_merchant_name=Mika's%20coffee%20shop&secondary_merchant_industry=5499&sign=5d179bd676cc17a6147a89eaa710f296


#Response

Synchronous response

http://www.merchant.com/alipay/notify_url.php?trade_status=TRADE_FINISHED&trade_no=201xxxxxxxxx7852&out_trade_no=3824701800653976&total_fee=15&currency=HKD&sign_type=DSA&sign=e5815a4556db338ed237f7d3fd222184

Asynchronous response

copy
http://www.mikascoffee.com/notify
notify_id=201xxxxxxxxxxxxxxxxxxxxxxxxxxx4116
notify_type=trade_status_sync
sign=$$
trade_no=201xxxxxxxxxxxxxxxxxxxxx5753
total_fee=0.01
out_trade_no=out_trade_no_20190910_134242
notify_time=2019-09-10 13:59:32
currency=HKD
trade_status=TRADE_FINISHED
sign_type=MD5