最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何获得获得从authoriz.net未结算交易列表?

IT培训 admin 5浏览 0评论

如何获得获得从authoriz.net未结算交易列表?

上述图像显示在UI authorize未决事务列表。当我被getUnsettledTransactionList API调用我收到的查询结果为空,为什么要求?

 "response": {
        "messages": {
            "resultCode": "Ok",
            "message": [
                {
                    "code": "I00004",
                    "text": "No records found."
                }
            ]
        },
        "totalNumInResultSet": 0
    }

我在Authorize和NodeJs中使用沙箱帐户进行开发,基于以下代码

.html#transaction-reporting-get-unsettled-transaction-list

这是我的代码

function getUnsettledTransactionList() {

    var merchantAuthenticationType = new ApiContracts.MerchantAuthenticationType();
    merchantAuthenticationType.setName( process.env.SERVICE_CREDITCARD_API_APILOGINKEY );
    merchantAuthenticationType.setTransactionKey( process.env.SERVICE_CREDITCARD_API_TRANSACTIONKEY );

    var getRequest = new ApiContracts.GetUnsettledTransactionListRequest();

    getRequest.setMerchantAuthentication(merchantAuthenticationType);
    getRequest.setStatus(ApiContracts.TransactionGroupStatusEnum.PENDINGAPPROVAL);

    //keeping promise resolve and reject funcs outside the promise scope
    var promiseResolve, promiseReject;

    var promise = new Promise( (_resolve, _reject)=>{
        promiseResolve = _resolve;
        promiseReject = _reject;
    });

    var ctrl = new ApiControllers.GetUnsettledTransactionListController(getRequest.getJSON());

    ctrl.execute(function(){

        var apiResponse = ctrl.getResponse();
        var response = new ApiContracts.GetUnsettledTransactionListResponse(apiResponse);

        if(response != null){
            if(response.getMessages().getResultCode() == ApiContracts.MessageTypeEnum.OK){

                var result = { 
                    message: response.getMessages().getMessage()[0].getText(),
                    messageCode: response.getMessages().getMessage()[0].getCode(),
                    transactions: [],
                    status: true,
                    response: response
                }

                if(response.getTransactions() != null)
                    result.transactions = response.getTransactions().getTransaction();                

                promiseResolve( result );
            }
            else{
                promiseReject({
                    resultCode: response.getMessages().getResultCode(),
                    errorCode: response.getMessages().getMessage()[0].getCode(),
                    errorMessage: response.getMessages().getMessage()[0].getText(),
                    status: false,
                    response: response
                });
            }
        }
        else{
            promiseReject( { message: 'Null Response.', status: false } );
        }

    });

    return promise;
}
回答如下:

您不应该为事务设置状态,删除此行代码。

    getRequest.setStatus(ApiContracts.TransactionGroupStatusEnum.PENDINGAPPROVAL);

如果您在请求中添加此字段,则只会获得待批准的事务,并且您可能没有待批准的事务,因此您将获得一个空列表。

如何获得获得从authoriz.net未结算交易列表?

上述图像显示在UI authorize未决事务列表。当我被getUnsettledTransactionList API调用我收到的查询结果为空,为什么要求?

 "response": {
        "messages": {
            "resultCode": "Ok",
            "message": [
                {
                    "code": "I00004",
                    "text": "No records found."
                }
            ]
        },
        "totalNumInResultSet": 0
    }

我在Authorize和NodeJs中使用沙箱帐户进行开发,基于以下代码

.html#transaction-reporting-get-unsettled-transaction-list

这是我的代码

function getUnsettledTransactionList() {

    var merchantAuthenticationType = new ApiContracts.MerchantAuthenticationType();
    merchantAuthenticationType.setName( process.env.SERVICE_CREDITCARD_API_APILOGINKEY );
    merchantAuthenticationType.setTransactionKey( process.env.SERVICE_CREDITCARD_API_TRANSACTIONKEY );

    var getRequest = new ApiContracts.GetUnsettledTransactionListRequest();

    getRequest.setMerchantAuthentication(merchantAuthenticationType);
    getRequest.setStatus(ApiContracts.TransactionGroupStatusEnum.PENDINGAPPROVAL);

    //keeping promise resolve and reject funcs outside the promise scope
    var promiseResolve, promiseReject;

    var promise = new Promise( (_resolve, _reject)=>{
        promiseResolve = _resolve;
        promiseReject = _reject;
    });

    var ctrl = new ApiControllers.GetUnsettledTransactionListController(getRequest.getJSON());

    ctrl.execute(function(){

        var apiResponse = ctrl.getResponse();
        var response = new ApiContracts.GetUnsettledTransactionListResponse(apiResponse);

        if(response != null){
            if(response.getMessages().getResultCode() == ApiContracts.MessageTypeEnum.OK){

                var result = { 
                    message: response.getMessages().getMessage()[0].getText(),
                    messageCode: response.getMessages().getMessage()[0].getCode(),
                    transactions: [],
                    status: true,
                    response: response
                }

                if(response.getTransactions() != null)
                    result.transactions = response.getTransactions().getTransaction();                

                promiseResolve( result );
            }
            else{
                promiseReject({
                    resultCode: response.getMessages().getResultCode(),
                    errorCode: response.getMessages().getMessage()[0].getCode(),
                    errorMessage: response.getMessages().getMessage()[0].getText(),
                    status: false,
                    response: response
                });
            }
        }
        else{
            promiseReject( { message: 'Null Response.', status: false } );
        }

    });

    return promise;
}
回答如下:

您不应该为事务设置状态,删除此行代码。

    getRequest.setStatus(ApiContracts.TransactionGroupStatusEnum.PENDINGAPPROVAL);

如果您在请求中添加此字段,则只会获得待批准的事务,并且您可能没有待批准的事务,因此您将获得一个空列表。

发布评论

评论列表 (0)

  1. 暂无评论