接受托管的授权净集成问题.付款后没有重定向我的本地主机



我正在为我的网站集成授权网络。我能够产生令牌。获得令牌后,我将在沙箱帐户上发布请求。我可以进行测试付款。但是付款后,它不会将我回到我的网站上。继续按钮什么都不做。

这是我的设置和表单请求。请让我知道我是否缺少任何东西。这是我获得令牌的代码。

public static GetHostedPaymentPageResponse run(String apiLoginId, String transactionKey, Double amount) {
ApiOperationBase.setEnvironment(Environment.SANDBOX);
MerchantAuthenticationType merchantAuthenticationType  = new MerchantAuthenticationType() ;
merchantAuthenticationType.setName(apiLoginId);
merchantAuthenticationType.setTransactionKey(transactionKey);
ApiOperationBase.setMerchantAuthentication(merchantAuthenticationType);
// Create the payment transaction request
TransactionRequestType txnRequest = new TransactionRequestType();
txnRequest.setTransactionType(TransactionTypeEnum.AUTH_CAPTURE_TRANSACTION.value());
txnRequest.setAmount(new BigDecimal(amount).setScale(2, RoundingMode.CEILING));


 SettingType setting2 = new SettingType();
setting2.setSettingName("hostedPaymentOrderOptions");
setting2.setSettingValue("{"show": true}"); 
setting2.setSettingValue("{"merchantName": "Questions Inc."}"); 
SettingType setting1 = new SettingType();
setting1.setSettingName("hostedPaymentButtonOptions");
setting1.setSettingValue("{"text": "Pay Now"}");

SettingType setting3 = new SettingType();
setting3.setSettingName("hostedPaymentReturnOptions");
setting3.setSettingValue("{"showReceipt": true}");
setting3.setSettingValue("{"url": "http://localhost:8070/wap-adaptor/response.jsp"}");
setting3.setSettingValue("{"urlText": "Return"}");
setting3.setSettingValue("{"cancelUrl": "http://localhost:8070/wap-adaptor/response.jsp"}");
setting3.setSettingValue("{"cancelUrlText": "Cancel"}");
ArrayOfSetting alist = new ArrayOfSetting();
alist.getSetting().add(setting1);
alist.getSetting().add(setting2);
alist.getSetting().add(setting3);
GetHostedPaymentPageRequest apiRequest = new GetHostedPaymentPageRequest();
apiRequest.setTransactionRequest(txnRequest);
apiRequest.setHostedPaymentSettings(alist);
GetHostedPaymentPageController controller = new GetHostedPaymentPageController(apiRequest);
controller.execute();
GetHostedPaymentPageResponse response = new GetHostedPaymentPageResponse();

这是我的请求表格

<form method="POST" action="https://test.authorize.net/payment/payment" id="DemoCheckoutForm" name="DemoCheckoutForm">
<input type="hidden" name="token" value="<%=token%>" >
<input type="submit" name="submit_b" value="Buy now" >

devender kumar

请,将您的设置设置为下面,

SettingType setting3 = new SettingType();
setting3.setSettingName("hostedPaymentReturnOptions");
setting3.setSettingValue("{"showReceipt": false}");
setting3.setSettingValue("{"url": "http://localhost:8070/wap-adaptor/response.jsp"}");
setting3.setSettingValue("{"urlText": "Return"}");
setting3.setSettingValue("{"cancelUrl": "http://localhost:8070/wap-adaptor/response.jsp"}");
setting3.setSettingValue("{"cancelUrlText": "Cancel"}");

当您想在hostedPaymentReturnoptions设置中重定向给定URL时,ShowReceipt应该是错误的。

我在此页面上偶然发现了解决方法。似乎授权不允许在取消/继续URL中允许localhost127.0.0.1。我仍在尝试解决方案。

这是我正在做的错误。

SettingType setting3 = new SettingType();
setting3.setSettingName("hostedPaymentReturnOptions");
setting3.setSettingValue("{"showReceipt": true}");
setting3.setSettingValue("{"url": "http://localhost:8070/wap-adaptor/response.jsp"}");
setting3.setSettingValue("{"urlText": "Return"}");
setting3.setSettingValue("{"cancelUrl": "http://localhost:8070/wap-adaptor/response.jsp"}");
setting3.setSettingValue("{"cancelUrlText": "Cancel"}");

您可以看到它将仅采用最后一个值。

setting3.setSettingValue("{"cancelUrlText": "Cancel"}");

相反,应该像下面一样。将所有参数包装在JSON中,然后设置值。

setting3.setSettingValue("{"showReceipt": true,
"url": "http://localhost:8070/wap-adaptor/response.jsp",
"urlText": "Return",
"cancelUrl": "http://localhost:8070/wap-adaptor/response.jsp",
"cancelUrlText": "Cancel"}");

这是一个愚蠢的错误。

最新更新