Usage

TerraCore v0

PayForOrder#

After mini-app creates an order with code mini_app_order_code and value totalAmount, use below code to pay for it

Firstly, create the payment request

val paymentRequestBuilder = PaymentRequestBuilder(PaymentV2Request.Order("mini_app_order_code", totalAmount))
.setMainMethod(
PaymentV2Request.Payment.MainMethod(
method = PaymentV2Request.Payment.Method.All,
amount = totalAmount
)
)
.setOptions(PaymentV2Request.ExtraOptions(
shouldShowPaymentResultScreen = true
))

...then pay for the order

  • If your mini-app uses TerraApp as well, then pass your TerraApp's appName to terraAppName
  • Else pass null to terraAppName
PaymentKit.payForOrder(
context = context,
terraAppName = "mini_app_name", // if you do not use TerraApp, pass null
paymentRequest = paymentRequestBuilder.build(),
callback = object : PaymentResultV2Callback {
override fun onResult(result: PaymentV2Result) {
val paymentResultStatus = when (result.resultCode) {
PaymentV2Result.RESULT_CANCELED -> {
// process cancel result
}
PaymentV2Result.RESULT_FAILED -> {
// process failed result
}
PaymentV2Result.RESULT_SUCCEEDED -> {
// process successful result
}
else -> {
// process unknown result
}
}
}
}
)

For more detail about PaymentRequestBuilder please refer to PaymentUIRequestBuilder. The parameters are pretty similar.