Total refund
Last updated: 06-Jun-2024
Rate this article:
Overview
Use the issueRefund method to issue a total refund for an order processed by 2Checkout.
Requirements
The payment for the refundable order needs to be collected.
You cannot issue a refund for an amount higher than the total order amount.
Request
<?php
$host = 'https://api.avangate.com';
$merchantCode = "MERCHANT_CODE"; // your account's merchant code available in the 'System settings' area of the cPanel: https://secure.2checkout.com/cpanel/account_settings.php
$key = "SECRET_KEY"; // your account's secret key available in the 'System settings' area of the cPanel: https://secure.2checkout.com/cpanel/account_settings.php
$now = gmdate('Y-m-d H:i:s'); //GMT date format)
$algo = "sha256";
$string = strlen($merchantCode) . $merchantCode . strlen($now) . $now;
$hash = hash_hmac($algo, $string, $key);
try {
$client = new SoapClient($host . "/soap/6.0/?wsdl", [
'location' => $host . "/soap/6.0/",
"stream_context" => stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false
]
])
]);
$sessionID = $client->login($merchantCode, $now, $hash, $algo);
echo("Token: {$sessionID}" . PHP_EOL);
$orderReference = "73152871";
$items = [];
$amount = '241.49';
$comment = "This is a comment";
$reason = "Fraud";
$refundedOrder = $client->issueRefund($sessionID, $orderReference, $amount, $items, $comment, $reason);
var_dump($refundOrder);
} catch (SoapFault $e) {
echo "Authentication: " . $e->getMessage() . PHP_EOL;
exit;
}
Response
Response | Type/Description |
---|---|
Boolean |
TRUE is the refund was processed successfully FALSE otherwise |
Related articles
Rate this article: