Search code examples
phpcurlpayment-gatewayclickbank

How to initiate refund using click bank API


I am trying to initiate a refund using click bank api with below source code.

$ch = curl_init();
$qry_str="?type=rfnd&comment=API refund check&reason=7&refundType=FULL";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.clickbank.com/rest/1.3/tickets/N5GNE72J'.$qry_str);
curl_setopt($ch, CURLOPT_HEADER, true); 
//curl_setopt($ch, CURLOPT_GET, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: application/xml", "Authorization:DEV-xxxxxxxxx:API-yyyyyyyyyyyy"));
$result = curl_exec($ch);
curl_close($ch);

print $result;


I have used below two url for reference:

  1. https://api.clickbank.com/api/api_13_examples/api_example.php
  2. https://api.clickbank.com/rest/1.3/tickets

After executing above code it shows a blank screen nothing is displyed, My error flag is set to 1 still no error shown.


Solution

  • After a long struggle found the solution. Use below code it worked for me.

     <?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,
        "https://api.clickbank.com/rest/1.3/tickets/627JE7CZ/?type=rfnd&comment=&reason=ticket.type.refund.7&refundType=FULL");
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    /**
     * ClickBank doesn't allow POST parameters to be sent in; however, for the CURL POST to work correctly, the
     * CURL_POSTFIELDS option must be set, so we'll just set it to empty and put all our request parameters on the URL
     */
    curl_setopt($ch, CURLOPT_POSTFIELDS, "");
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Accept: application/xml",
        "Authorization:DEV-enter your dev key here:API-enter your clerk key here"
    ));
    $result = curl_exec($ch);
    curl_close($ch);
    ?>