1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-21 08:51:34 +02:00
invoiceninja/app/PaymentDrivers/Eway/ErrorCode.php
2021-07-27 12:49:13 +10:00

105 lines
3.5 KiB
PHP

<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\PaymentDrivers\Eway;
class ErrorCode
{
private static $success = [
"A2000" => "Transaction Approved",
"A2008" => "Honour With Identification",
"A2010" => "Approved For Partial Amount",
"A2011" => "Approved, VIP",
"A2016" => "Approved, Update Track 3",
];
private static $failure = [
"D4401" => "Refer to Issuer",
"D4402" => "Refer to Issuer, special",
"D4403" => "No Merchant",
"D4404" => "Pick Up Card",
"D4405" => "Do Not Honour",
"D4406" => "Error",
"D4407" => "Pick Up Card, Special",
"D4409" => "Request In Progress",
"D4412" => "Invalid Transaction",
"D4413" => "Invalid Amount",
"D4414" => "Invalid Card Number",
"D4415" => "No Issuer",
"D4417" => "3D Secure Error",
"D4419" => "Re-enter Last Transaction",
"D4421" => "No Action Taken",
"D4422" => "Suspected Malfunction",
"D4423" => "Unacceptable Transaction Fee",
"D4425" => "Unable to Locate Record On File",
"D4430" => "Format Error",
"D4431" => "Bank Not Supported By Switch",
"D4433" => "Expired Card, Capture",
"D4434" => "Suspected Fraud, Retain Card",
"D4435" => "Card Acceptor, Contact Acquirer, Retain Card",
"D4436" => "Restricted Card, Retain Card",
"D4437" => "Contact Acquirer Security Department, Retain Card",
"D4438" => "PIN Tries Exceeded, Capture",
"D4439" => "No Credit Account",
"D4440" => "Function Not Supported",
"D4441" => "Lost Card",
"D4442" => "No Universal Account",
"D4443" => "Stolen Card",
"D4444" => "No Investment Account",
"D4450" => "Click-to-Pay (Visa Checkout) Transaction",
"D4451" => "Insufficient Funds",
"D4452" => "No Cheque Account",
"D4453" => "No Savings Account",
"D4454" => "Expired Card",
"D4455" => "Incorrect PIN",
"D4456" => "No Card Record",
"D4457" => "Function Not Permitted to Cardholder",
"D4458" => "Function Not Permitted to Terminal",
"D4459" => "Suspected Fraud",
"D4460" => "Acceptor Contact Acquirer",
"D4461" => "Exceeds Withdrawal Limit",
"D4462" => "Restricted Card",
"D4463" => "Security Violation",
"D4464" => "Original Amount Incorrect",
"D4466" => "Acceptor Contact Acquirer, Security",
"D4467" => "Capture Card",
"D4475" => "PIN Tries Exceeded",
"D4476" => "Invalidate Txn Reference",
"D4481" => "Accumulated Transaction Counter (Amount) Exceeded",
"D4482" => "CVV Validation Error",
"D4483" => "Acquirer Is Not Accepting Transactions From You At This Time",
"D4484" => "Acquirer Is Not Accepting This Transaction",
"D4490" => "Cut off In Progress",
"D4491" => "Card Issuer Unavailable",
"D4492" => "Unable To Route Transaction",
"D4493" => "Cannot Complete, Violation Of The Law",
"D4494" => "Duplicate Transaction",
"D4495" => "Amex Declined",
"D4496" => "System Error",
"D4497" => "MasterPass Error",
"D4498" => "PayPal Create Transaction Error",
"D4499" => "Invalid Transaction for Auth/Void",
];
public static function getStatus($code)
{
if(array_key_exists($code, self::$success))
return ['success' => true, 'message' => self::$success[$code]];
if(array_key_exists($code, self::$failure))
return ['success' => false, 'message' => self::$failure[$code]];
return ['success' => false, 'message' => "Unknown error message code - {$code}"];
}
}