Usar o formulário de pagamento por omissão com Authorize.Net aceitar a Página de pagamento hospedado
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
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>
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>
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