WooshPay API direta

Garantir a conformidade com o PCI para cartão como método de pagamento.

Qualquer pessoa envolvida com o processamento, a transmissão ou o armazenamento de dados de cartões deve estar em conformidade com os Padrões de Segurança de Dados do Setor de Cartões de Pagamento (PCI DSS). A conformidade com o PCI é uma responsabilidade compartilhada e se aplica tanto à WooshPay quanto à sua empresa. Ao aceitar pagamentos, você deve fazê-lo em conformidade com a PCI. A maneira mais simples de estar em conformidade com a PCI é nunca ver (ou ter acesso a) os dados do cartão.

Use a API Payment Intents para criar uma integração que possa lidar com fluxos de pagamento complexos. Ela rastreia um pagamento desde a criação até o checkout e aciona etapas adicionais de autenticação quando necessário.

Algumas das vantagens de usar a API Payment Intents incluem:

  • Tratamento automático de autenticação
  • Sem cobranças duplicadas
  • Sem questões-chave de idempotência
  • Suporte para autenticação forte do cliente (SCA) e mudanças regulatórias semelhantes

Um conjunto completo de APIs #

Use a API Payment Intents juntamente com as APIs Setup Intents e Payment Methods. Essas APIs o ajudam a lidar com pagamentos dinâmicos (por exemplo, autenticação adicional como 3D Secure) e o preparam para a expansão para outros países, permitindo que você ofereça suporte a novas regulamentações e métodos de pagamento regionais.

A criação de uma integração com a API de intenções de pagamento envolve duas ações: criar e confirmar uma PaymentIntent. No parágrafo a seguir, apresentaremos a API de intenção de pagamento por fluxo de pagamento:

  1. Fluxo de pagamento não-3DS
  2. Fluxo de pagamento 3DS

Fluxo de pagamento não-3DS #

O fluxo de pagamento não 3D fornece um escopo claro da função do WooshPay em relação a todo o processo de pagamento, desde o início do pagamento pelo cliente até sua finalização. O WooshPay usa um objeto PaymentIntent para representar sua intenção de cobrar o pagamento de um cliente, acompanhando as tentativas de cobrança e as mudanças no estado do pagamento durante todo o processo.

https://kroki.io/plantuml/svg/eNp9UrtuwzAM3P0V_AH_gIcgRYaiW9AOnVmZjgnoYYi0jfbrS9VJYRlFNUig7njkUTqLYtY5-Gaykx1PGBUus2gKlAEFHNSQZ7KjAFwBb5SXLUOq-_eUZJzw8wfRxpZrT447eE6gCQwJRXDCGxnE7Uk6odhDyr3JcRxSDqicYoNOeUElKyBG0w4umUp83TReotq-o2kj2hZBeCWdc4RI64Hc055ehbtWrzkt3BN8sPccb9CTInsBtD4Hjuj5ix5O7h5sHgY-3N0T_rKQ4sA5_O-hMJ9UKUz6W-borRKAlXW0ZNRZDh5ls1S1l0lmv6tqT1tcOKONaT3SqiHtAsuydTZh-0_fIgXUXA==

Os métodos de pagamento mostrados aos clientes durante o processo de checkout também são incluídos no PaymentIntent. Você pode incluir todos os métodos de pagamento que desejar, listando-os usando dados_do_método_de_pagamento parâmetro.

O PaymentIntent contém um segredo do cliente, uma chave que é exclusiva do PaymentIntent individual. Para usar o segredo do cliente, você deve obtê-lo do PaymentIntent em seu servidor e passá-lo para o lado do cliente. Você pode usar diferentes abordagens para obter o segredo do cliente no lado do cliente.

Solicitação Criar um PaymentIntent

{
    "amount":1,
    "currency": "USD",
    "confirm":true,
    "payment_method_options":{
        "card":{
            "request_three_d_secure": "auto"
        }
    },
    "payment_method_data":{
        "type": "card",
        "card":{
            "cvc": "123",
            "number":"4111111111111111",
            "exp_month": "03",
            "exp_year": "2027"
        }
    },
    "merchant_order_id":"id1111",
    "return_url": "https://wooshpay.com"
}

Resposta

{
    "id":"pi_1583366366029676544",
    "object": "payment_intent",
    "created":1666338934000,
    "currency": "USD",
    "amount":1,
    "status": "succeeded" (bem-sucedido),
    "description":null,
    "metadata":null,
    "livemode":false,
    "merchant_order_id":"id1111",
    "client_secret":"pi_1583366366029676544_secret_WKtUP8YmKmUKxcQPV0Zrmxym",
    "last_payment_error":null,
    "next_action":"",
    "payment_method_types":"[\"card\",\"alipay\",\"wechat_pay\",\"alipayplus\",\"klarna\",\"ideal\",\"giropay\",\"sofort\",\"eps\",\"trustly\",\"bancontact\",\"p24\",\"sepa\"]",
    "receipt_email":null,
    "statement_descriptor":null,
    "statement_descriptor_suffix":null, "statement_descriptor_suffix":null,
    "cancel_at":"",
    "cancellation_reason":null,
    "confirmation_method": "automatic",
    "payment_method_options":"{\"card\":{\"request_three_d_secure\":\"auto\",\"capture_method\":\"automatic\"}}",
    "3ds_status":nulo,
    "amount_capturable":null
}

