From 468d44bb04a89de70508b097b10984ba18c0acef Mon Sep 17 00:00:00 2001 From: Jleagle Date: Wed, 12 Feb 2025 16:19:06 +0000 Subject: [PATCH] Pulse --- .../Reasons/PulseChargebackReason.php | 64 ++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/src/Finance/Chargeback/Reasons/PulseChargebackReason.php b/src/Finance/Chargeback/Reasons/PulseChargebackReason.php index f5f98de..0c2339c 100644 --- a/src/Finance/Chargeback/Reasons/PulseChargebackReason.php +++ b/src/Finance/Chargeback/Reasons/PulseChargebackReason.php @@ -12,19 +12,31 @@ class PulseChargebackReason extends ChargebackReason const RSN_4866 = '4866'; const RSN_4867 = '4867'; const RSN_4868 = '4868'; + const RSN_4512 = '4512'; + const RSN_4590 = '4590'; + const RSN_4532 = '4532'; + const RSN_4542 = '4542'; + const RSN_4550 = '4550'; + const RSN_4586 = '4586'; + const RSN_4541 = '4541'; + const RSN_4553 = '4553'; + const RSN_4555 = '4555'; + const RSN_4560 = '4560'; + const RSN_4865 = '4865'; public static function create($code, $description = '', $category = ChargebackCategory::OTHER) { $reason = parent::create($code, $description, $category); switch($code) { + // Fraud case self::RSN_4537: $reason->description = 'Card Present Transaction'; $reason->category = ChargebackCategory::FRAUD; break; case self::RSN_4752: $reason->description = 'Transaction Not Recognized'; - $reason->category = ChargebackCategory::OTHER; + $reason->category = ChargebackCategory::FRAUD; break; case self::RSN_4866: $reason->description = 'Chip Card Counterfeit transaction'; @@ -38,6 +50,56 @@ public static function create($code, $description = '', $category = ChargebackCa $reason->description = 'Card Not Present Transaction'; $reason->category = ChargebackCategory::FRAUD; break; + + // Authorization + case self::RSN_4512: + $reason->description = 'Invalid Cardholder Number'; + $reason->category = ChargebackCategory::AUTHORIZATION; + break; + case self::RSN_4590: + $reason->description = 'Non-Receipt of Cash from ATM'; + $reason->category = ChargebackCategory::AUTHORIZATION; + break; + + // Processing errors + case self::RSN_4532: + $reason->description = 'Duplicate Processing'; + $reason->category = ChargebackCategory::PROCESSING; + break; + case self::RSN_4542: + $reason->description = 'Late Presentation'; + $reason->category = ChargebackCategory::PROCESSING; + break; + case self::RSN_4550: + $reason->description = 'Credit/Debit Posted Incorrectly'; + $reason->category = ChargebackCategory::PROCESSING; + break; + case self::RSN_4586: + $reason->description = 'Altered Amount'; + $reason->category = ChargebackCategory::PROCESSING; + break; + + // Consumer disputes + case self::RSN_4541: + $reason->description = 'Canceled Recurring Transaction'; + $reason->category = ChargebackCategory::CONSUMER; + break; + case self::RSN_4553: + $reason->description = 'Cardholder Disputes Quality of Goods or Services'; + $reason->category = ChargebackCategory::CONSUMER; + break; + case self::RSN_4555: + $reason->description = 'Non-Receipt of Goods or Services'; + $reason->category = ChargebackCategory::CONSUMER; + break; + case self::RSN_4560: + $reason->description = 'Credit ot Processed'; + $reason->category = ChargebackCategory::CONSUMER; + break; + case self::RSN_4865: + $reason->description = 'Paid by Other Means'; + $reason->category = ChargebackCategory::CONSUMER; + break; } return $reason; }