支付宝支付遇到的各种坑及解决问题

请根据官方文档进行配置 

http://app.alipay.com/market/document.htm?name=saomazhifu#page-22


进行支付宝支付  我们这里是后台给的商品信息字符串

- (void)payzhifubao:(NSString *)str{

    NSString *appScheme =@"alisdkdemo";

    //将商品信息拼接成字符串

    NSString *orderSpec = str;

    

    [[AlipaySDKdefaultService]payOrder:orderSpecfromScheme:appSchemecallback:^(NSDictionary *resultDic) {

        /*

         9000 订单支付成功

         8000正在处理中,支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态

         4000 订单支付失败

         6001 用户中途取消

         6002 网络连接出错

         6004支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态

         其它其它支付错误

         */

        if ([resultDic[@"resultStatus"]intValue] ==9000) {

            //支付成功

        }else{

           //支付失败

        }

    }];

}


//在你配置过程中的时候可能遇到的bug


1.Cannot find interface declarationfor'NSObject',superclassof 'Base64'

解决方案:

导入框架#import <Foundation/Foundation.h>


2.错误在openssl_wrapper.h文件中,没有该类型的属性

解决方案:

 在openssl_wrapper.m文件添加头文件:

#import <Foundation/Foundation.h> 

#import <UIKit/UIKit.h>

3.错误’openssl/asn1.h‘ file not found;

解决方案:

 Targets->Build Settings->Header SearchPath中添加我们刚新建的AliPaySDK文件夹的路径(拖拽此文件夹至输入框即可)


//在你对接支付的时候可能遇到的问题

1.支付宝支付时显示:系统繁忙,请稍后再试

解决方案:

先看参数是否齐全,再看签名,如果是后台加的签需要把+  /   = 之类的改成ASCII 字符(十六进制格式) 


2.支付出现6002

1)在info.plist中加入安全域名白名单(右键info.plist用source code打开)。

复制代码
 <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>mqqOpensdkSSoLogin</string>
        <string>mqzone</string>
        <string>sinaweibo</string>
        <string>alipayauth</string>
        <string>alipay</string>
        <string>safepay</string>
        <string>mqq</string>
        <string>mqqapi</string>
        <string>mqqopensdkapiV3</string>
        <string>mqqopensdkapiV2</string>
        <string>mqqapiwallet</string>
        <string>mqqwpa</string>
        <string>mqqbrowser</string>
        <string>wtloginmqq2</string>
        <string>weixin</string>
        <string>wechat</string>
    </array>
复制代码

2)在info.plist的NSAppTransportSecurity下新增NSAllowsArbitraryLoads并设置为YES,指定所有HTTP连接都可正常请求

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

3.弹框显示弹框显示交易失败,请稍后再试

解决方案:

仔细检查私钥跟商户上传的公钥不匹配


朋友们有写的不对的欢迎指正,如果还有其他问题,请留言互相学习进步,谢谢^_^


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值