https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.utPWkK&treeId=26&articleId=104729&docType=1
应用场景:
注意:该种模式暂未对外开放,开放时间8月初
) 1.生成商户私钥、公钥文件
参看官方文档:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.rexvQZ&treeId=26&articleId=104105&docType=1
Php或C#语言一般使用原始私钥格式的.pem文件。
如果是JAVA语言,则需要使用PKCS8转换过的私钥。
打开https://open.alipay.com登录商户支付宝账号,点击右上角登录账号名。
点击查看应用公钥,会在弹出框中展示公钥内容
点击修改,修改商户应用公钥需要添加手机验证码验证身份。
点击查看支付宝公钥,可以查看支付宝的公钥,将此公钥配置到商户的系统中。
1.参数传递需注意,这两个参数只有在做商家运营活动时才需要传递,没有做商家营销活动情况下请不要传递,因为如果误传递为0将会导致后续启动优惠活动时优惠金额无法抵扣,这两个参数要慎用。
2.royalty_info参数默认不开启,如需此同步分润功能需要联系客户经理添加分润限制集合。
3.扫码支付接口异步通知中不会返回notify_action_type参数,已经反馈开发删除文档中该参数。
4.条码支付没有异步通知,采用同步返回信息+查询接口方式使用;扫码支付接口是有异步通知返回参数的。
5.接口超时时间建议使用timeout_express相对超时时间,不要使用time_expire绝对超时。如果使用绝对超时,超时时间务必要大于1分钟(尽量大于5分钟,要考虑商户服务器和支付宝系统服务器的时间差),如果超时时间小于1m会导致交易创建报错INVALID_PARAMETER。
6.二维码默认超时时间是2小时。超时参数是在扫码后开始计时,超过超时时间订单关闭。如果未扫码的情况下想控制二维码失效,通过调用撤销接口实现。撤销后再扫码时提示二维码失效。
7.接口返回信息中的开票金额(invoice_amount)、付款金额(buyer_pay_amount)、实收金额和支付渠道(fund_channel)的计算关系:
8.alipay.trade.refund退款申请接口调用需要注意,如果是部分退款out_request_no参数必传,否则会报错REFUND_AMT_NOT_EQUAL_TOTAL。全额退款时该参数可为空。
1.当接口返回结果码为10003、20000时必须配合接入查询接口轮训交易状态;
2.商户接入建议全部传入(如果有建议必传!具体根据业务需求咨询客户经理或运营决定)store_id、terminal_id,方便出现问题排查。
3.查询,撤销接口必须接入,退款接口可选。.
4.参数传递需注意,这两个参数只有在做商家运营活动时才需要传递,没有做商家营销活动情况下请不要传递,因为如果误传递为0将会导致后续启动优惠活动时优惠金额无法抵扣,这两个参数要慎用。.
5.系统商商户接口中extend_params参数必传,sys_service_provider_id传系统商签约账户的PID,格式如:
"extend_params":{"sys_service_provider_id":"2088511833207846"}
6. 酒店、景区、汽车站商户goods_detail参数要求必传!参数格式传递要求如下:
1)酒店:
主要针对系统商和中高端酒店等,一笔订单存在多个业务账单的场景。该参数传递参考样例:
[{“goods_id”:“001”,“goods_name”:“房费”,“price”:“200.00”,“quantity”:“1”},{“goods_id”:“002”,“goods_name”:“餐饮 费”,“price”:“200.00”,“quantity”:“1”},{“goods_id”:“003”,“goods_name”:“其它费用”,“price”:“200.00”,“quantity”:“1”}]
2)景区:
goods_id、body、goods_name、goods_category、quantity、price必传!并且参数值按照下面括号中描述取值,严格区分大小写。
参数名 | 参数功能描述 | 参数值 |
goods_id | 用于区分景区类型,5A、4A、乐园、其他 | 5A;4A;park;other |
Body | 该景区所属省份 | 省份中文名,如:浙江 |
goods_name | 用于区分单一景区 | 景区中文名全称 |
goods_category | 用于区分票口、园内二次消费场景 | ticket;other |
quantity | 用于传递门票数量或商品的数量 | 如:1 |
price | 传递商品单价,单位为元 | 如:200.00 |
该参数传递参考样例:
[{“goods_id”:“park”,“body”:“四川”,“goods_name”:“成都欢乐谷”,“goods_category”:“ticket”,“price”:“200.00”,“quantity”:“1”}]
store_id参数对于景区类商户要求必传!(用于判别每个消费点,赋值如:东门票口、西门票口、XX餐厅、XX纪念品店等)
。3)汽车站:
商品明细说明参数传递规则:
goods_id、body、goods_name、goods_category、quantity、price必传!并且参数值按照下面括号中描述取值,严格区分大小写。
参数名 | 参数功能描述 | 参数值 |
goods_id | 汽车站所属省份 | 省份中文名,如浙江 |
Body | 汽车站所属城市 | 城市中文名,如杭州 |
goods_name | 车站中文全称 | 汽车站中文名全称,如杭州客运中心 |
goods_category | 用于区分终端机和窗口购票 | terminal,window |
quantity | 用于传递门票数量或商品的数量 | 如:1 |
price | 传递商品单价,单位为元 | 如:200.00 |
参考样例:
[{“goods_id”:“四川”,“body”:“成都”,“goods_name”:“成都新南门车站”,“goods_category”:“terminal”,“price”:“50.00”,“quantity”:“2”}]