Skip to content

Processing Results

Mauko Maunde edited this page Jan 8, 2021 · 1 revision

To process results from a transaction statuscheck, or a reversal, or an account balance check, call the result method at your endpoint.

C2B::result();

You can pass an optional callback for processing the response from the request and returning true.

C2B::result(function ($response){
    // Process account balance check results
    $result                     = $response["Result"];
    $ResultType                 = $result["ResultType"];
	$ResultCode                 = $result["ResultCode"];
	$ResultDesc                 = $result["ResultDesc"];
	$OriginatorConversationID   = $result["OriginatorConversationID"];
	$ConversationID             = $result["ConversationID"];
	$TransactionID              = $result["TransactionID"];
	$ResultParameters           = $result["ResultParameters"];

    $ResultParameter            = $ResultParameters["ResultParameter"];
	$ReceiptNo                  = $ResultParameter[0]["Value"];
	$Conversation               = $ResultParameter[1]["Value"];
	$FinalisedTime              = $ResultParameter[2]["Value"];
	$Amount                     = $ResultParameter[3]["Value"];
	$TransactionStatus          = $ResultParameter[4]["Value"];
	$ReasonType                 = $ResultParameter[5]["Value"];
    $TransactionReason          = $ResultParameter[6]["Value"];
    $DebitPartyCharges          = $ResultParameter[7]["Value"];
    $DebitAccountType           = $ResultParameter[8]["Value"];
    $InitiatedTime              = $ResultParameter[9]["Value"];
    $OriginatorConversationID   = $ResultParameter[10]["Value"];
    $CreditPartyName            = $ResultParameter[11]["Value"];
    $DebitPartyName             = $ResultParameter[12]["Value"];

    $ReferenceData              = $result["ReferenceData"];
    $ReferenceItem              = $ReferenceData["ReferenceItem"];
	$Occasion                   = $ReferenceItem["Value"];


    // Process transaction reversal results
    $Result                     = $response["Result"];
	$ResultType                 = $Result["ResultType"];
	$ResultCode                 = $Result["ResultCode"];
	$ResultDesc                 = $Result["ResultDesc"];
	$OriginatorConversationID   = $Result["OriginatorConversationID"];
	$ConversationID             = $Result["ConversationID"];
	$TransactionID              = $Result["TransactionID"];
	$ReferenceData              = $Result["ReferenceData"];
	$ReferenceItem              = $Result["ReferenceItem"];
	$QueueTimeoutURL            = $ReferenceItem["Value"];

    // Process transaction status check results
    $Result                     = $response["Result"];
	$ResultType                 = $Result["ResultType"];
	$ResultCode                 = $Result["ResultCode"];
	$ResultDesc                 = $Result["ResultDesc"];
	$OriginatorConversationID   = $Result["OriginatorConversationID"];
	$ConversationID             = $Result["ConversationID"];
	$TransactionID              = $Result["TransactionID"];
	$ResultParameters           = $Result["ResultParameters"];
	$ResultParameter            = $ResultParameters["ResultParameter"];
	$ReceiptNo                  = $ResultParameter[0]["Value"];
	$ConversationID             = $ResultParameter[1]["Value"];
	$FinalisedTime              = $ResultParameter[2]["Value"];
	$Amount                     = $ResultParameter[3]["Value"];
	$TransactionStatus          = $ResultParameter[4]["Value"];
	$ReasonType                 = $ResultParameter[5]["Value"];
	$TransactionReason          = $ResultParameter[6]["Value"];
	$DebitPartyCharges          = $ResultParameter[7]["Value"];
	$DebitAccountType           = $ResultParameter[8]["Value"];
	$InitiatedTime              = $ResultParameter[9]["Value"];
	$OriginatorConversationID   = $ResultParameter[10]["Value"];
	$CreditPartyName            = $ResultParameter[11]["Value"];
	$DebitPartyName             = $ResultParameter[12]["Value"];

    $ReferenceData              = $result["ReferenceData"];
    $ReferenceItem              = $ReferenceData["ReferenceItem"];
	$Occasion                   = $ReferenceItem["Value"];


    //TIP: You can differentiate between responses by checking value of $ResultType
    return true;
});

Clone this wiki locally