您的位置:首页 > 编程语言 > Delphi

【Delphi】 微信和支付宝支付SDK(当面付) D7 D2010 XE2 XE7 XE8 XE10跨平台

2017-04-19 09:46 931 查看
在前面,首先向大家讲一下,当面付是有支付返点的:

现在支付宝增加了运营激励,我有一个用户估算,每个月有十多万的经费(不能直接提现),大家自己想象哈,下面是官方说明地址:https://render.alipay.com/p/f/fd-iuphgys7/index.html

微信2017返点说明: http://mt.sohu.com/20170103/n477641741.shtml(非官方,转载的)

支付SDK(微信和支付宝),我应该是国内第一个封装成sdk的,经过多个大型商用后,打磨的非常成熟,网上也有朋友做出来了,但大家在使用时需要注意以下问题:

1. 调用之后,返回的数据,是否有验签,不验签,无法保证数据整确(https中间人诈骗)

2. 是否加上了对验签出错的判断

3. 是否需要回调服务器

4. 查询接口是否完整

----------------------------------------------------------------------正文分割线--------------------------------------------------------------------------------------------------

当面付说明: 有二种方式(SDK均实现):

1. 商家扫用户手机付款二维码

2. 用户扫商家生成的二维码

微信和支付宝SDK VCL/Firemonkey版本(支持D7 D2010 XE2 XE7 XE8 XE10跨平台):

 在参照了JavaSDK的基础上,实现了Delphi跨平台版本SDK), 不再需要不同用不同的sdk
使用说明:使用方式,使用前请打开Leo.AlipayAndWX_SDK_X10.groupproj参见微信和支付宝的使用DEMO,

重要的事说明: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类图



测试说明







工程说明:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: