支付接口(条码支付)
调用此接口发送支付请求。收到付款请求后,支付宝首先验证请求,验证成功后从buyer_identity_code
字段标识的付款人帐户自动扣除资金。
网关URL
环境 | HTTPS请求URL |
生产环境 | |
测试环境 | https://mapi.alipaydev.com/gateway.do |
请求参数
参数 | 描述 |
基本参数 | |
service String | 接口名称
|
sign String | 签名值
|
sign_type String | 签名类型。支持RSA,RSA2和MD5。请使用大写形式。
|
partner String | 支付宝分配的用于标识支付宝帐户的合作伙伴ID。合作伙伴ID是2088开头的16位数字。
|
_input_charset String | 请求数据的编码集,支持UTF-8,GBK和GB2312。
|
notify_url URL (200) | 交易完成之后用来接收异步通知的URL 注意:为了保证可以尽快得到支付结果,如果未收到异步通知,请使用QUERY接口查询付款结果。
|
业务参数 | |
alipay_seller_id String | 支付宝卖家 ID,与合作伙伴ID的值相同。
|
quantity Number | 商品数量
|
trans_name String(256) | 交易名称,该名称将显示在交易文件列表中。
|
partner_trans_id String(64) | 商户系统中商户分配的唯一交易记录 ID,可以是销售订单 ID 或付款订单 ID。
|
currency String(8) | 标价币种,用于标记交易价格。此货币也是支付宝与合作伙伴结算的结算货币。使用大写。有关支持货币的详细信息,请参阅支持货币。 注:目前支持货币:英镑:GBP、港币:HKD、美元:USD、新加坡元:SGD、日元:JPY、加拿大元:CAD、澳元:AUD、欧元:EUR、新西兰元:NZD、韩元:KRW、泰铢:THB、瑞士法郎:CHF、瑞典克朗:SEK、丹麦克朗:DKK、挪威克朗:NOK、马来西亚林吉特:MYR、印尼卢比:IDR、菲律宾比索:PHP、毛里求斯卢比:MUR、以色列新谢克尔:ILS、斯里兰卡卢比:LKR、俄罗斯卢布:RUB、阿联酋迪拉姆:AED、捷克克朗:CZK、南非兰特:ZAR、人民币:CNY
|
trans_amount Number(11,2) | 以标价币种表示的交易金额。范围 0.01 - 100000000.00,精确到小数点后两位。
|
buyer_identity_code String(32) | 16 - 24 位的动态码,用于识别支付宝用户。代码以 25、26、27、28、29 或 30 开头,必须实时从用户的支付宝钱包中读取。
|
identity_code_type String(16) | 标识代码类型。该字段的值为barcode。
|
trans_create_time String(16) | 商户系统创建交易的时间,格式为yyyyMMddHHmmss。
|
memo String(256) | 交易说明
|
biz_product String(256) | 产品名称,该字段的值为OVERSEAS_MBARCODE_PAY。
|
extend_info String(512) | 扩展信息,其中包含扩展参数和商户业务信息。详细信息请参阅extend_info
|
trade_information String(6000) | 交易信息, 详情参见trade_information。
|
extend_info
参数 | 描述 |
secondary_merchant_id String(64) | 合作伙伴分配的用于标识二级商户的唯一ID。ID可以包含字母、数字和下划线。
|
secondary_merchant_name String(128) | 二级商户的法定注册名称,将显示在钱包和对账文件中,用于标识二级商户。
|
secondary_merchant_industry String(4) | 支付宝分配的用于表示二级商户所属行业的MCC代码。关于MCC代码,详情参见MCC list。
|
store_name String | 店铺名称
|
store_id String(64) | 合作伙伴分配的用于标识二级商户商店的唯一ID。ID可以包含字母、数字和下划线。
|
terminal_id String | 终端 ID
|
sys_service_provider_id String(32) | 系统服务提供商ID,用于标识支付服务提供方。
|
trade_information
参数 | 描述 |
business_type String | 业务类型。该字段仅支持以下5种值: 1: 酒店 2: 航空 3: 留学 4: 贸易 5: 其他, 包含所有不属于前四类的其他业务类型。例如,流量充值,机场接机服务等。 若业务类型超过一种,则传入多个且用竖线(|)分隔。
|
hotel_name String | 酒店名称,仅支持数字,字母,空格及,.<>()[]/\-等特殊字符。若存在多个酒店名称,则传入多个且用竖线(|)分隔。 注意:仅在business_type字段值为1时,本字段为必填。
|
check_in_time Date | 入住酒店时间,格式为yyyy-MM-dd。时区为GMT +8。 注意:仅在business_type字段值为1时,本字段为必填。
|
check_out_time Date | 离开酒店的时间。格式为yyyy-MM-dd。时区为GMT +8。 注意:仅在business_type字段值为1时,本字段为必填。
|
flight_number String | 飞机乘客对应的飞机航班号,如存在转机场景,则传入多个且用竖线(|)分隔。 注意:仅在business_type字段值为2时,本字段为必填。
|
departure_time Date | 起飞时间。格式为yyyy-MM-dd HH:mm。时区为GMT +8。如存在转机场景,则传入多个且用竖线(|)分隔。 注意:仅在business_type字段值为2时,本字段为必填
|
admission_notice_url String | 学生的留学录取通知书图片链接 注意:仅在business_type字段值为3时,本字段为必填。
|
goods_info String | 商品信息,包含商品的SKU名和相应的数量,格式为 SKU_名^数量。若存在超过一件商品,用竖线(|)分隔。 注意:仅在business_type字段值为4时,本字段为必填。
|
total_quantity Number | 一个订单中的商品总量。 注意:仅在business_type字段值为4时,本字段为必填。
|
other_business_type String | 如果business_type字段值为5(其他),请务必在此字段写明具体从事的行业类型。
|
注意:
金额的小数位数精度(如trans_amount
的值)取决于货币值。如果currency
的值为JPY或KRW,则金额必须为整数,如100 JPY。其他货币金额精确到小数点后两位,如100.00 USD。其他格式将导致报错,如100.999 USD。
同步返回参数
被支付宝网关接受的参数:
参数 | 描述 |
is_success String(1) | 接口调用的状态,用于指示支付宝网关是否接受该请求。 T:已接受 F:已拒绝
|
sign_type String | 签名类型,支持RSA,RSA2和MD5。请使用大写形式。如果收到错误码ILLEGAL_SIGN,则不返回此字段。
|
sign String(32) | 签名。如果收到错误代码ILLEGAL_SIGN,则不返回此字段。
|
result_code String(32) | 请求处理结果,以下为可能的值:
|
error String(48) | 请求不成功时返回的错误码。仅当result_code值为FAILED或者UNKNOW时,返回该字段。具体参见本文档中的错误码。
|
alipay_buyer_login_id String(64) | 买家的支付宝登录ID,可为邮箱地址或者手机号码。实际值已脱敏。
|
alipay_buyer_user_id String(16) | 支付宝账号的唯一ID,以2088开头。
|
partner_trans_id String(64) | 与请求中partner_trans_id的值相同。
|
alipay_trans_id String(64) | 支付宝为商户请求分配的支付宝交易号。该字段与partner和partner_trans_id形成映射关系。
|
alipay_pay_time String(16) | 交易支付的时间,格式为yyyyMMddHHmmss。
|
currency String(8) | 标价币种,用于标记交易的价格。
|
trans_amount Number(11,2) | 以标价币种表示的交易金额。范围 0.01 - 100000000.00,精确到小数点后两位。
|
exchange_rate Number(8,6) | 支付请求中的外币与人民币之间的汇率。汇率换算在支付宝交易订单创建时发生。
|
trans_amount_cny Number(9,2) | 以人民币表示的交易金额,即买家实际支付的金额。
|
m_discount_forex_amount Number(9,2) | 如果交易中使用了优惠券/代金券, 此参数会返回结算币种对应的核销金额,否则,无返回金额。
|
被支付宝网关拒绝的参数:
参数 | 描述 |
is_success String(1) | 接口调用的状态,用于指示支付宝网关是否接受该请求。 T:已接受 F:已拒绝
|
sign_type String | 签名类型,支持RSA,RSA2 和 MD5。请使用大写形式。
|
sign String(32) | 签名值
|
error String(48) | 请求不成功时返回的错误码,用以描述请求失败的原因。详细信息参见本文档中的错误码。
|
异步返回参数
参数 | 描述 |
基本参数 | |
notify_time Timestamp | 通知发送的时间,格式为yyyy-MM-dd HH:mm:ss。
|
notify_type String | 通知类型
|
notify_id String | 通知ID,合作伙伴可使用通知ID验证通知的合法性。
|
sign_type String | 签名类型,支持RSA,RSA2和MD5。请使用大写形式。
|
sign String | 签名值
|
notify_action_type String | 收到通知后需要执行的操作,以下为可能的值:
|
业务参数 | |
out_trade_no String | 商户网站订单系统中的订单号,非支付宝交易号,需确保在商户系统中订单号的唯一性。该字段的值与请求中传入的值保持一致。
|
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) | 支付宝分配的用来标识一笔交易的流水号。长度16-64字节。
|
trade_status String | 交易状态,详细信息参见交易状态。
|
gmt_create Date | The time when the trade transaction is created. Format: yyyy-MM-dd HH:mm:ss. Use GMT+8. 交易创建的时间,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8。
|
gmt_payment Date | 支付完成的时间,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8。
|
buyer_email String | 买家的支付宝 ID,可以是电子邮件地址或电话号码。
|
seller_id String | 买家的唯一支付宝用户ID,由2088开头的16位数字组成。
|
buyer_id String | 买家的唯一支付宝用户ID,由2088开头的16位数字组成。
|
price Number | 以人民币表示的商品价格,该返回值和请求传入值相同。如果请求中的币种为人民币,以相同的值返回。如果请求中的币种为外币,按照汇率换算成人民币金额。
|
quantity Number | 商品数量。返回值和请求传入值相同。
|
total_fee Number(11,2) | 以人民币表示的交易总金额。该字段在请求中被传入,如果请求中的币种为人民币,以相同的值返回。如果请求中的币种为外币,按照汇率换算成人民币金额。
|
body String | 对一笔交易的具体描述信息。返回值和请求传入值相同。
|
refund_fee Number | 退款金额,单位为人民币元。
|
paytools_pay_amount String | 不同渠道所有成功的支付交易的支付金额。
|
extra_common_param String | 该字段返回的值与请求中passback_parameters的值相同。
|
m_discount_forex_amount Number | 如果交易中使用了优惠券/代金券, 此参数会返回结算币种对应的核销金额,否则,无返回金额。
|
错误码
错误码 | 描述 |
SYSTEM_ERROR | 支付宝系统错误 解决方案:调用查询接口alipay.acquire.overseas.query查询此支付交易的状态。有关详细信息,请参阅案例 2。 |
ILLEGAL_SIGN | 签名不正确 解决方案:使用正确的签名,然后重试。 |
INVALID_PARAMETER | 参数错误 解决方案:根据接口说明检查每个请求参数。您可以登录到 iSandbox 并使用 iDiagnose 来精确定位错误。 |
ILLEGAL_ARGUMENT | 参数错误 解决方案:根据接口说明检查每个请求参数。您可以登录到 iSandbox 并使用 iDiagnose 来精确定位错误。如果此错误仍然存在,请联系支付宝技术支持。 |
ILLEGAL_PARTNER | 商户ID不正确 解决方案:确保partner 值与支付宝分配的值一致。如果此错误仍然存在,请联系支付宝技术支持。 |
ILLEGAL_EXTERFACE | 接口配置错误 解决方案:确保service参数的值同接口说明中的值一致。如果此错误仍然存在,联系支付宝技术支持。 |
ILLEGAL_PARTNER_EXTERFACE | 商家无权使用该接口 解决方案:确保您与支付宝的协议已签订。如果需要,请联系支付宝技术支持。 |
ILLEGAL_SIGN_TYPE | 签名类型错误 解决方案:确保sign_type值为 MD5、RSA 或 RSA2。如果此错误仍然存在,请联系支付宝技术支持。 |
HAS_NO_PRIVILEGE | 无权访问 解决方案:请联系支付宝技术支持。 |
TRADE_BUYER_NOT_MATCH | 买家信息不匹配。 解决方案:商家可以要求用户显示或扫描用于上一笔付款的最后一个条形码。或者商家可以刷新partner_trans_id以生成新的付款请求。如果此错误仍然存在,请联系支付宝技术支持寻求帮助。 |
TRADE_HAS_CLOSE | 相应交易已关闭,不允许当前操作。 解决方案:商家可以发送新的付款请求。 |
TRADE_STATUS_ERROR | 当前交易状态不允许此操作。 解决方案:商户系统可以用新partner_trans_id生成付款请求。如果返回相同的错误代码,请使用其他付款方式,如现金或信用卡。 |
EXIST_FORBIDDEN_WORD | 存在违反中国法律内容。 解决方案:商户需要检查trans_name参数的内容。 |
SELLER_NOT_EXIST | alipay_seller_id的值不正确,找不到相应的帐户。 解决方案:检查卖家 ID 是否正确。 |
BUYER_NOT_EXIST | buyer_identity_code的值不正确,找不到相应的帐户。 解决方案:建议用户使用其他付款方式,如现金或信用卡。 |
BUYER_ENABLE_STATUS_FORBID | 由于安全原因,买方帐户被禁用。 解决方案:用户需要完成实名验证。用户可以联系支付宝客户服务热线寻求帮助。此功能目前不支持港澳或外国用户使用。 |
BUYER_SELLER_EQUAL | 买方帐户和卖方帐户信息相同。 解决方案:更改用户的支付宝帐户信息。 |
CLIENT_VERSION_NOT_MATCH | 客户端版本不匹配。 解决方案:将支付宝钱包更新为最新版本。 |
SOUNDWAVE_PARSER_FAIL | 条形码错误 解决方案:引导用户使用正确的支付宝条码或 QR 码。此外,请收银员检查扫描设备使用是否正确,并确保没有重复扫描用户的条码。 |
CONTEXT_INCONSISTENT | 交易信息不一致。 解决方案:商家需要检查请求数据是否与先前的数据一致。 |
PRODUCT_AMOUNT_LIMIT_ERROR | 产国产品配额。 解决方案:请联系支付宝技术支持。 |
BUYER_BALANCE_NOT_ENOUGH | 买方的支付宝账户没有足够的余额用于当前操作。 解决方案:收银员引导用户充值支付宝余额或将绑定有足够资金的新银行卡。 |
TOTAL_FEE_EXCEED | 交易额度超限。 解决方案:建议用户使用其他付款方式,如现金或信用卡。 |
BUYER_PAYMENT_AMOUNT_DAY_LIMIT_ERROR | 买方的总交易金额超过日额度上限。 解决方案:建议用户使用其他付款方式,如现金或信用卡。 |
BUYER_PAYMENT_AMOUNT_MONTH_LIMIT_ERROR | 买方的总交易金额超过月额度上限。 解决方案:建议用户使用其他付款方式,如现金或信用卡。 |
ERROR_BUYER_CERTIFY_LEVEL_LIMIT | 买家未能通过中国人民银行(PBoC)的验证。 解决方案:用户需要完成实名验证。 |
ERROR_SELLER_CERTIFY_LEVEL_LIMIT | 卖方未能通过中国人民银行(中国人民银行)的验证。 解决方案:商家需要补充营业执照和其他一些材料(海外合作伙伴遇到这种情况的可能性较低)。 |
PAYMENT_REQUEST_HAS_RISK | 支付宝检测到当前交易包含风险。 解决方案:用户可以联系支付宝客户服务寻求帮助,或使用其他付款方式,如现金或信用卡。 |
NO_PAYMENT_INSTRUMENTS_AVAILABLE | 当前操作没有可用的付款工具。 解决方案:引导用户再次付款。如果问题仍然存在,请与支付宝技术支持联系寻求帮助。 |
BUYER_BANKCARD_BALANCE_NOT_ENOUGH | 买方的银行账户没有足够的余额用于当前操作。 解决方案:引导用户充值其支付宝帐户或使用另一张银行卡再次支付订单费用。 |
PAYMENT_FAIL | 交易失败。 解决方案:商户可以使用相同的partner_trans_id重试付款。 |
MOBILE_PAYMENT_SWITCH_OFF | 买方关闭了支付宝钱包支付功能,因此无法执行操作。 解决方案:引导用户访问www.alipay.com,转到 [账户管理]- [支付宝钱包设置],并启用 [支付宝钱包支付]。 |
USER_FACE_PAYMENT_SWITCH_OFF | 买方关闭了面对面付款功能,无法执行操作。 解决方案:引导用户关闭其支付宝钱包右上角的 [付款码],然后再次打开它。 |
ERROR_BALANCE_PAYMENT_DISABLE | 买方关闭了余额付款功能,因此无法执行操作。 解决方案:引导用户访问www.alipay.com,转到 [账户管理] - [付款方式和额度],然后打开 [账户支付功能]。 |
EXCHANGE_AMOUNT_OR_CURRENCY_ERROR | 当前操作中的兑换金额或货币不被允许。 解决方案:商家需要检查金额和货币参数是否正确。 |
ILLEGAL_SECURITY_PROFILE | 密钥配置文件不正确。 解决方案:请确保在调用 API 之前已上传公钥。 |
ILLEGAL_EXTERFACE_FOR_CA_VERIFY | 不允许该接口使用证书验证服务。 解决方案:请联系支付宝技术支持寻求帮助 |
PULL_MOBILE_CASHIER_FAIL | 无法唤出移动收银台。 解决方案:请联系支付宝技术支持寻求帮助。 |
BEYOND_PAY_RESTRICTION | 超出支付限额。 解决方案:用户可以使用其他付款方式,如现金或信用卡。 |
NOT_SUPPORT_PAYMENT_INST | 不支持用户使用的支付宝钱包版本。 解决方案:请联系支付宝技术支持寻求帮助。 |
INVALID_RECEIVE_ACCOUNT | 卖方不在收款人名单上。 解决方案:请联系支付宝技术支持寻求帮助。 |
FORBIDDEN_MERCHANT_INDUSTRY | 交易类型不允许。 解决方案:检查secondary_merchant_industry的值,或联系支付宝技术支持。 |
ILLEGAL_MERCHANT_INDUSTRY | MCC 格式不准确。 解决方案:确保secondary_merchant_industry的值是在MCC 列表中有定义。 |
CURRENCY_NOT_SUPPORT | 不支持该货币。 解决方案:参照您与支付宝的协议。 |
TRADE_TOTAL_FEE_ERROR | 总交易费用不正确。 解决方案:检查金额相关参数的值。 |
RESTRICTED_MERCHANT_INDUSTRY | 付款不能超过该行业的金额限定。 解决方案:检查您与支付宝的协议。 |
ACCESS_FORBIDDEN | 商户无权使用该产品。 解决方案:请检查您与支付宝的协议。 |
SECONDARY_MERCHANT_ID_BLANK | 二级商户ID未提供。 解决方案:上传二级商户ID |
SECONDARY_MERCHANT_ID_INVALID | 二级商户未在支付宝注册。 解决方案:检查所提供的二级商户ID是否正确,以及二级商户是否已在支付宝注册。如果二级商户未在支付宝注册,请立即向支付宝注册二级商户。 |
STORE_NOT_MATCH | 二级商户未在支付宝注册。 解决方案:检查所提供的store ID是否正确,以及二级商户是否已在支付宝注册。如果二级商户未在支付宝注册,请立即向支付宝注册二级商户。 |
SECONDARY_MERCHANT_STATUS_ERROR | 支付宝系统中二级商户的状态不正常。 解决方案:通过发送电子邮件给global.service@alipay.com联系支付宝业务支持。 |
结果处理
案例1:当调用因网络问题或请求超时而失败,并且从支付宝无响应时,执行以下操作:
- 调用alipay.acquire.overseas.query 查询接口获取支付订单的状态。
- 如果状态为TRADE_SUCCESS,则订单已成功支付。无需采取进一步行动。
- 如果状态为TRADE_SUCCESS,调用alipay.acquire.cancel接口取消此交易,然后发起新订单。
案例2:如果收到支付宝响应,且以下结果之一被返回,
- is_success=F,error=SYSTEM_ERROR
- is_success=T,result_code=FAIL,error=SYSTEM_ERROR
- is_success=T,result_code=UNKNOW
执行以下操作:
- 调用alipay.acquire.overseas.query 查询接口获取支付订单的状态;
- 如果状态为TRADE_SUCCESS,则订单已成功支付。无需采取进一步行动;
- 如果状态为TRADE_SUCCESS,调用alipay.acquire.cancel接口取消此交易,然后发起新订单。
案例3:如果您收到支付宝is_success=T ,result_code=SUCCESS,则订单已成功支付。
案例4:如果收到以下支付宝响应,表明商家未能取消订单:
- is_success=F,错误码YSTEM_ERROR
- is_success=T, result_code=FAIL,错误码SYSTEM_ERROR
参考具体错误码以了解更多信息。
伪代码
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();
}
}
示例
请求示例
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
返回示例
同步返回
请求发送成功,业务处理成功:
<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>
请求发送成功,业务处理失败:
<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>
请求失败或上传数据错误:
<?xml version="1.0" encoding="utf-8"?>
<alipay>
<is_success>F</is_success>
<error>ILLEGAL_SIGN</error>
</alipay>
异步返回
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=$$$
更多信息
离线无网转在线有网模式
在大多数情况下,离线无网转在线有网模式将在以下方案中激活:
- 客户关闭支付宝主页上的离线功能 (www.alipay.com)
- 支付宝的风险系统检测到支付有风险
- 用户余额通道已关闭或冻结
- 系统错误 (支付宝侧支付渠道错误)
- 支付宝检查支付渠道时检测到资金不足时
- 交易额度超过阈值,包括当天累计交易额度阈值超过或当月累计交易阈值超过