前言
现在我们很多项目都会涉及到支付,而在支付里面最典型的就是支付宝和微信,还有其他的地方使用了银联、天翼支付等其他支付方式。我正在开发的项目中使用支付宝支付的时候遇到审核时候被扫描出含有支付宝SDK而遭苹果拒绝,但是项目中必须使用支付宝进行支付,最后经过对支付宝SDK调用支付宝客户端scheme的分析,然后自己拼接字符串,完成对支付宝的调用;同样的道理完成了对微信支付的调用。这个SNPaySDK是封装好的SDK以及源代码和demo,如果对大家有帮助记得Star哦😀😀。
思路
- 通过拦截支付宝SDK的scheme完成对支付宝URL分析
-通过拦截微信SDK的scheme完成对 微信URL分析
实现
- 统一的传参。
/**
调用支付
@param type 支付类型
@param money 支付金额(分)
@param orderId 订单号
@param title 商品名称
@param desc 商品详情
@param url 通知地址
*/
+ (void)doPayWithType:(PayWay)type money:(NSString *)money orderId:(NSString *)orderId title:(NSString *)title desc:(NSString *)desc notiUrl:(NSString *)url;
- 统一的回调处理,在需要接收支付结果的地方注册一个通知(kSNPayResultNotification)。
/**
处理支付完成之后的回调
*/
+ (void)handleOpenUrl:(NSURL *)url;
-
支付宝数据拼接分析。
微信数据拼接分析。
不足之处
- 在没有安装支付宝的情况还没有实现Web的支付方式