支付宝PC即时到账和手机网站支付同步
前几个月做了一个旅游网站,有PC站和手机站,涉及支付宝支付功能.
要求:PC站下的单,用户用手机登录也能支付;同理,手机站下的单,PC端登录也能支付.
当然啦,最基本的就是要申请账号,签约产品.完事之后,把官网的DEMO跑起来.
PC端DEMO:create_direct_pay_by_user-CSHARP-UTF-8
手机端DEMO:alipay.wap.create.direct.pay.by.user-CSHARP-UTF-8
然后呢,要了解支付宝的支付逻辑.
现在我理解的是,把商品信息提交给Alipay而已(安全方面已然做足,时间戳,md5等加密参数确保api安全,Alipay会把表单数据拼接好,并post给Alipay,Alipay处理接收到的数据后,返回支付界面内容.)
解决PC端和手机端支付同步的问题:
1.调用Alipay的区别,Config里的两个参数不一样,其它都是一样的.
Com.Alipay.Config.return_url:PC端和手机站支付完成后跳转的页面网址不一样.
Com.Alipay.Config.service:"alipay.wap.create.direct.pay.by.user"(->手机站);"create_direct_pay_by_user"(->电脑站).
支付时主要参数:out_trade_no(商户订单号),subject(订单名称),total_fee(付款金额),body(商品描述)...等.
alipay会根据config去提交这些数据.生成支付宝订单.
2.解决订单继续支付
如果用户下了订单,却未支付.如何继续支付呢.
不管是手机端还是电脑端,根据 out_trade_no(商户订单号),subject(订单名称),total_fee(付款金额),body(商品描述)...等 再调用支付宝接口即可(信息保证和下订单时的数据是一样的),即可继续支付上次下的订单.