Indirect Status Requery

There are several types of status requery on PG system:

Status inquiry is a backup approach to get a final payment status in a proactive way, yet a more reliable integration should be established using 3 endpoints or webhooks to obtain real-time passive notification from the PG.

For bulk requery, best practice is to utilize one of these APIs once every half an hour for transactions with pending and unknown status only. Excessive and rapid API calls will be blocked without prior notice.

📘

Note : No result available for transactions created more than 24 hours, 30 or 180 days, depending on the API respectively.


1. Query by unique transaction ID

Request

URL: https://api.fiuu.com/RMS/q_by_tid.php


Method: POST or GET

Request & Response parameters are the same as Direct Status Requery but the format and parameters order of the responses are slightly different.


Example of response


2. Query by order ID (single output)

Response

URL: https://api.fiuu.com/RMS/query/q_by_oid.php


Method: POST or GET


Response


Formula for skey

md5( {oID}{domain}{verify_key}{amount} )

Formula for VrfKey

md5( {Amount}{secret_key}{Domain}{OrderID}{StatCode} )


3. Query by order ID (batch output)

Request

URL: https://api.fiuu.com/RMS/query/q_oid_batch.php


Method: POST or GET


Response


Formula of skey

md5( {oID}{domain}{verify_key} )

Examples of Response

type=0,

plain text output, newline with single or two TAB character(s)

TranIDBillingDateStatCodeStatNameAmountBillingNameCurrencyErrorCodeErrorCode
4186072009-11-2622pending25.00LenkaMYR
4186032009-11-2600captured125.10MikaMYR
4185832009-11-2600captured71.10CiaraMYR

type=1, format=0,

POST variables with delimiter “|”

$_POST[TranID] = “418607|418603|418583”;
$_POST[BillingDate] = “2009-11-26|2009-11-26|2009-11-26”;
$_POST[StatCode] = “22|00|00”;
$_POST[StatName] = “pending|captured|captured”;
$_POST[Amount] = “25.00|125.10|71.10”;
$_POST[BillingName] = “Lenka|Mika|Ciara”;
$_POST[Currency] = “MYR|MYR|MYR”;
$_POST[ErrorCode] = “||”;
$_POST[ErrorDesc] = “||”;

type=1, format=1,

POST variables in array

$_POST[0][TranID] = “418607”;
$_POST[0][BillingDate] = “2009-11-26”;
$_POST[0][StatCode] = “22”;
$_POST[0][StatName] = “pending”;
$_POST[0] [Amount] = “25.00”;
$_POST[0] [BillingName] = “Lenka”;
$_POST[0] [Currency] = “MYR”;
$_POST[0] [ErrorCode] = “”;
$_POST[0] [ErrorDesc] = “”;
$_POST[1] [TranID] = “418603”;
$_POST[1] [BillingDate] = “2009-11-26”;
$_POST[1] [StatCode] = “00”;
$_POST[1] [StatName] = “captured”;
$_POST[1] [Amount] = “125.10”;
$_POST[1] [BillingName] = “Mika”;
$_POST[1] [Currency] = “MYR”;
$_POST[1] [ErrorCode] = “”;
$_POST[1] [ErrorDesc] = “”;
$_POST[2] [TranID] = “418583”;
$_POST[2] [BillingDate] = “2009-11-26”;
$_POST[2] [StatCode] = “00”;
$_POST[2] [StatName] = “captured”;
$_POST[2] [Amount] = “71.10”;
$_POST[2] [BillingName] = “Ciara”;
$_POST[2] [Currency] = “MYR”;
$_POST[2] [ErrorCode] = “”;
$_POST[2] [ErrorDesc] = “”;

type=2,

JSON text output

[
    {
        "TranID": "418607",
        "BillingDate": "2009-11-26",
        "StatCode": "22",
        "StatName": "pending",
        "Amount": "25.00",
        "BillingName": "Lenka",
        "Currency": "MYR",
        "ErrorCode": “”,
        "ErrorDesc": “”l
    },
    {
        "TranID": "418603",
        "BillingDate": "2009-11-26",
        "StatCode": "00",
        "StatName": "captured",
        "Amount": "125.10",
        "BillingName": "Mika",
        "Currency": "MYR",
        "ErrorCode": “”,
        "ErrorDesc": “”
    },
    {
        "TranID": "418583",
        "BillingDate": "2009-11-26",
        "StatCode": "00",
        "StatName": "captured",
        "Amount": "71.10",
        "BillingName": "Ciara",
        "Currency": "MYR",
        "ErrorCode": “”,
        "ErrorDesc": “”
    }
]


4. Query by multiple order ID (batch output)

Request

URL: https://api.fiuu.com/RMS/query/q_by_oids.php


