== transaction.list ==
==== Description ====
Return List of transactions
==== Input Parameters ====
<table>
<tr><th>Name</th><th>Type</th><th>Required</th><th>Description</th></tr>
<tr><td>tran_id</td><td>mixed (int|array)</td><td>no</td><td>Show results for specified transaction ID(s)</td></tr>
<tr><td>sub_id</td><td>mixed (int|array)</td><td>no</td><td>Show results for specified subscription ID(s)</td></tr>
<tr><td>item_id</td><td>mixed (int|array)</td><td>no</td><td>Show results for specified item ID(s)</td></tr>
<tr><td>page</td><td>(int)</td><td>no</td><td>Show only results on specified page</td></tr>
<tr><td>limit</td><td>(int)</td><td>no</td><td>Restrict results per page</td></tr>
<tr><td>on_date</td><td>(string)</td><td>no</td><td>Show results occured on specified date</td></tr>
<tr><td>from_date</td><td>(string)</td><td>no</td><td>Show results from specified date</td></tr>
<tr><td>to_date</td><td>(string)</td><td>no</td><td>Show results until specidied date</td></tr>
<tr><td>from_id</td><td>(int) Show results with ID(s)</td><td>no</td><td>higher than specified</td></tr>
<tr><td>to_id</td><td>(int) Show results with ID(s)</td><td>no</td><td>lower than specified</td></tr>
<tr><td>nocache</td><td>(bool)</td><td>no</td><td>Choose whether results should be cached or not</td></tr>
<tr><td>tracking_tag</td><td>mixed (int|array)</td><td>no</td><td>Show results with specified client side tracking tag(s)</td></tr>
<tr><td>currency</td><td>mixed (string|array)</td><td>no</td><td>Show results with specified currency</td></tr>
<tr><td>tracking_user</td><td>mixed (int|array)</td><td>no</td><td>Show results with specified client side user ID(s)</td></tr>
<tr><td>order_id</td><td>mixed (int|array)</td><td>no</td><td>Show results with specified order ID(s)</td></tr>
<tr><td>country</td><td>mixed (string|array)</td><td>no</td><td>Show results having specified countries</td></tr>
<tr><td>ip</td><td>mixed (string|array)</td><td>no</td><td>Show only results having specified IP address(es)</td></tr>
<tr><td>name</td><td>(string*)</td><td>no</td><td>Show only results having specified user name</td></tr>
<tr><td>ccnum</td><td>(string*)</td><td>no</td><td>Show only results having specified credit card number part</td></tr>
<tr><td>pp_type</td><td>mixed (string|array)</td><td>no</td><td>Show results having specified processor type(s)</td></tr>
<tr><td>rebill_count</td><td>(int)</td><td>no</td><td>Show results having specified nubmer of rebill count(s)</td></tr>
<tr><td>status</td><td>mixed (string|array)</td><td>no</td><td>Show results with specified order status</td></tr>
<tr><td>email</td><td>(string*)</td><td>no</td><td>Show results having specified user email</td></tr>
<tr><td>hour</td><td>(int)</td><td>no</td><td>Show results having timestamp whithin specified hour</td></tr>
<tr><td>by_hour</td><td>(bool)</td><td>no</td><td>Whether to group results by hour or not</td></tr>
<tr><td>by_site</td><td>(bool)</td><td>no</td><td>Whether to group results by site ID or not</td></tr>
<tr><td>refunded_tran_id</td><td>(bool)</td><td>no</td><td>Whether to group results by site ID or not</td></tr>
</table>
Return
<table>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
<tr><td>tran_id</td><td>int</td><td>PV2 Transaction ID</td></tr>
<tr><td>date</td><td>int</td><td>Transaction Date (unix timestamp)</td></tr>
<tr><td>status</td><td>String</td><td>Status (successful|failed|init)</td></tr>
<tr><td>description</td><td>String</td><td>Transaction Description</td></tr>
<tr><td>amount</td><td>float</td><td>Transaction Amount</td></tr>
<tr><td>transaction_type</td><td>String</td><td>Transaction Type ('S' for sale, 'A' for auth, 'R' for refund)</td></tr>
<tr><td>origin</td><td>int</td><td>Origin (Direct or System)</td></tr>
<tr><td>ppac_id</td><td>int</td><td>PV2 PP Account ID</td></tr>
<tr><td>ccdt_id</td><td>int</td><td>PV2 Credit Card ID</td></tr>
<tr><td>refunded_tran_id</td><td>int</td><td>Refunded transaction ID (if transaction is refund)</td></tr>
<tr><td>currency</td><td>int</td><td>Transaction currency</td></tr>
<tr><td>payment_code</td><td>int</td><td>Payment Code</td></tr>
<tr><td>order_id</td><td>int</td><td>PV2 Order ID</td></tr>
<tr><td>pp_id</td><td>int</td><td>PV2 PP ID</td></tr>
<tr><td>tracking_tag</td><td>int</td><td>Tracking Tag</td></tr>
<tr><td>hash</td><td>String</td><td>Hash generated during order</td></tr>
<tr><td>user_id</td><td>int</td><td>PV2 user id</td></tr>
<tr><td>refunded</td><td>int</td><td>Is transaction refunded</td></tr>
<tr><td>refunded_amount</td><td>float</td><td>Refunded Amount</td></tr>
<tr><td>type</td><td>string</td><td>Type (i.e. signup)</td></tr>
<tr><td>processor</td><td>String</td><td>Payment Processor short name (NB, RG ...)</td></tr>
<tr><td>processor_name</td><td>String</td><td>Payment Processor full name (NetBilling, Rocket Gate, ...)</td></tr>
<tr><td>details</td><td>array</td><td>Transaction Details (different for each payment processor)</td></tr>
<tr><td>status_message</td><td>string</td><td>Status message</td></tr>
<tr><td>pay_status</td><td>string</td><td>Payment status (i.e. Approved by CS guys)</td></tr>
<tr><td>status_severity</td><td>int</td><td>status_severity</td></tr>
<tr><td>ccnum</td><td>string</td><td>Credit Card Number</td></tr>
<tr><td>ccname</td><td>string</td><td>Credit Card Name</td></tr>
<tr><td>ccxpdate</td><td>string</td><td>Credit Card Expired Date</td></tr>
<tr><td>cctype</td><td>string</td><td>Credit Card Type (I.e. visa)</td></tr>
<tr><td>ccaddress</td><td>string</td><td>Credit Card Address</td></tr>
<tr><td>cczip</td><td>string</td><td>Credit Card ZIPCode</td></tr>
<tr><td>ccstatus</td><td>string</td><td>Credit Card status</td></tr>
<tr><td>cccountry</td><td>string</td><td>Credit Card Country</td></tr>
<tr><td>items</td><td>array</td><td>items</td></tr>
<tr><td>item_id</td><td>int</td><td>PV2 Item ID</td></tr>
<tr><td>sub_id</td><td>string</td><td>PV2 Subscription ID</td></tr>
<tr><td>tracking_user</td><td>string</td><td>Tracking User</td></tr>
<tr><td>email</td><td>string</td><td>e-mail</td></tr>
<tr><td>card_type</td><td>string</td><td>card_type</td></tr>
<tr><td>card_category</td><td>string</td><td>card_category</td></tr>
<tr><td>bank_name</td><td>string</td><td>bank_name</td></tr>
<tr><td>bank_country_code</td><td>string</td><td>bank_country_code</td></tr>
<tr><td>bank_site</td><td>string</td><td>bank_site</td></tr>
<tr><td>bank_phone</td><td>string</td><td>bank_phone</td></tr>
</table>
==== Usage Example ====
```
<?php
require_once "$curl_http_client/curl_http_client.php";
$curl = new = new \Dinke\Curl_HTTP_HttpClient();;
//setup payment url and timeout
$payment_url = 'https://dev-payment.datingvip.dev';com/api.json';
$timeout = 30;
//generate post data
$post_data = array
(
'$curl->setCredentials('some-token' =>, 'some-token',
'password' => '130d04b80a4196857e47b254ebfbb53f',');
$post_data = array(
'comman'cmd' => 'transaction.list',
'data' => array('limit' => 1)
);
$response = $curl->send_post_dPostData($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=91)
'result' =>
array (size=8)
'code' => int 700
'status' => string 'Action completed succesfully' (length=28)
'command' => string 'transaction.list' (length=16)
'result' =>
array (size=1)
0 =>
array (size=5461)
'tran_id' => string '1983' (length=14)
'date 'ptnr_id' => string '139991283955' (length=102)
'status 'ppac_id' => string 'successful109' (length=103)
'description 'order_id' => string 'This is dinke testing manual rebill548' (length=35)
'amount 'ccdt_id' => string '25.35396' (length=53)
'transaction_type' => string 's' (length=1)
'origin 'amount' => string 'system0.02' (length=64)
'ppac_id 'currency' => string '74USD' (length=23)
'ccdt_id 'description' => string '3order #548 - uid #438 - RG Stepdown TEST product||13477' (length=155)
'status' => string 'failed' (length=6)
'refunded_tran_id' => string '0' (length=1)
'currency 'origin' => string 'EURdirect' (length=36)
'payment_code 'ts' => string '7001429203868' (length=310)
'order_id 'original_ts' => string '30' (length=1)
'status_code' => string '1' (length=1)
'payment_code' => string '608' (length=3)
'pp_id' => string '6' (length=1)
'tracking_tag' => string '14542' (length=23)
'hash' => string '13995636282866c87677c50d9bd437842920386839553dccf767263e6150b2' (length=32)
'user_id' => string '2438' (length=13)
'order_type' => string 'basic' (length=5)
'first_name' => string 'DraganTest' (length=64)
'last_name' => string 'DinicTest' (length=54)
'street' => string '' (length=0)
'city' => string '' (length=0)
'state' => string '' (length=0)
'zipcode' => string '3400075001' (length=5)
'country' => string 'NLFR' (length=2)
'site_id' => string '542' (length=3)
'refunded' => int 0
'refunded_amount' => int 0
'type' => string 'rebill' (length=6)
'processor' => string 'RG' (length=2)
'processor_name' => string 'RocketGate' (length=10 'type' => string 'signup' (length=6)
'details 'name' =>
array (size=14string 'Rocket Gate - DatingBackend' (length=27)
'trans'is_actionIDve' => string '1000145F14EBF41' (length=15)
'authNo'ccnum' => string '04241413415xxxxxx4135' (length=616)
'invoiceID'ccname' => string 'M1_1_3Test Test' (length=69)
'merchantID'ccxpdate' => string '2017-01-01' (length=10)
'amount'cctype' => string '25.35visa' (length=54)
'currency'ccaddress' => string 'EUR' (length=30)
'description'cczip' => string '75001' (length=05)
'membershipID'ccstatus' => string 'M1_1inactive' (length=48)
'avsCode'cccountry' => string 'FR' (length=02)
'cvv2Code'processor' => string 'RG' (length=02)
'reasonCod'processor_name' => string '0RocketGate' (length=10)
'responseCod'date' => string '01429203868' (length=10)
'details' =>
array (size=40)
'tdrg_id' => string '1876' (length=4)
'guidNo' => string '100014CC3305CF5' (length=15)
'authNo' => string '' (length=0)
'merchantInvoiceID' => string 'DBT_30551147_548' (length=16)
'merchantAccount' => string '1' (length=1)
'approvedAmount' => string '0.02' (length=4)
'approvedCurrency' => string 'USD' (length=3)
'scrubResults' => string 'NEGDB=0,PROFILE=1,ACTIVITY=0' (length=28)
'merchantCustomerID' => string 'DBT_30551147' (length=12)
'avsResponse' => string '' (length=0)
'cvv2Code' => string '' (length=0)
'reasonCode' => string '105' (length=3)
'responseCode' => string '1' (length=1)
'cardCountry' => string 'US' (length=2)
'responseMessage 'cardHash' => string 'Success: Success+2YSOHMjpgwbHlNHudLjgPFxFy/MWlBeu2Kxw953E3Y=' (length=1644)
'status_message 'merchantID' => string 'Action completed succesfully1376948206' (length=2810)
'pay_status 'bankResponseCode' => string 'APPROVED105' (length=83)
'status_severity 'ptnr_id' => int 2string '55' (length=2)
'ccnum 'ppac_id' => string '555555xxxxxx4444109' (length=163)
'ccname 'order_id' => string 'Dragan Dinic548' (length=123)
'ccxpdate 'ccdt_id' => string '2015-12-01396' (length=103)
'cc 'transaction_type' => string 'mcs' (length=21)
'ccaddress 'amount' => string '0.02' (length=04)
'cczip 'currency' => string '34000USD' (length=53)
'ccstatus 'description' => string 'activeNEGDB=0,PROFILE=1,ACTIVITY=0' (length=628)
'cccountry 'status' => string 'NLfailed' (length=26)
'refunded_tran_id' => string '0' (length=1)
'origin' => string 'direct' (length=6)
'ts' => string '1429203868' (length=10)
'original_ts' => string '0' (length=1)
'status_code' => string '1' (length=1)
'payment_code' => string '608' (length=3)
'transactionID' => string '100014CC3305CF5' (length=15)
'invoiceID' => string 'DBT_30551147_548' (length=16)
'membershipID' => string 'DBT_30551147' (length=12)
'avsCode' => string '' (length=0)
'errorMessage' => string 'Declined Over Limit' (length=19)
'responseMessage' => string 'Declined Over Limit: The bank has declined the transaction because the account is over limit.' (length=93)
'uniqueAccountId' => string '1376948206-1' (length=12)
'is_retrieval' => string '0' (length=1)
'status_message' => string 'Transaction declined due to insufficient funds. Please try another card.' (length=72)
'pay_status' => string 'DECLINED' (length=8)
'status_severity' => int 8
'items' =>
array (size=1)
0 => string '320547' (length=15)
'item_id' => string '320547' (length=15)
'sub_id' => string '1' (length=10)
'tracking_user' => string '130551147' (length=18)
'email' => string 'dragan@dinke.netwebdriver+3221@gmail.com' (length=1624)
'card_brand' => string 'VISA' (length=04)
'card_type' => string 'CREDIT' (length=06)
'card_category' => string '' (length=0)
'bank_name' => string 'BANK OF NEW HAMPSHIRE, N.A.' (length=027)
'bank_country_code' => string 'US' (length=02)
'bank_site' => string 'HTTP://WWW.BANKNH.COM/' (length=022)
'bank_phone' => string '603.527.6608 OR 603.527.6769' (length=028)
'request' =>
array (size=4)
'token' => string 'some-token' (length=30)
'password' => string '130d04b80a4196857e47b254ebfbb53f' (length=32)
'comman 'cmd' => string 'transaction.list' (length=16)
'data' =>
array (size=1)
'limit' => string '1' (length=1)
'ts 'token' => int 1399919518string 'some-token' (length=26)
'origin_ip 'pass' => boolean falsestring 'some-pass' (length=32)
'debug 'ts' => nullint 1429563631
'origin_ip' => string '93.87.220.184' (length=13)
'errors' => null
```