这是官方文档: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]];
}
网友评论