Fluxo de pagamento 3DS #

Embora a Europa esteja introduzindo-a de forma desigual, você deve preparar seus fluxos de pagamento para estar pronto para a SCA o mais rápido possível, se as regulamentações da SCA afetarem você. A regulamentação de autenticação forte do cliente na Europa exige o uso do 3DS para pagamentos com cartão. O 3DS é opcional em outras regiões, mas você ainda pode usá-lo como uma ferramenta para reduzir fraudes.

Para o 3DS, normalmente, você direciona o cliente para uma página de autenticação no site do banco e ele digita uma senha associada ao cartão ou um código enviado para o telefone.

Solicitação Criar um PaymentIntent

{
    "amount":1,
    "currency": "USD",
    "confirm":true,
    "payment_method_options":{
        "card":{
            "request_three_d_secure": "any",
            "capture_method": "automatic"
        }
    },
    "payment_method_data":{
        "type": "card",
        "card":{
            "cvc": "123",
            "number":"4111111111111111",
            "exp_month": "03",
            "exp_year": "2027"
        }
    },
    "merchant_order_id":"id1111",
    "return_url": "https://wooshpay.com"
}

Resposta

{
    "id":"pi_1583367070215569408",
    "object": "payment_intent",
    "created":1666339102000,
    "currency": "USD",
    "amount":1,
    "status": "requires_action",
    "description":null,
    "metadata":null,
    "livemode":false,
    "merchant_order_id":"id1111",
    "client_secret":"pi_1583367070215569408_secret_gXwuHGXjHgMqVw35oBInuYyC",
    "last_payment_error":null,
    "next_action":"{\"ddc_redirect\":{\"return_url\":\"https://wooshpay.com\",\"url\":\"https://jstest.wooshpay.com/v1/3ds/index.html?c=2&type=ddc&dataId=pi_1583367070215569408&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXlsb2FkIjp7InJlcXVlc3R0eXBlZGVzY3JpcHRpb25zIjpbIlRIUkVFRFFVRVJZIl0sImV4cGlyeWRhdGUiOiIwMy8yMDI3IiwiY3VycmVuY3lpc28zYSI6IlVTRCIsInNpdGVyZWZlcmVuY2UiOiJ0ZXN0X3N3b29zaHRyYW5zZmVybHRkOTczMjkiLCJiYXNlYW1vdW50IjoiMSIsInBhbiI6IjQxMTExMTExMTExMTExMTEiLCJzZWN1cml0eWNvZGUiOiIxMjMiLCJhY2NvdW50dHlwZWRlc2NyaXB0aW9uIjoiRUNPTSIsIm9yZGVycmVmZXJlbmNlIjoicGlfMTU4MzM2NzA3MDIxNTU2OTQwOCJ9LCJpc3MiOiJqd3RAc3dvb3NodHJhbnNmZXIuY29tIiwiaWF0IjoxNjY2MzM5MTAyfQ.L7CEYYRo95SesCt6WIsXr51MgHZKjkIDfmkooFTaUuo\"},\"type\":\"ddc_redirect\"}",
    "payment_method_types":"[\"card\",\"alipay\",\"wechat_pay\",\"alipayplus\",\"klarna\",\"ideal\",\"giropay\",\"sofort\",\"eps\",\"trustly\",\"bancontact\",\"p24\",\"sepa\"]",
    "receipt_email":null,
    "statement_descriptor":null,
    "statement_descriptor_suffix":null, "statement_descriptor_suffix":null,
    "cancel_at":"",
    "cancellation_reason":null,
    "confirmation_method": "automatic",
    "payment_method_options":"{\"card\":{\"request_three_d_secure\":\"any\",\"capture_method\":\"automatic\"}}",
    "3ds_status":nulo,
    "amount_capturable":null
}

Controle de quando apresentar o fluxo do 3D Secure #

O WooshPay aciona o 3DS automaticamente se for exigido por um requisito regulatório, como a autenticação forte do cliente. Quando você executa o 3D Secure, o WooshPay exige que seu cliente realize a autenticação para concluir o pagamento se a autenticação 3DS estiver disponível para um cartão.

Se um cartão não for compatível com o 3DS ou se ocorrer um erro durante o processo de autenticação, o pagamento continuará normalmente. Quando isso ocorre, a responsabilidade geralmente não é transferida para o emissor, pois não houve uma autenticação 3DS bem-sucedida.

  • automático
    O parâmetro padrão para 3DS é automáticoO controle de risco do WooshPay determinará se o 3DS deve ou não ser acionado. Para acionar o 3DS manualmente, defina payment_method_options[card][request_three_d_secure] para qualquer um ao criar ou confirmar um PaymentIntent ou SetupIntent.
  • qualquer
    Quando você define request_three_d_secure para qualquerO WooshPay exige que seu cliente realize a autenticação para concluir o pagamento com êxito se a autenticação 3DS estiver disponível para um cartão. Se ela não estiver disponível para o cartão em questão, o pagamento prossegue normalmente.
Quais são seus sentimentos?
Atualizado em 9 de agosto de 2023