作者: LEO QQ:13498714
在前面,首先向大家讲一下,当面付是有支付返点的:
现在支付宝增加了运营激励,我有一个用户估算,每个月有十多万的经费(不能直接提现),大家自己想象哈,下面是官方说明地址:https://render.alipay.com/p/f/fd-iuphgys7/index.html
微信2017返点说明: http://mt.sohu.com/20170103/n477641741.shtml(非官方,转载的)
支付SDK(微信和支付宝),我应该是国内第一个封装成sdk的 现已支持RSA256,经过多个大型商用后,打磨的非常成熟,网上也有朋友做出来了,但大家在使用时需要注意以下问题:
1. 调用之后,返回的数据,是否有验签,不验签,无法保证数据整确(https中间人诈骗)
2. 是否加上了对验签出错的判断
3. 是否需要回调服务器
4. 查询接口是否完整
----------------------------------------------------------------------正文分割线--------------------------------------------------------------------------------------------------
SDK现在支持C++Builder XE2,也支持C++Builder6啦,纯C++Builder代码
当面付说明: 有二种方式(SDK均实现):
1. 商家扫用户手机付款二维码
2. 用户扫商家生成的二维码
微信和支付宝SDK VCL/Firemonkey版本(支持D7 D2010 XE2 XE7 XE8 XE10跨平台):
重要的事说明:
DEMO中已经实现了监控支付情况 ,无须三方服务器支持
DEMO中已经实现了监控支付情况 ,无须三方服务器支
DEMO中已经实现了监控支付情况 ,无须三方服务器支持
关于支付参数属性,请参加官网API,我封装的基本上和api上的一致,有些地方做了细微优化
支付宝: 支付宝的接口十分齐全,支付ISV用户
官网api地址:https://doc.open.alipay.com/doc2/apiList?docType=4
alipay.trade.precreate(Leo.Alipay.Trade.Precreate单元实现)
alipay.trade.pay(Leo.Alipay.Trade.Pay单元实现)统一收单交易支付接口(条码支付)
alipay.trade.cancel(Leo.Alipay.Trade.Cancel单元实现)统一收单交易撤销接口
alipay.trade.refund(Leo.Alipay.Trade.Refund单元实现)统一收单交易退款接口
alipay.trade.close(Leo.Alipay.Trade.Close单元实现)统一收单交易关闭接口
alipay.trade.query(Leo.Alipay.Trade.Query单元实现)统一收单线下交易查询alipay.open.auth.token.app(Leo.Alipay.OpenAuth.Token.Convert单元实现)换取应用授权令牌alipay.open.auth.token.app.query(Leo.Alipay.OpenAuth.Token.Query单元实现)查询某个应用授权AppAuthToken的授权信息alipay.data.dataservice.bill.downloadurl.query(Leo.Alipay.Data.Bill.Query单元实现)查询对账单下载地址monitor.heartbeat.syn(Leo.Alipay.Monitor单元实现)交易保障接口
微信:
官网api地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1#
pay/unifiedorder(Leo.WX.Pay.Precreate单元实现)
pay/micropay(Leo.WX.Pay.Micropay单元实现)
pay/orderquery(Leo.WX.Pay.OrderQuery单元实现)
pay/closeorder(Leo.WX.Pay.OrderClose单元实现)
pay/refund(Leo.WX.Pay.OrderRefund单元实现)
pay/refundquery(Leo.WX.Pay.RefundQuery单元实现)
支付宝SDK说明
API翻译成SDK有许多坑,RSA签名和验签是一个很大的坑, 然后调试SDK是一个更大的坑。验签这里真的要求思维缜密~
设计说明:
虽然参照了Java的SDK,但内部框架设计上个人觉得具有较高设计水准.
内部访问网络用的是自带的INDY,设计上可以很轻松的切换其他访问网络的库的(继承实现TLeoHttpClient类,并通过TLeoHttpClientRegister进行注册)
由于没有用三方库,所以肯定是跨平台的(INDY的https是需要SSL的,所以各操作平台下需要SSL库(win下需要libeay32,ssleay32.dll))
支付宝SDK类图
测试说明
工程说明:
作者: LEO QQ:13498714