【问题标题】:Error : element in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has incomplete content错误:命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中的元素内容不完整
【发布时间】:2015-09-29 18:14:39
【问题描述】:

我在这里询问的确切查询:How to find the transaction is settled/Unsettled in Authorize.net?。我正在使用来自http://mvnrepository.com/artifact/net.authorize/anet-java-sdk 的 anet-java-sdk (1.8.4)。 我正在寻找已结算和未结算交易的清单。但是当我运行以下代码时,我看到了错误:

public static final String apiLoginID = "xxxxxxxxxxxx";
    public static final String transactionKey = "yyyyyyyyyyyyyxxx";

    public static void main(String[] args) {
        Merchant merchant = Merchant.createMerchant(Environment.SANDBOX, apiLoginID, transactionKey);
        Transaction transaction = merchant.createReportingTransaction(TransactionType.GET_TRANSACTION_DETAILS);
        ReportingDetails details = ReportingDetails.createReportingDetails();
        details.setBatchIncludeStatistics(true);
        transaction.setReportingDetails(details);

        Result<Transaction> result = (Result<Transaction>) merchant.postTransaction(transaction);
        System.out.println("Code : "+result.getMessages().get(0).getCode());
        System.out.println("Text : "+result.getMessages().get(0).getText());

        for (BatchDetails batchDetail : result.getReportingDetails().getBatchDetailsList()) {
            System.out.println("---------------------");
            System.out.println("ID : "+ batchDetail.getBatchId() );
            System.out.println("Settlement State : "+ batchDetail.getSettlementState().value());
            System.out.println("local settlementTime: "+ batchDetail.getSettlementTimeLocal().toString());
        }
    }

来的错误如下: 07/11/15 02:22:16,984: INFO [main] (net.authorize.util.LogHelper:24) - 使用 Proxy: 'false'

Code : E00003
Text : The element 'getTransactionDetailsRequest' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd' has incomplete content. List of possible elements expected: 'refId, transId' in namespace 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'.

【问题讨论】:

    标签: authorize.net


    【解决方案1】:

    您向 Authorize.Net API 发出了不正确的请求, 如果您想获取已结算交易的列表 使用:getSettledBatchListRequest

    如果您想获取未结算交易的列表 使用:getUnsettledTransactionListRequest

    相反,我看到您使用的是getTransactionDetailsRequest,它提供了单个交易的详细信息,因此它需要一个 transactionID,这就是您遇到的错误。

    如需更多了解这些类型的 API,请参阅:Authorize.Net Reference

    另外,这里是getUnsettledTransactionList的java示例代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-16
      • 2021-03-15
      • 2014-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多