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

作者: 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跨平台):

  1.  在参照了JavaSDK的基础上,实现了Delphi跨平台版本SDK), 不再需要不同用不同的sdk
  2. 使用说明:使用方式,使用前请打开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类图

测试说明

工程说明:

作者: LEO  QQ:13498714

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章