如何在卷曲中获取交易的详细信息?

时间:2017-01-27 11:54:37

标签: php curl

我在php中用curl编写了一个代码,如下所示:

<?php
      $username = "60CF3Ce97nRS1Z1Wp5m9kMmzHHEh8Rkuj31QCtVxjPWGYA9FymyqsK0Enm1P6mHJf0THbR";
      $password = "API-P4ss";
      $process = curl_init("https://api.sandbox.ewaypayments.com/Transaction/44DD7aVwPYUPemGRf7pcWxyX2FJS-0Wk7xr9iE7Vatk_5vJimEbHveGSqX52B00QsBXqbLh9mGZxMHcjThQ_ITsCZ3JxKOY88WOVsFTLPrGtHRkK0E9ZDVh_Wz326QZlNlwx2");
      curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
      curl_setopt($process, CURLOPT_HEADER, 1);
      curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
      curl_setopt($process, CURLOPT_TIMEOUT, 30);
      curl_setopt($process, CURLOPT_POST, 1);
      curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
      $return = curl_exec($process);
      curl_close($process);
      var_dump($return);
?> 

当使用上面的代码时,我收到如下所示的错误:

string(66) "HTTP/1.1 400 BAD_REQUEST Content-Length: 0 Connection: Close "

我想使用此代码显示所有详细信息?谁能建议怎么做?

2 个答案:

答案 0 :(得分:0)

<?php
$username = "60CF3Ce97nRS1Z1Wp5m9kMmzHHEh8Rkuj31QCtVxjPWGYA9FymyqsK0Enm1P6mHJf0THbR";
$password = "API-P4ss";
$process = curl_init("https://api.sandbox.ewaypayments.com/Transaction/44DD7aVwPYUPemGRf7pcWxyX2FJS-0Wk7xr9iE7Vatk_5vJimEbHveGSqX52B00QsBXqbLh9mGZxMHcjThQ_ITsCZ3JxKOY88WOVsFTLPrGtHRkK0E9ZDVh_Wz326QZlNlwx2");
curl_setopt($process, CURLOPT_USERPWD, $username.":".$password);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($process);
curl_close($process);
var_dump($return);

在卷曲选项设置中进行一些修改

答案 1 :(得分:0)

eWAY PHP SDK使这个以及任何其他行动变得更加容易:

require('vendor/autoload.php');

// eWAY Credentials
$apiKey = '60CF3C2oh7D+Q+/HOlIjFZdlmsgApfpvg8GXu+W8qr7bKM33cM3';
$apiPassword = 'fvfgf';
$apiEndpoint = 'sandbox';

// Create the eWAY Client
$client = \Eway\Rapid::createClient($apiKey, $apiPassword, $apiEndpoint);

// Query the transaction result.
$response = $client->queryTransaction($_GET["AccessCode"]);

$transactionResponse = $response->Transactions[0];

if ($transactionResponse->TransactionStatus) {
    echo 'Payment successful! ID: ' . $transactionResponse->TransactionID;
} else {
    $errors = split(', ', $transactionResponse->ResponseMessage);
    foreach ($errors as $error) {
        echo "Payment failed: " . \Eway\Rapid::getMessage($error)."<br>";
    }
}

完整功能doco is here