<?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";