PaymentService
IAPMiniProgram SDK calls the PaymentService SPI to initiate the payment process and handle the payment result.
pay
Method signature
IAPMiniprogram SDK calls the getAuthCode
method to initiate the payment process.
func pay(
with request: IAPWalletPaymentRequest,
in context: IAPWalletAPIContext? = nil,
callback: @escaping (IAPWalletPaymentResult) -> Void
)
Request parameters
Field | Data type | Description | Required |
request | The request object to initiate a payment. | Yes | |
context | IAPWalletAPIContext | A context object, which carries the mini program runtime metadata. | No |
callback | Callback (For details, see the following section) | The callback that is executed when the request processing is complete. | Yes |
Callback
Field | Data type | Description | Required |
result | The result of the | Yes |
Response parameters
N/A
Error codes
Error code | Error message | |
1000 | ERROR_CODE_UNKNOWN_ERROR | Unknown error |
1001 | ERROR_CODE_USER_CANCEL | The user cancels the operation. |
1002 | ERROR_CODE_APP_SERVICE_ERROR | The app service is wrong. |
1003 | ERROR_CODE_TIMEOUT | Timeout |
1005 | ERROR_CODE_SYSTEM_ERROR | System error |
2001 | ERROR_CODE_AUTH_PENDING_AGREEMENT | Authorization is not finished or is pending. |
Samples
The following samples show how to call the PaymentService SPI to initiate the payment process and handle the payment result.
- Create a class that implements the PaymentService interface.
- Within this class, implement the
pay
method to initiate the payment process and request for payment with the type of order, and handle the payment result.
Swift
final class PaymentService: IAPWalletPaymentServiceSignature, UIAlertViewDelegate {
override func pay(
with request: IAPWalletPaymentRequest,
in context: IAPWalletAPIContext? = nil,
callback: @escaping (IAPWalletPaymentResult) -> Void
) {
// to payment code
let result = IAPWalletPaymentResult(resultCode: "RESULT_CODE", resultMessage: "RESULT_MSG")
callback(result)
}
}