【问题标题】:SecureNet Request ExamplesSecureNet 请求示例
【发布时间】:2013-03-08 22:19:05
【问题描述】:

我目前正在尝试与 SecureNet 集成。我通读了最新的 pdf (4.1.5),但我仍然不清楚请求的结构。

我不断得到:

Endpoint not found.

任何人都可以提供包含 XXX 的机密字段的生产请求示例吗?

【问题讨论】:

    标签: soap payment-gateway gateway


    【解决方案1】:

    啊,API 团队终于回复了我。这里是。希望有一天它对某人有所帮助。

    请求

    POST https://certify.securenet.com/API/gateway.svc/webHttp/ProcessTransaction HTTP/1.1
    User-Agent: Fiddler
    Content-Type: application/xml; charset=utf-8
    Host: certify.securenet.com
    Content-Length: 1839
    
    <?xml version="1.0" encoding="utf-8"?><TRANSACTION xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://gateway.securenet.com/API/Contracts">
    <AMOUNT>11</AMOUNT>
    <AUTHCODE></AUTHCODE>
    <AUTO i:nil="true" />
    <CARD>
    <CARDCODE>996</CARDCODE>
    <CARDNUMBER>4012000033330026</CARDNUMBER>
    <EXPDATE>0414</EXPDATE>
    <KSN i:nil="true" />
    <PINBLOCK>PIN Block</PINBLOCK>
    <TRACKDATA i:nil="true" /></CARD>
    <CASHBACK_AMOUNT>0</CASHBACK_AMOUNT>
    <CHECK i:nil="true" />
    <CODE>0000</CODE>
    <CUSTOMERID i:nil="true"/>
    <CUSTOMERIP></CUSTOMERIP>
    <CUSTOMER_BILL>
    <ADDRESS></ADDRESS>
    <CITY></CITY>
    <COMPANY></COMPANY>
    <COUNTRY></COUNTRY>
    <EMAIL></EMAIL>
    <EMAILRECEIPT>FALSE</EMAILRECEIPT>
    <FIRSTNAME></FIRSTNAME>
    <LASTNAME></LASTNAME>
    <PHONE></PHONE>
    <STATE></STATE>
    <ZIP></ZIP>
    </CUSTOMER_BILL>
    <CUSTOMER_SHIP i:nil="true" />
    <DCI>0</DCI>
    <DEVICECODE></DEVICECODE>
    <ENCRYPTION i:nil="true" />
    <ENTRYSOURCE></ENTRYSOURCE>
    <HOTEL i:nil="true" />
    <INDUSTRYSPECIFICDATA>0</INDUSTRYSPECIFICDATA>
    <INSTALLMENT_SEQUENCENUM>0</INSTALLMENT_SEQUENCENUM>
    <INVOICEDESC></INVOICEDESC>
    <INVOICENUM i:nil="true" />
    <LEVEL2 i:nil="true" />
    <LEVEL3 i:nil="true" />
    <MARKETSPECIFICDATA i:nil="true"/>
    <MERCHANT_KEY>
    <GROUPID>0</GROUPID>
    <SECUREKEY>lbGXSJZsV9Oy</SECUREKEY>
    <SECURENETID>7000000</SECURENETID>
    </MERCHANT_KEY>
    <METHOD>CC</METHOD>
    <MPI i:nil="true" />
    <NOTE></NOTE>
    <ORDERID>12311601</ORDERID>
    <OVERRIDE_FROM>0</OVERRIDE_FROM>
    <PAYMENTID i:nil="true" />
    <PETROLEUM i:nil="true" />
    <PRODUCTS i:nil="true" />
    <REF_TRANSID>0</REF_TRANSID>
    <RETAIL_LANENUM>0</RETAIL_LANENUM>
    <SECONDARY_MERCHANT_KEY i:nil="true" />
    <SERVICE i:nil="true" />
    <TEST>FALSE</TEST>
    <TOTAL_INSTALLMENTCOUNT>0</TOTAL_INSTALLMENTCOUNT>
    <TRANSACTION_SERVICE>0</TRANSACTION_SERVICE>
    <USERDEFINED i:nil="true" />
    </TRANSACTION>
    

    回应

    HTTP/1.1 200 OK
    Date: Fri, 08 Mar 2013 23:48:37 GMT
    X-Powered-By: ASP.NET
    X-AspNet-Version: 2.0.50727
    Cache-Control: private
    Content-Type: application/xml; charset=utf-8
    Content-Length: 1763
    Set-Cookie: TS6d10c9=d81f0c76c1ab996b6024b4b7340467c76c45ae1650897225513a7909; Path=/
    Set-Cookie: TS6d10c9_28=ab9f901af259d97913f9b001c3f710f66c45ae1650897225000000000000000000513a7908522b1347a8bb858f; Path=/
    
    <GATEWAYRESPONSE xmlns="http://gateway.securenet.com/API/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><ABRESPONSE i:nil="true"/><TRANSACTIONRESPONSE><RESPONSE_CODE>1</RESPONSE_CODE><RESPONSE_REASON_CODE>0000</RESPONSE_REASON_CODE><RESPONSE_REASON_TEXT>Approved</RESPONSE_REASON_TEXT><RESPONSE_SUBCODE/><ADDITIONALAMOUNT>0</ADDITIONALAMOUNT><ADDITIONALDATA1/><ADDITIONALDATA2/><ADDITIONALDATA3/><ADDITIONALDATA4/><ADDITIONALDATA5/><AUTHCODE>CRO3B4</AUTHCODE><AUTHORIZEDAMOUNT>11.00</AUTHORIZEDAMOUNT><AVS_RESULT_CODE>Y</AVS_RESULT_CODE><BANK_ACCOUNTNAME/><BANK_ACCOUNTTYPE/><BATCHID>0</BATCHID><CARDHOLDER_FIRSTNAME/><CARDHOLDER_LASTNAME/><CARDLEVEL_RESULTS/><CARDTYPE>VI</CARDTYPE><CARD_CODE_RESPONSE_CODE>M</CARD_CODE_RESPONSE_CODE><CASHBACK_AMOUNT>0</CASHBACK_AMOUNT><CAVV_RESPONSE_CODE/><CHECKNUM i:nil="true"/><CODE>0000</CODE><CUSTOMERID/><CUSTOMER_BILL><ADDRESS/><CITY/><COMPANY/><COUNTRY/><EMAIL/><EMAILRECEIPT>FALSE</EMAILRECEIPT><FIRSTNAME/><LASTNAME/><PHONE/><STATE/><ZIP/></CUSTOMER_BILL><EXPIRYDATE>0414</EXPIRYDATE><GRATUITY>0</GRATUITY><INDUSTRYSPECIFICDATA>P</INDUSTRYSPECIFICDATA><LAST4DIGITS>0026</LAST4DIGITS><LEVEL2_VALID>FALSE</LEVEL2_VALID><LEVEL3_VALID>FALSE</LEVEL3_VALID><MARKETSPECIFICDATA/><METHOD>CC</METHOD><NETWORKCODE/><NETWORKID/><ORDERID>12311601</ORDERID><PAYMENTID/><RETREFERENCENUM/><SECURENETID>7000000</SECURENETID><SETTLEMENTAMOUNT>11.00</SETTLEMENTAMOUNT><SETTLEMENTDATETIME>03082013184837</SETTLEMENTDATETIME><SYSTEM_TRACENUM/><TRACKTYPE>0</TRACKTYPE><TRANSACTIONAMOUNT>11.00</TRANSACTIONAMOUNT><TRANSACTIONDATETIME>03082013184837</TRANSACTIONDATETIME><TRANSACTIONID>111177310</TRANSACTIONID></TRANSACTIONRESPONSE><VAULTACCOUNTRESPONSE i:nil="true"/><VAULTCUSTOMERRESPONSE i:nil="true"/></GATEWAYRESPONSE>
    

    【讨论】:

    • 嗨,你能提供一个代码示例来发送这个吗?我在使用 wsdl 时遇到问题
    【解决方案2】:

    这篇文章对我很有帮助,因为它向我展示了一些最初不可见的字段。如果您不想使用 SecureNet 的 CodeIgniter 类,我整理了一个简单的基于 PHP/SOAP 的示例来执行退款/捕获/无效。适应其他任何东西应该不会太困难。

    //Certifying?
    $certify = 1;
    
    //Build Array
    $arg = array(
        "MERCHANT_KEY" => array(
            "GROUPID" => 0,
            "SECUREKEY" => "XXXXXXXXX",
            "SECURENETID" => "XXXXXXXXX",
        ),
        "CARD" => array(
            "CARDNUMBER" => $card_number,
        ),
        "REF_TRANSID" => $processor_transaction_id,
        "AMOUNT" => $amount,
        "METHOD" => "CC",
        "DCI" => 0,
        "INSTALLMENT_SEQUENCENUM" => 0,
        "GROUPID" => 0,
        "OVERRIDE_FROM" => 0,
        "RETAIL_LANENUM" => 0,
        "TOTAL_INSTALLMENTCOUNT" => 0,
        "TRANSACTION_SERVICE" => 0,
        "TEST" => $testing ? "FALSE" : "TRUE",
    );
    
    //Refund
    if ($action == "refund") {
        $arg['CODE'] = "0500";
    
    //Capture
    } elseif ($action == "capture") {
        $arg['CODE'] = "0200";
    
    //Partial Void
    } elseif ($action == "void") {
        $arg['CODE'] = "0401";
    }
    
    //Certify or Production URL's
    $base_url = "http://gateway.securenet.com/api/gateway.svc?wsdl"; //not for sure on these urls
    $soap_url = "https://gateway.securenet.com/api/gateway.svc/soap"; //not for sure on these urls
    if ($certify) {
        $base_url = "http://certify.securenet.com/api/gateway.svc?wsdl";
        $soap_url = "https://certify.securenet.com/api/gateway.svc/soap";
    }
    
    //Connect
    $client = new \SoapClient($base_url, array('trace' => 1, 'exceptions' => true));
    $client->__setLocation($soap_url);
    
    //Successful!
    try {
        $result = $client->ProcessTransaction(array("TRANSACTION" => $arg));
    
        if ($certify) {
            echo 'REQUEST: ' . htmlentities($client->__getLastRequest()) . "<br><br>";
            echo 'RESPONSE: ' . htmlentities($client->__getLastResponse());
        }
    
        //1 = approve, 2 = declined, 3 = error
        $response_code = $result->ProcessTransactionResult->TRANSACTIONRESPONSE->RESPONSE_CODE;
        $response_text = $result->ProcessTransactionResult->TRANSACTIONRESPONSE->RESPONSE_REASON_TEXT;
    
    //There Was An Error
    } catch (\Exception $e) {
    
        if ($certify) {
            echo 'REQUEST: ' . htmlentities($client->__getLastRequest()) . "<br><br>";
            echo 'RESPONSE: ' . htmlentities($client->__getLastResponse());
        }
    
        echo "ERROR: " . $e->getMessage() . "<br><br>";
        die;
    
    }
    

    其他一些有用的东西是这些文档似乎不再在 SecureNet 上可用。 http://www.scribd.com/doc/202100111/SecureNet-Docs

    【讨论】:

    • 您好,您能否提供认证 wsdl 文件的 URL。我测试了代码,但出现“解析 WSDL:无法从 'certify.securenet.com/api/gateway.svc?wsdl' 加载”错误。我有一个 Securenet 的模拟账户。
    • 我使用certify.securenet.com/api/gateway.svc?wsdl 为模拟账户构建。不知道为什么那行不通。我认为 http:// 或 https:// 应该可以工作。编辑:想知道您的网址末尾是否有额外的字符。
    • 嗨大卫,感谢您的回复。问题是我必须使用在线服务器来执行测试,当使用我的本地计算机时它不起作用。
    猜你喜欢
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 2015-01-22
    • 2012-10-01
    • 2013-02-23
    • 1970-01-01
    相关资源
    最近更新 更多