From 0f55f6b754e847c7d9a18561991bd4e8cc8cb728 Mon Sep 17 00:00:00 2001 From: Matthew Wire <mjw@mjwconsult.co.uk> Date: Mon, 1 May 2023 15:49:40 +0100 Subject: [PATCH] Add stripe currency formatter --- CRM/Stripe/Api.php | 15 ++++++++++++--- Civi/Stripe/Webhook/Events.php | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CRM/Stripe/Api.php b/CRM/Stripe/Api.php index c02643c4..6b7ae247 100644 --- a/CRM/Stripe/Api.php +++ b/CRM/Stripe/Api.php @@ -65,7 +65,7 @@ class CRM_Stripe_Api { return (bool) $stripeObject->captured; case 'currency': - return (string) mb_strtoupper($stripeObject->currency); + return self::formatCurrency($stripeObject->currency); case 'payment_intent_id': return (string) $stripeObject->payment_intent; @@ -97,7 +97,7 @@ class CRM_Stripe_Api { return (string) $stripeObject->amount_remaining / 100; case 'currency': - return (string) mb_strtoupper($stripeObject->currency); + return self::formatCurrency($stripeObject->currency); case 'status_id': if ((bool) $stripeObject->paid) { @@ -133,7 +133,7 @@ class CRM_Stripe_Api { return (string) $stripeObject->plan->amount / 100; case 'currency': - return (string) mb_strtoupper($stripeObject->plan->currency); + return self::formatCurrency($stripeObject->plan->currency); case 'plan_start': return self::formatDate($stripeObject->start_date); @@ -206,6 +206,15 @@ class CRM_Stripe_Api { return $stripeTimestamp ? date('YmdHis', $stripeTimestamp) : NULL; } + /** + * @param string $stripeCurrency + * + * @return string + */ + public static function formatCurrency(string $stripeCurrency): string { + return (string) mb_strtoupper($stripeCurrency); + } + /** * Convert amount to a new currency * diff --git a/Civi/Stripe/Webhook/Events.php b/Civi/Stripe/Webhook/Events.php index 0824c532..ebdfea04 100644 --- a/Civi/Stripe/Webhook/Events.php +++ b/Civi/Stripe/Webhook/Events.php @@ -211,7 +211,7 @@ class Events { 'available_on' => \CRM_Stripe_Api::formatDate($balanceTransaction->available_on), 'exchange_rate' => $balanceTransaction->exchange_rate, 'payout_amount' => $balanceTransaction->amount / 100, - 'payout_currency' => $balanceTransaction->currency, + 'payout_currency' => \CRM_Stripe_Api::formatCurrency($balanceTransaction->currency), ]; } else { -- GitLab