Method: POST or GET


Response


Formula of skey

md5( {domain}{oIDS}{verify_key} )


Formula of VrfKey

md5( {Amount}{secret_key}{Domain}{OrderID}{StatCode} )

Example of response

type=1

format=1

 [oid1] => Array
    	(
        	[TranID] => 9994238
        	[BillingDate] => 2016-11-28 16:32:08
        	[StatCode] => 00
        	[StatName] => captured
        	[Amount] => 30.00
        	[BillingName] => kimyoon
        	[VrfKey] => 311d72c16e0d3b3fc7994ae93467a2d9
        	[Channel] => mb2u
                  [Currency] => MYR
                  [ErrorCode] =>
                  [ErrorDesc] =>
    	)
 [oid2] => Array
    	(
        	[TranID] => 10004613
                [BillingDate] => 2016-11-29 09:56:02
                [StatCode] => 11
                [StatName] => failed
                [Amount] => 58.60
                [BillingName] => MohdAli
                [VrfKey] => f9f06b47e23410e624df5e272accb27dc
                [Channel] => fpx
                [Currency] => MYR
                  [ErrorCode] =>
                  [ErrorDesc] =>
    	)

...

 [oidN] => Array
    	(
        	[TranID] => -
        	[BillingDate] => -
        	[StatCode] => -
        	[StatName] => -
        	[Amount] => -
        	[BillingName] => -
        	[VrfKey] => -
        	[Channel] => -
                  [Currency] => -
                  [ErrorCode] => -
                  [ErrorDesc] => -
    	)

type=1

format=0delimiter=|

  [OrderID] => oid1|oid2|...|oidN
  [TranID] =>  9994238|10004613|...|-
  [BillingDate] => 2016-11-28 16:32:08|2016-11-29 09:56:02|...|-
  [StatCode] => 00|11|...|-
  [StatName] => captured|failed|...|-
  [Amount] => 30.00|58.60|...|-
  [BillingName] => Nurbaizura|KUMARASAN|...|-
  [VrfKey] => 311d72c16e0d3b3fc7994ae93467a2d9|f9f06b47e23410e624df5e272accb27dc|...|-
  [Channel] => mb2u|fpx|...|-
  [Currency] => MYR|MYR|...|-
  [ErrorCode] => ||...|-
  [ErrorDesc] => ||...|-

type=2

[
    {
        "OrderID": "oid1",
        "TranID": “9994238”,
        "BillingDate": “2016-11-28 16:32:08”,
        "StatCode": “00”,
        "StatName": "captured",
        "Amount": 30.00,
        "BillingName": ”Nurbaizura”,
        "VrfKey": “311d72c16e0d3b3fc7994ae93467a2d9”,
        "Channel": “mb2u”,
        "Currency": “MYR”,
        "ErrorCode": null,
        "ErrorDesc": null
    },
    {
        "OrderID": "oid2",
        "TranID": “10004613”,
        "BillingDate": “2016-11-29 09:56:02”,
        "StatCode": ”11”,
        "StatName": "failed",
        "Amount": 58.60,
        "BillingName": “KUMARASAN”,
        "VrfKey": “f9f06b47e23410e624df5e272accb27dc”,
        "Channel": “fpx”,
        "Currency": ”MYR”,
        "ErrorCode": null,
        "ErrorDesc": null
    },
…
   {
        "OrderID": "oidN",
        "TranID": -,
        "BillingDate": -,
        "StatCode": -,
        "StatName": -,
        "Amount": -,
        "BillingName": -,
        "VrfKey": -,
        "Channel": -,
        "Currency": -,
        "ErrorCode": -,
        "ErrorDesc": -
    }
]


5. Query by multiple transaction ID (batch output)

Request

URL: https://api.fiuu.com/RMS/query/q_by_tids.php


Method: POST or GET


Response


Formula of skey

md5( {domain}{tIDS}{verify_key} )

Formula of VrfKey

md5( {Amount}{secret_key}{Domain}{TranID}{StatCode} )


6. Query on sub-merchant transaction ID (single output) from master account

Request

URL: https://api.fiuu.com/RMS/query/q4master_tid.php


Method: POST or GET


Response


Formula of skey

md5( {txID}{domain}{verify_key} )

Formula of VrfKey

md5( {Amount}{secret_key}{Domain}{TranID}{StatCode} )


7. Query on sub-merchant order ID (batch output) from master account

Request

URL: https://api.fiuu.com/RMS/query/q4master_oid.php


Method: POST or GET


Response


Formula of skey

md5( {oID}{domain}{verify_key} )

Formula of VrfKey

md5( {Amount}{secret_key}{Domain}{OrderID}{StatCode} )