安卓在确认付款意图后无法获取条纹收费 ID [3DS2]



我正在实现new version of Stripe (SCA-READY), version 12.8.2.
一切都在工作。
但是我需要在确认PaymentIntent后获得charge ID.
确认PaymentIntent后,我从server(转发stripe response(收到的ID
但是,当进程需要 3ds2(或 3ds(时,我没有收到此ID

(以下片段仅代表收费部分,如果您想要完整的JSON,请在评论中询问我(

这是没有 3ds2 身份验证的响应代码段

然后是需要 3ds2 身份验证时的响应代码段:

"charges": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/charges?payment_intent=pi_1FxfoiHk0bG3YRQo1hU4c6f1"
},  

如果没有这个 id 与条带文档的协议,我无法检索费用

然后我也没有任何属性对应于3ds2 处理后stripe sdkPaymentIntent中的电荷,我可以在activityResultcallback(在 3ds2 身份验证后触发以处理结果(:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == PaymentMethodsActivityStarter.REQUEST_CODE && data != null) {
val result = PaymentMethodsActivityStarter.Result.fromIntent(data)
val paymentMethod = result?.paymentMethod
adapter.renderCard(paymentMethod)
}
val isPaymentIntentResult = paymentServiceProvider.stripe.onPaymentResult(
requestCode, data,
object : ApiResultCallback<PaymentIntentResult> {
override fun onSuccess(result: PaymentIntentResult) {
adapter.processStripeIntent(result.intent)//The intent accessed here hasn't any charges (stuff like amount paymentMethod, but nothing about charges)
}
override fun onError(e: Exception) {
Toast.makeText(this@ClientMainActivity, e.message, Toast.LENGTH_LONG).show()
}
})
}

编辑: 有一个状态成功的响应正文:

{
"id": "pi_1FxzypHk0bG3YRQop47ZATBv",
"object": "payment_intent",
"amount": 500,
"canceled_at": null,
"cancellation_reason": null,
"capture_method": "automatic",
"client_secret": "secret",
"confirmation_method": "automatic",
"created": 1578334027,
"currency": "eur",
"description": null,
"last_payment_error": null,
"livemode": false,
"next_action": null,
"payment_method": "pm_1Fv1nxHk0bG3YRQoqldFvopb",
"payment_method_types": [
"card"
],
"receipt_email": null,
"setup_future_usage": null,
"shipping": null,
"source": null,
"status": "succeeded"
}

在完成对用户进行身份验证之前,不会创建任何费用 作为 3D 验证的一部分,并且付款意向处于succeededrequires_payment_method状态:https://stripe.com/docs/payments/intents

此时您的 Stripe 管理平台中的支付意向是什么样子的?

最新更新