From a8080632ef488d3250353bb0b012c8d6ad1435e4 Mon Sep 17 00:00:00 2001 From: Dominik Hebeler <dominik@hebeler.club> Date: Thu, 12 Sep 2024 06:32:06 +0200 Subject: [PATCH] 3ds only when required --- pass/app/payment_processor/Paypal.js | 42 +++++++++++++++++----------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/pass/app/payment_processor/Paypal.js b/pass/app/payment_processor/Paypal.js index 364597c..ee879c0 100644 --- a/pass/app/payment_processor/Paypal.js +++ b/pass/app/payment_processor/Paypal.js @@ -117,16 +117,16 @@ class Paypal extends PaymentProcessor { if (creditcard_payment) { paypal_order["payment_source"] = { - "card": { - "attributes": { - "verification": { - "method": "SCA_ALWAYS" - } + card: { + attributes: { + verification: { + method: "SCA_WHEN_REQUIRED", + }, }, - "experience_context": { - "shipping_preference": "NO_SHIPPING", - } - } + experience_context: { + shipping_preference: "NO_SHIPPING", + }, + }, }; } @@ -169,7 +169,7 @@ class Paypal extends PaymentProcessor { if ( response_data.status !== "COMPLETED" || response_data.purchase_units[0].payments.captures[0].status !== - "COMPLETED" + "COMPLETED" ) { throw response_data; } @@ -398,14 +398,25 @@ class Paypal extends PaymentProcessor { async verify_3D() { return this.get_order_details().then((order_details) => { - if (order_details.payment_source.card.hasOwnProperty("authentication_result")) { - let authentication_result = order_details.payment_source.card.authentication_result; + if ( + order_details.payment_source.card.hasOwnProperty( + "authentication_result" + ) + ) { + let authentication_result = + order_details.payment_source.card.authentication_result; let liability_shift = authentication_result.liability_shift; let authentication_status = null; - if (authentication_result.three_d_secure.hasOwnProperty("authentication_status")) { - authentication_status = authentication_result.three_d_secure.authentication_status; + if ( + authentication_result.three_d_secure.hasOwnProperty( + "authentication_status" + ) + ) { + authentication_status = + authentication_result.three_d_secure.authentication_status; } - let enrollment_status = authentication_result.three_d_secure.enrollment_status; + let enrollment_status = + authentication_result.three_d_secure.enrollment_status; if (enrollment_status == "Y") { switch (authentication_status) { case "Y": @@ -474,7 +485,6 @@ class Paypal extends PaymentProcessor { } else { return true; } - }); } -- GitLab