首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Authorize.net沙箱接受页面测试-总是拒绝?

Authorize.net沙箱接受页面测试-总是拒绝?
EN

Stack Overflow用户
提问于 2020-11-23 07:14:25
回答 1查看 196关注 0票数 0

我试图测试接受托管支付页面(重定向-方法)与我的沙箱。为此,我使用来自Java代码应用程序的GetAnAcceptPaymentPage来生成支付的令牌字符串,为我的沙箱指定了autoLoginId和transactionKey,并将$1.00设置为金额。然后,我将返回的令牌字符串与包含该字符串的“令牌”表单元素一起发布到https://test.authorize.net/payment/payment。这似乎是有效的,我确实得到了一个付款页面,显示1.00美元的金额。然而,无论我输入到支付页面上的值是什么,按下“支付”按钮都会显示“交易已被拒绝”。表格底部的红色文本。我已经确认我的沙箱被设置为“Live”模式,并查看了下面的链接以使用我认为应该是测试的有效值:https://developer.authorize.net/hello_world/testing_guide/。我希望有人能告诉我,为什么除了“交易被拒绝”之外,我得不到任何结果。

代码语言:javascript
复制
public String getTokenValue() {
    ApiOperationBase.setEnvironment(Environment.SANDBOX);
    MerchantAuthenticationType merchantAuthenticationType = new MerchantAuthenticationType();
    merchantAuthenticationType.setName("xxxxx");
    merchantAuthenticationType.setTransactionKey("xxxxxx");
    ApiOperationBase.setMerchantAuthentication(merchantAuthenticationType);

    // Create the payment transaction request
    TransactionRequestType txnRequest = new TransactionRequestType();
    txnRequest.setTransactionType(TransactionTypeEnum.AUTH_CAPTURE_TRANSACTION.value());
    txnRequest.setAmount(new BigDecimal(1.00).setScale(2, RoundingMode.CEILING));
    OrderExType order = new OrderExType();
    order.setInvoiceNumber("2");
    txnRequest.setOrder(order);
    CustomerProfilePaymentType cpp = new CustomerProfilePaymentType();
    cpp.setCustomerProfileId("xxxx");
    cpp.setCreateProfile(true);
    txnRequest.setProfile(cpp);

    SettingType setting1 = new SettingType();
    setting1.setSettingName("hostedPaymentButtonOptions");
    setting1.setSettingValue("{\"text\": \"Proceed\"}");

    SettingType setting2 = new SettingType();
    setting2.setSettingName("hostedPaymentOrderOptions");
    setting2.setSettingValue("{\"show\": false}");

    SettingType setting3 = new SettingType();
    setting3.setSettingName("hostedPaymentPaymentOptions");
    setting3.setSettingValue("{\"cardCodeRequired\": true}");

    SettingType setting4 = new SettingType();
    setting4.setSettingName("hostedPaymentIFrameCommunicatorUrl");
    setting4.setSettingValue("{\"url\": \"http://example.com/abc\"}");

    ArrayOfSetting alist = new ArrayOfSetting();
    alist.getSetting().add(setting1);
    alist.getSetting().add(setting2);
    alist.getSetting().add(setting3);
    alist.getSetting().add(setting4);

    GetHostedPaymentPageRequest apiRequest = new GetHostedPaymentPageRequest();
    apiRequest.setTransactionRequest(txnRequest);
    apiRequest.setHostedPaymentSettings(alist);

    GetHostedPaymentPageController controller = new GetHostedPaymentPageController(apiRequest);
    controller.execute();
    GetHostedPaymentPageResponse response = new GetHostedPaymentPageResponse();
    response = controller.getApiResponse();

    if (response != null) {

        if (response.getMessages().getResultCode() == MessageTypeEnum.OK) {

            System.out.println(response.getToken());
        } else {
            System.out.println("Failed to get hosted payment page:  " + response.getMessages().getResultCode());
        }
    }
    return response.getToken();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-23 09:32:37

>>> order.setInvoiceNumber(2“);

将发票号设置为与2不同的值,此值在Sandbox中用于触发测试目的的下降。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64963958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档