Cocos CreatorSDK

Cocos creator ios开发—微信支付(二)

2019-03-07  本文已影响1人  洒一地阳光_217d

这是官方文档:app微信支付开发文档

第一步、
先接入微信SDK,请参考Cocos creator ios开发—接入微信SDK

第二步、
在Xcode的Info的设置项中,URL Types 的URL Schemes填写APPID,
app启动时,注册APPID,在AppController.mm中的didFinishLaunchingWithOptions方法中注册

// 在AppController.mm中,引入头文件
#import "WXApi.h"

[AppController RegisterAppID:@"wxdxxxxxxxxx"];

第三步、
向oc发送支付信息

let objParam = {
     appId: xxxx,
     nonceStr: xxxx
     partnerId: xxxx,
     prepayId: xxxx,
     timeStamp: xxxx,
     sign: wxppd.getSign(),
 };

let stringifiedParam = JSON.stringify(objParam);
// 向oc发送支付信息

第四步、
oc收到支付信息,发起支付

// 实际微信 支付的逻辑。
+ (void)pony:(NSString *)order {
    NSLog(@"order %@",order);
    if (![WXApi isWXAppInstalled]) {
        // 没有安装微信,无法支付。
        return;
    }
    
    // 解析发过来的json文件。
    NSDictionary *res = [Util parseJson:order];
    if (res == nil || [res count] <= 0) {
        // 解析数据失败
        return;
    }
    
    //获取下列参数:appId  nonceStr partnerId prepayId timeStamp sign
    NSMutableString *s1 = [[NSMutableString alloc] initWithString:@"wei"];
    NSString *s2 =@"xin://app/%@/pay/?nonceStr=%@&package=Sign%%3DW";
    NSString *s3 =@"XPa";
    NSString *s4 =@"y&partnerId=%@&prepayId=%@&timeStamp=%@&sign=%@&signType=SHA1";
    // 拼接
    [s1 appendString:s2];
    [s1 appendString:s3];
    [s1 appendString:s4];
    NSString *str = [NSString stringWithFormat:s1,
                     res[@"appId"],
                     res[@"nonceStr"],
                     res[@"partnerId"],
                     res[@"prepayId"],
                     [NSString stringWithFormat:@"%d",[res[@"timeStamp"] intValue]],
                     res[@"sign"]
                     ];
    // 发起支付
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
}
上一篇 下一篇

猜你喜欢

热点阅读