【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类图
测试说明
工程说明:
现在支付宝增加了运营激励,我有一个用户估算,每个月有十多万的经费(不能直接提现),大家自己想象哈,下面是官方说明地址: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类图
测试说明
工程说明:
相关文章推荐
- 【Delphi】【C++Builder】 微信和支付宝支付SDK(当面付) D7 D2010 XE2 XE7 XE8 XE10跨平台 已支持RSA256
- 【C++Builder】 微信和支付宝支付SDK(当面付)
- iOS 9中需要使用 QQ/QQ空间/支付宝/微信SDK 的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如下代码
- 微信、支付宝App支付-JPay 简单而不简洁的App支付SDK
- 支付宝、微信sdk支付流程模拟
- 基于SDK的支付接口服务端——支付宝,微信
- 支付宝变支付鸨?想当微信你还差个陌陌!
- 支付宝sdk支付
- 阿里支付,支付宝支付, laravel5, laravel,sdk
- HBuild Hybrid App开发(十二)微信/支付宝支付
- 微信和支付宝支付模式详解及实现(.Net标准库)- OSS开源系列
- Android平台,支付宝和微信app支付总结
- “一码多付”,微信支付、支付宝支付,微信中控服务器
- RemObjects SDK Source For Delphi XE7
- 微信服务号开发之jssdk-微信充值、支付见解
- 接入微信、支付宝条码支付的正确姿势
- Android支付宝支付接入(支付宝支付SDKV2.0版)
- Xcode8 集成微信/支付宝sdk步骤及错误
- 源码推荐(0518):支付宝、微信、银联、百度钱宝、银联、苹果支付,简单弹窗效果
- 支付流程(微信,支付宝)