Usar o formulário de pagamento por omissão com Authorize.Net aceitar a Página de pagamento hospedado

Estou a integrar Authorize.NET com a minha aplicação web. Estou usando o formulário de pagamento hospedado como descrito aqui:

gostaria de usar o formulário de pagamento por omissão, tal como descrito na página de configuração: https://sandbox.authorize.net/UI/themes/sandbox/Settings/SettingsPayFormMain.aspx gostaria de personalizar este formulário de pagamento passando por campos relevantes.

estou a usar o seguinte objecto JSON:

{
  "getHostedPaymentPageRequest": {
    "merchantAuthentication": {
      "name": "api_key",
      "transactionKey": "transaction_key"
    },
    "transactionRequest": {
      "transactionType": "authCaptureTransaction",
      "amount": "20.00",
      "profile": {
        "customerProfileId": "123456789"
      },
      "customer": {
        "email": "[email protected]"
      },
      "billTo": {
        "firstName": "Ellen",
        "lastName": "Johnson",
        "company": "Souveniropolis",
        "address": "14 Main Street",
        "city": "Pecan Springs",
        "state": "TX",
        "zip": "44628",
        "country": "USA"
      }
    },
    "hostedPaymentSettings": {
      "setting": [{
        "settingName": "hostedPaymentReturnOptions",
        "settingValue": "{\"showReceipt\": true, \"url\": \"https://example.com/receipt\", \"urlText\": \"Continue\", \"cancelUrl\": \"https://example.com/cancel\", \"cancelUrlText\": \"Cancel\"}"
      },  {
        "settingName": "hostedPaymentShippingAddressOptions",
        "settingValue": "{\"show\": false, \"required\": false}"
      }, {
        "settingName": "hostedPaymentBillingAddressOptions",
        "settingValue": "{\"show\": true, \"required\": false}"
      }, {
        "settingName": "hostedPaymentCustomerOptions",
        "settingValue": "{\"showEmail\": false, \"requiredEmail\": false, \"addPaymentProfile\": true}"
      }, {
        "settingName": "hostedPaymentOrderOptions",
        "settingValue": "{\"show\": true, \"merchantName\": \"G and S Questions Inc.\"}"
      }, {
        "settingName": "hostedPaymentIFrameCommunicatorUrl",
        "settingValue": "{\"url\": \"https://example.com/special\"}"
      }]
    }
  }
}

estou a receber o seguinte Formulário de pagamento que não parece profissional. Qualquer idéia de como usar o formulário de pagamento padrão de Authorize.NET

enter image description here

Formulário Por Omissão enter image description here

formulário HTML utilizado:

<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<head>

</head>
<body>
    <form method="post" action="https://test.authorize.net/payment/payment" id="formAuthorizeNetTestPage" name="formAuthorizeNetTestPage">
        <input type="hidden" name="token" value="Replace with form token from getHostedPaymentPageResponse" />
        Continue to Authorize.Net to Payment Page
        <button id="btnContinue">Continue to next page</button>
    </form>         
</body>
</html>
Author: Kiran, 2020-05-15

2 answers

A Authorize.Net aceite.o formulário hospedado no js não pode ser personalizado da forma que você gostaria que fosse. Isso é de propósito. Destina-se a empresas/desenvolvedores que não têm o know-how técnico para fazer uma implementação mais complicada, mesmo que apenas ligeiramente, de uma página de checkout.

A auto-hospedada aceita.o formulário js pode ser personalizado completamente e ainda manter o nosso site fora do âmbito PCI porque os dados do cartão de crédito nunca passam através do seu servidor.

To resumindo, o formulário Authorize.net-hosted não pode ser personalizado da maneira que você está olhando para fazer. Mas isso não deve ser necessário, pois você pode realizar a mesma coisa e ficar fora do escopo PCI usando a versão auto-hospedada desse formulário.


Este é o código que eu uso para obter o formulário de pagamento hospedado que aparece como você quer. Se você não vê a mesma página que eu, verifique se você tem a URL correta na ação formulário. Abaixo está o URL da caixa de areia. A URL de produção é https://accept.authorize.net/payment/payment.

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Hosted Accept.js Payment Form</title>
</head>
<body>
    <form id="paymentForm" method="POST" action="https://test.authorize.net/payment/payment">
        <input type="hidden" name="token" id="token" value="YOUR_TOKEN_HERE" />
        <button onclick="sendPaymentDataToAnet()">Go to Authorize.Net hosted payment form</button>
    </form>
</body>
</html>
 3
Author: John Conde, 2020-05-17 16:53:59

A página de pagamento que você está procurando é uma página antiga que autoriza usado para fornecer e agora eles mudaram para um novo. de acordo com seu site url antigo foi https://secure.authorize.net/gateway/transact.dll para obter a página antiga, mas agora está obsoleta. por favor Veja este link para o que foi alterado https://developer.authorize.net/api/upgrade_guide.html

 0
Author: vishnu ghule, 2020-05-22 22:42:44