transaction.refund
transaction.refund
transaction.refund
Description
Refund transaction for passed tran_id and pp_type. If optional amount parameter is sent then:
- if less than the one used in original transaction then PV2 will try to issue partial refund.
 - If passed amount is equal to the one used in original transaction, full refund will be issued
 - If passed amount is bigger than the one used in original transaction or partial refund is already sent and total sum of refunds is bigger than amount used in original transaction - an error will be issued on PP level.
 
Input Parameters
| Name | Type | Required | Description | 
|---|---|---|---|
| tran_id | Int | Yes | PV2 Transaction ID (i.e. obtained with transaction.list) | 
| pp_type | string | Yes | PP Type (NB|RG|PO|...) | 
| amount | float | No | Amount to be refunded | 
| revoke | tinyint | No | Works for GP only | 
| card_number | string | No (RG only) | Credit Card Number | 
| card_expire | tinyint | No (RG only) | Card expire date MMYY | 
Returned result
| Name | Type | Description | 
|---|---|---|
| success | boolean | True on success false on failure | 
| error_msg | string | Error msg in case of error | 
| tran_id | int | Refund transaction ID | 
Usage Example
<?php $curl = new \Dinke\CurlHttpClient; //setup payment url and timeout $payment_url = 'https://dev-payment.datingvip.com/api.json'; $timeout = 30; $curl->setCredentials('some-token', 'some-pass'); $post_data = array( 'cmd' => 'transaction.refund', 'data' => array( 'tran_id' => 1980, 'pp_type' => 'RG', 'amount' => 39.99 ), ); $response = $curl->sendPostData($payment_url, $post_data, null, $timeout); if($response === false) { //handle errors } //decode json to get array $response = json_decode($response, true); var_dump($response); ?>
Excepted output after running this script should be:
array (size=1)
  'result' => 
    array (size=8)
      'code' => int 700
      'status' => string 'Action completed succesfully' (length=28)
      'command' => string 'transaction.refund' (length=18)
      'result' => 
        array (size=2)
          'success' => boolean true
          'error_msg' => string '' (length=0)
          'tran_id' => int 12345
      'request' => 
        array (size=4)
          'cmd' => string 'transaction.refund' (length=18)
          'data' => 
            array (size=3)
              'tran_id' => string '1980' (length=4)
              'pp_type' => string 'RG' (length=2)
              'amount' => string '39.99' (length=5)
          'token' => string 'some-token' (length=26)
          'pass' => string 'some-pass' (length=32)
      'ts' => int 1429563857
      'origin_ip' => string '93.87.220.184' (length=13)
      'errors' => nullReferenced Files
None
Subscribers
None
- Last Author
 - aplawecki
 - Last Edited
 - Jun 11 2020, 02:53