簡體   English   中英

Stripe:為未來的支付設置一張經過 3d 安全認證的卡

[英]Stripe: Setting up a card for future payments that is 3d secure authenticated

我已經實施了本 Stripe 教程中描述的有關如何保存卡信息以供日后使用(未來付款)的步驟:

https://stripe.com/docs/payments/save-during-payment

現在已經實施並且工作正常。

我在卡上收取 0.5 美元以觸發 3d 安全身份驗證過程。 它的工作原理是,它首先檢查 PaymentIntent 狀態是什么,如果它是“action_required”,那么它會重定向到這個 HTML,我在 JS 中實現了以下內容:

function _3dsec(stripe_publishable_key, pi_secret) {
    document.addEventListener("DOMContentLoaded", function(event) {
        var stripe = Stripe(stripe_publishable_key);

        stripe.confirmCardPayment(pi_secret).then(function(result) {
            if (result.error) {
                $("#3ds_result").text("Error!");
                $("#3ds_result").addClass("text-danger");
        }   else {
                $("#3ds_result").text("Card succesfully validated");
                $("#3ds_result").addClass("text-success");
        } 

        })

    })



}

這也很好用,如果卡需要,它會進行 3D 安全認證。 我只測試過條紋卡。 然后我的想法是我退還 0.5 美元,因為它只是用於驗證卡。

但是,在我的產品中,費用是在之后完成的。 只有一個包含用戶和付款信息的注冊頁面,然后在用戶使用我的產品時產生費用。 這適用於不需要 3D 安全身份驗證的卡,但對於需要身份驗證的卡,我以后無法創建費用,也無法在 PaymentIntent 上獲得“需要 3D 安全身份驗證”狀態。 並且客戶無法對其進行身份驗證,因為他們在那段時間不在網站上(“關閉會話”)。

這種 3d 安全行為是否僅在 Stripe 測試卡上,或者我如何在需要 3d 身份驗證的卡上實現未來的卡支付?

交易是否需要 3D Secure 完全取決於持卡人的銀行。 當 3D 由於法規(例如,SCA)而需要 Secure 時,Stripe 將盡可能申請豁免以限制交易需要身份驗證的可能性,但不能保證。 因此,是的,當您 go 投入生產時,您的客戶可能(但不太可能)要求 3D 在每筆交易中確保安全。

對於需要身份驗證的卡,我以后無法創建費用,也無法在 PaymentIntent 上獲得“需要 3D 安全身份驗證”狀態。 並且客戶無法對其進行身份驗證,因為他們在那段時間不在網站上(“關閉會話”)。

如果您在會話外付款,則應在創建付款意圖時將off_session屬性設置為true

https://stripe.com/docs/api/payment_intents/create#create_payment_intent-off_session

這樣做會告訴 Stripe 在您處於生產狀態時申請會話外付款豁免。 您可以使用此表中的第一個監管測試卡來測試這些類型的付款方式:

https://stripe.com/docs/testing#regulatory-cards

在大多數情況下,豁免應該足夠了,付款不需要身份驗證,但持卡人的銀行仍有可能為交易請求 3D 安全。 對於這些情況,您將需要在您的一端編寫邏輯以通知您的客戶交易失敗並讓他們返回會話以處理付款。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM