你的位置:首页 > ASP.net教程

[ASP.net教程]支付宝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(商品描述)...等 再调用支付宝接口即可(信息保证和下订单时的数据是一样的),即可继续支付上次下的订单.