== subscription.list ==
==== Description ====
Return List of subscriptions
==== Input Parameters ====
<table>
<tr><th>Name</th><th>Type</th><th>Required</th><th>Description</th></tr>
<tr><td>page</td><td>Int</td><td>No</td><td>Page</td></tr>
<tr><td>limit</td><td>Int</td><td>No</td><td>Limit to certain number of records (default 100)</td></tr>
<tr><td>order_field</td><td>string</td><td>No</td><td>Order by which field (default tran_id)</td></tr>
<tr><td>order_dir</td><td>String</td><td>No</td><td>(asc|desc)</td></tr>
<tr><td>on_date</td><td>Date</td><td>No</td><td>On Date (YYYY-MM-DD)</td></tr>
<tr><td>from_date</td><td>Date</td><td>No</td><td>From Date (YYYY-MM-DD)</td></tr>
<tr><td>to_date</td><td>Date</td><td>No</td><td>To date (YYYY-MM-DD)</td></tr>
<tr><td>from_id</td><td>Int</td><td>No</td><td>Return only tran_id's > from_id</td></tr>
<tr><td>to_id</td><td>Int</td><td>No</td><td>Return only tran_id's < to_id</td></tr>
<tr><td>flname</td><td>Int</td><td>No</td><td>First/Last name string (i.e. John*) to get only those starting with that</td></tr>
<tr><td>email</td><td>Int</td><td>No</td><td>Email</td></tr>
<tr><td>ccnum</td><td>String</td><td>No</td><td>Credit Card Number</td></tr>
<tr><td>hour</td><td>Int</td><td>No</td><td>Filter to specific hour (0-23). I.e. 8 will return only transactions between 8 and 9</td></tr>
<tr><td>type</td><td>String</td><td>No</td><td>Transaction Type (signup|rebill|refund)</td></tr>
<tr><td>nocache</td><td>Int</td><td>No</td><td>Whether to get cached result (default is 0 and 1 should be used only for debugging purposes)</td></tr>
<tr><td>tracking_tag</td><td>mixed</td><td>No</td><td>Tracking Tag (can be sent as int or as array so you send more at once</td></tr>
<tr><td>currency</td><td>mixed</td><td>No</td><td>Currency (can be sent as String or as array so you send more at once)</td></tr>
<tr><td>tracking_user</td><td>mixed</td><td>No</td><td>Tracking User (can be sent as Int or as array so you send more at once)</td></tr>
<tr><td>sub_id</td><td>mixed</td><td>No</td><td>sub_id (can be sent as int or as array so you send more at once)</td></tr>
<tr><td>order_id</td><td>mixed</td><td>No</td><td>order_id (can be sent as int or as array so you send more at once)</td></tr>
<tr><td>tran_id</td><td>mixed</td><td>No</td><td>tran_id (can be sent as int or as array so you send more at once)</td></tr>
<tr><td>status</td><td>mixed</td><td>No</td><td>Transaction Status (successful|failed|init) (can be sent as string or as array so you send more at once)</td></tr>
<tr><td>pp_type</td><td>mixed</td><td>No</td><td>PP Type (NB|RG|PO|...)(can be sent as string or as array so you send more at once)</td></tr>
<tr><td>item_id</td><td>mixed</td><td>No</td><td>Item ID (can be sent as Int or as array so you send more at once)</td></tr>
<tr><td>refunded_tran_id</td><td>mixed</td><td>No</td><td>refunded_tran_id (can be sent as Int or as array so you send more at once)</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' => 'subscription.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 'subscription.list' (length=17)
'result' =>
array (size=1)
0 =>
array (size=438)
'sub_id' => string '1258' (length=13)
'next_rebill_shcedule' => string '0' (length=1)
'rebill_count' => string '0' (length=1)
'status' => string 'inittrial' (length=75)
'date' => string '1399563640429201466' (length=10)
'end_date' => string '0' (length=1)
'item_id 'next_rebill_amount' => string '30.00' (length=14)
'order 'item_id' => string '320544' (length=15)
'amount 'order_id' => string '24.99545' (length=53)
'trial_ 'amount' => string '0.0039.99' (length=45)
'trial_amount' => string '39.99' (length=5)
'trial_unit' => string 'day' (length=3)
'trial_period' => string '90' (length=12)
'rebill_unit' => string 'monthday' (length=53)
'rebill_period' => string '190' (length=12)
'max_rebill_count' => string '-1' (length=2)
'description' => string 'Monthly subscription 24.99 USD with 5 days 2.99 trial and unlimited rebills3 месяца - $13.33USD/месяц||7882' (length=7543)
'tracking_item' => string '10' (length=1)
'ptnr 'uprc_id' => string '10' (length=1)
'use 'ptnr_id' => string '255' (length=12)
'user_id' => string '435' (length=3)
'pp_id' => string '6' (length=1)
'ppac_id' => string '74109' (length=23)
'force_mid' => string '' (length=0)
'ccdt_id' => string '393' (length=13)
'tracking_order' => string '0' (length=1)
'tracking_tag' => string '14512' (length=23)
'first_name' => string 'DraganNerty' (length=65)
'last_name' => string 'DinicBen' (length=53)
'street' => string '' (length=0)
'city' => string '' (length=0)
'state' => string 'dev' (length=03)
'zipcode' => string '3400010001' (length=5)
'country' => string 'NLUS' (length=2)
'email' => string 'dragan@dinke.netyuliapaid@gmail.com' (length=169)
'ip' => string '127.0.0.166.154.2.78' (length=911)
'host' => string 'whatever.dinke.net66.154.2.78' (length=181)
'currency' => string 'EURUSD' (length=3)
'hash' => string '13995636282866c87677c50d9bd437824292014665482f2015ee30f487cf670' (length=32)
'rebill_transaction_id' => string '1980' (length=14)
'order_status' => string 'completed' (length=9)
'ts' => string '1399563640429201466' (length=10)
'type' => string 'basic' (length=5)
'tracking_user 'step_down' => string '10' (length=1)
'tax_rate' => string '0.00' (length=4)
'tax_amount' => string '0.00' (length=4)
'tracking_user' => string '10166584' (length=8)
'processor' => string 'RG' (length=2)
'request' =>
array (size=4)
'token' => string 'some-token' (length=30)
'password' => string '130d04b80a4196857e47b254ebfbb53f' (length=32)
'comman 'cmd' => string 'subscription.list' (length=17)
'data' =>
array (size=1)
'limit' => string '1' (length=1)
'ts 'token' => int 1399912202string 'some-token' (length=26)
'origin_ip 'pass' => boolean falsestring 'some-pass' (length=32)
'debug 'ts' => nullint 1429562553
'origin_ip' => string '93.87.220.184' (length=13)
'errors' => null
```