Как интегрировать полосовые платежи 3D Secure с nodejs? - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь интегрировать чередующиеся платежи 3D Secure. Я также успешно интегрировался, но когда я пытаюсь совершить транзакцию на сумму более 10 000,00 долларов США, возникает ошибка типа 'Сумма для экспортной транзакции должна быть меньше 10 000,00 долларов США .

Мой код, как показано ниже,

try {
 paymentIntent = await stripe.paymentIntents.create({
    amount: Math.round(amount * 100),
    payment_method_types: ['card'],
    currency: "usd",
    customer: customer_id,
    payment_method: card_id,
    off_session: true,
    confirm: true,
    shipping: {
        name: "Jenny Rosen",
        address: {
            line1: "510 Townsend St",
            postal_code: "98140",
            city: "San Francisco",
            state: "CA",
            country: "US"
        }
    },
    description: JSON.stringify(description)
 });

 return {
    succeeded: true,
    clientSecret: paymentIntent.client_secret,
 }

 } catch (err) {

 if (err.code === "authentication_required") {

    return {
        error: "authentication_required",
        paymentMethod: err.raw.payment_method.id,
        payment_method_types: ['card'],
        clientSecret: err.raw.payment_intent.client_secret,
        amount: amount * 100,
        card: {
            brand: err.raw.payment_method.card.brand,
            last4: err.raw.payment_method.card.last4
        }
    }
 } else if (err.code) {
    return {
        error: err.code,
    }
 } else {
    console.log("Unknown error occurred", err);
 }
}

Здесь я конвертирую свою сумму в цент, например, в соответствии с документацией на полосу, если я хочу сделать платеж в размере 100 долларов США, то мне нужно передать 100 * 100 в полоса.

1 Ответ

0 голосов
/ 06 января 2020

Ошибка, которую вы видите, на самом деле связана с природой экспортных транзакций, а не с требованиями 3DS.

В Индии «экспортные» транзакции определяются на основе пункта назначения, куда доставляются товары или оказываются услуги , Чтобы транзакция была «экспортной транзакцией», пункт назначения должен находиться за пределами Индии. Это не зависит от используемого способа оплаты или домашнего адреса покупателя.

В случае вашего тестового кода адрес доставки является адресом в США, поэтому он считается экспортной транзакцией, где предел жесткой транзакции составляет 10 000 долларов США в соответствии с индийскими правилами.

Чтобы исправить это в своем тестовый код, просто измените адрес доставки на адрес Индии.

...