微信支付
使用知晓云支付 SDK
,需要先在知晓云控制台关联商户账号,以及在 XCode
完成相应配置。
商户账号关联
在知晓云控制台完成商户账号关联,步骤如下图所示:
Xcode 配置
在使用微信支付,需要在 Xcode 进行配置以及重写相关方法,具体参考微信登录的Xcode 配置小节。
发起支付
当用户选择商品后,发起一笔支付时,需要传入订单价格、订单描述等相关参数。后续如需查询订单状态,可以传入商品 id
等信息,请参照参数说明。
该接口只是创建订单,并发起微信支付,不能以微信返回的结果作为知晓云 SDK
的支付结果。查询支付结果请查阅 订单查询 章节的 查询订单详情 小节,以该接口返回的订单状态进行后续处理,比如发送商品。
示例代码
let options: [PaymentOptionKey: Any] = [.merchandiseRecordID: "123", .merchandiseSchemaID: "123", .merchandiseSnapshot: ["somekey": "somevalue"], .profitSharing: true]
Pay.shared.wxPay(totalCost: 0.01, merchandiseDescription: "微信支付", options: options, completion: { (order, error) in
})
NSDictionary *options = @{PaymentOptionKey.merchandiseRecordID: @"123", PaymentOptionKey.merchandiseSchemaID: @"123", PaymentOptionKey.merchandiseSnapshot: @{}, PaymentOptionKey.profitSharing: @YES};
BaaSPay *pay = [BaaSPay.shared wxPayWithTotalCost:0.01 merchandiseDescription:@"微信支付" options: options completion:^(BaaSOrder * _Nullable order, NSError * _Nullable error) {
}];
参数说明
参数 | 类型 | 必填 | 参数描述 |
---|---|---|---|
totalCost | Float | Y | 支付总额 |
merchandiseDescription | String | Y | 支付凭证-商品详情的内容 |
options | [PaymentOptionKey: Any] | N | 支付订单参数,参考PaymentOptionKey |
举例:开发者有一个 Article
表, 里面有免费 / 付费的文章, 当用户对一篇付费文章进行支付时, 则可以将 Article
表的 ID 作为 merchandiseSchemaID
, 文章记录的 ID 作为你 merchandiseRecordID
作为支付参数,写进支付订单记录。当用户阅读此付费文章时, 则可以通过 merchandiseSchemaID
, merchandiseRecordID
来查询用户是否付费。
支付返回参数说明
名称 | 类型 | 说明 |
---|---|---|
order | Order | 订单信息,详见 订单查询 |
error | NSError | 错误信息 |
error 对象结构请参考错误处理和错误码
PaymentOptionKey
支付可选参数
参数 | 类型 | 必填 | 参数描述 |
---|---|---|---|
merchandiseSchemaID | String | N | 商品表 ID,可用于定位用户购买的物品 |
merchandiseRecordID | String | N | 商品记录 ID,可用于定位用户购买的物品 |
merchandiseSnapshot | [String: Any] | N | 根据业务需求自定义的数据 |
profitSharing | Bool | N | 当前订单是否需要分账。分账操作 |