diff --git a/CRM/Stripe/Api.php b/CRM/Stripe/Api.php index f5dccd1dc80a0073147fddca38ee2f21500d8729..1f30185b2865c182e48ae7b31888c5226c6dcaad 100644 --- a/CRM/Stripe/Api.php +++ b/CRM/Stripe/Api.php @@ -53,7 +53,13 @@ class CRM_Stripe_Api { return self::formatDate($stripeObject->created); case 'invoice_id': - return (string) $stripeObject->invoice; + // Handle both "expanded" and "collapsed" response + if (is_object($stripeObject->invoice)) { + return (string) $stripeObject->invoice->id; + } + else { + return (string) $stripeObject->invoice; + } case 'captured': return (bool) $stripeObject->captured;