Example #1
0
<?php

/**
 * Description:
 *      Raven Hello Example
 * Version:
 *      v2.3.0
 * Purpose:
 *      Demonstrates how to use the Raven Helper library to
 *      debug communications, time stamp and signatures.
 * Usage:
 *      Open command prompt in containing directory and run "hello_service_demo.php".
 * See:
 *      For full documentation see "http://docs.deepcovelabs.com/raven/api-guide/"
 */
require '../vendor/autoload.php';
use Raven\Raven;
# First, instantiate the SDK with your AccessKey_ID and AccessKey_Secret.
$rvn = new Raven('ernest', 'all good men die young');
echo "Starting Hello Example Test.";
date_default_timezone_set('UTC');
$endTime = new DateTime();
$startTime = new DateTime();
$helloReq = new Raven\Request('hello');
echo "Request: " . json_encode($helloReq->all(), JSON_PRETTY_PRINT) . "\n";
$helloResp = $helloReq->send($helloReq);
echo "Request: " . json_encode($helloResp->all(), JSON_PRETTY_PRINT) . "\n";
$endTime = new DateTime();
$startTime = new DateTime();
// setting it 1 day
$startTime->sub(new DateInterval('P1D'));
// ReportRequest Data
$reportData = ["ReportFormat" => "RavenPaymentFile_v1.0", "StartTime" => $startTime->format('Y-m-d\\TH:i:s'), "EndTime" => $endTime->format('Y-m-d\\TH:i:s'), "ResultFields" => 'RoutingNumber PaymentType Amount Currency CardNumber ApprovalCode'];
$reportRequest = new \Raven\Request('payments', $reportData);
echo "Raven operation: " . $reportRequest->getOperation() . "\n";
echo "Request: " . json_encode($reportRequest->all(), JSON_PRETTY_PRINT) . "\n";
$reportResp = $rvn->send($reportRequest);
echo "Response: " . json_encode($reportResp->all(), JSON_PRETTY_PRINT) . "\n";
$pmtReportLines = explode("\r", $reportResp->get("Report"));
echo "\n";
foreach ($pmtReportLines as $reportLine) {
    echo $reportLine . "\n";
}
$eventReportRequest = new \Raven\Request('events');
$eventReportRequest->set('ReportFormat', 'RavenEventFile_v1.0');
$eventReportRequest->set('StartTime', $startTime->format('Y-m-d\\TH:i:s'));
$eventReportRequest->set('EndTime', $endTime->format('Y-m-d\\TH:i:s'));
$eventReportRequest->set('ResultFields', 'RoutingNumber PaymentType Amount Currency CardNumber ApprovalCode');
echo "Raven operation: " . $eventReportRequest->getOperation() . "\n";
echo "Request: " . json_encode($eventReportRequest->all(), JSON_PRETTY_PRINT) . "\n";
$eventReportResp = $rvn->send($eventReportRequest);
echo "Response: " . json_encode($eventReportResp->all(), JSON_PRETTY_PRINT) . "\n";
$eventReportLines = explode("\r", $eventReportResp->get("Report"));
echo "\n";
foreach ($eventReportLines as $reportLine) {
    echo $reportLine . "\n";
}
echo "Finished Reporting Test.";
use Raven\Raven;
date_default_timezone_set('UTC');
# First, instantiate the SDK with your AccessKey_ID and AccessKey_Secret.
$rvn = new Raven('ernest', 'all good men die young');
// Payment processing request reused several times
$paymentData = ["RoutingNumber" => "987743", "Currency" => "USD", "CardNumber" => "4242424242424242", "ExpiryDate" => "0919", "PaymentType" => "cc_debit", "Amount" => 4321];
# Set Magic Card for canadian payment
$paymentReq = new \Raven\Request('submit', $paymentData);
$paymentReq->set('PaymentReference', 'approvedtest[CA:VI:Approved]');
echo "Request: " . json_encode($paymentReq->all(), JSON_PRETTY_PRINT) . "\n";
$paymentResp = $rvn->send($paymentReq);
echo "Response: " . json_encode($paymentResp->all(), JSON_PRETTY_PRINT) . "\n";
# Submit an intentionally unsuccessful canadian payment
$paymentReq = new \Raven\Request('submit', $paymentData);
$paymentReq->set('PaymentReference', 'declinedtest[CA:VI:Declined]');
echo "Request: " . json_encode($paymentReq->all(), JSON_PRETTY_PRINT) . "\n";
$paymentResp = $rvn->send($paymentReq);
echo "Response: " . json_encode($paymentResp->all(), JSON_PRETTY_PRINT) . "\n";
# Submit a US payment that fails because US cards are not allowed on gaming PRNs
$paymentReq = new \Raven\Request('submit', $paymentData);
$paymentReq->set('PaymentReference', 'failtest[US:VI:Approved]');
echo "Request: " . json_encode($paymentReq->all(), JSON_PRETTY_PRINT) . "\n";
$paymentResp = $rvn->send($paymentReq);
echo "Response: " . json_encode($paymentResp->all(), JSON_PRETTY_PRINT) . "\n";
// Close the file
$closeReq = new \Raven\Request('closefile');
$closeReq->set('FileName', $paymentResp->get('Filename'));
$closeResp = $rvn->send($closeReq);
echo "Raven operation: " . $closeReq->getOperation() . "\n";
echo "Request: " . json_encode($closeReq->all(), JSON_PRETTY_PRINT) . "\n";
echo "Response: " . json_encode($closeResp->all(), JSON_PRETTY_PRINT) . "\n";