内购与支付
购买前的商品配置、创建订单、支付通知与发货处理见 Combo 内购与支付流程。取得订单 Token 后,按以下方法发起购买。
- Android
- iOS
fun purchase(activity: Activity, options: PurchaseOptions, completionHandler: (PurchaseResult?, ComboSDKError?) -> Unit)
请求参数
| Properties | Type | Required | Description |
|---|---|---|---|
activity | Activity | true | 当前 Activity。 |
options | PurchaseOptions | true | 内购传入的参数集。 |
completionHandler | (PurchaseResult?, ComboSDKError?) -> Unit | true | 用于接收和处理结果的回调函数。 |
示例代码
Show Code
val options = PurchaseOptions("order token")
ComboSDK.purchase(this, options) { result, error ->
if (error != null) {
Log.e("ComboSDK", "Purchase Failed: ${error.error}")
return@purchase
}
result?.let {
Log.d("ComboSDK", "Order ID: ${it.orderId}")
}
}
static func purchase(options: PurchaseOptions, completionHandler: @escaping (PurchaseResult?, ComboSDKError?) -> Void)
请求参数
| Properties | Type | Required | Description |
|---|---|---|---|
options | PurchaseOptions | true | 内购传入的参数集。 |
completionHandler | (PurchaseResult?, ComboSDKError?) -> Void | true | 用于接收和处理结果的回调函数。 |
示例代码
Show Code
PurchaseOptions *options = [[PurchaseOptions alloc] initWithOrderToken:@"order token"];
[ComboSDK purchaseWithOptions:options completionHandler:^(PurchaseResult * _Nullable result, ComboSDKError * _Nullable error) {
if (error) {
NSLog(@"ComboSDK Purchase Failed: %@", error.error);
return;
}
NSLog(@"Purchase Success:\n Order ID: %@", result.orderId);
}];
PurchaseOptions
| Properties | Type | Required | Description |
|---|---|---|---|
orderToken | String | true | Combo Server REST API 订单创建成功后签发的 JWT。 |
PurchaseResult
| Properties | Type | Description |
|---|---|---|
orderId | String | Seayoo 服务端生成的订单号。 |
Error
| Error | Description |
|---|---|
SERVER_ERROR | 服务器错误。 |
NETWORK_ERROR | 网络错误。 |
STORE_ERROR | 应用商店返回的错误。 |
UNKNOWN_ERROR | 未知错误。 |