I am getting the following error in my Backdropcms site that has civicrm and event registration functionality. I have installed the Stripe Payment Processor for testing the Stripe payment. I added the test publishable and secret keys and added this payment processor in the event registration form.

Now when i am trying to submit the registration form, I am getting this error.

Error: Call to a member function create() on null in CRM_Stripe_Customer::create() (line 103 of
 /src/files/civicrm/ext/com.drastikbydesign.stripe/CRM/Stripe/Customer.php).

Can anyone help what i do wrong or How can i solve this error?

Comments

Sudipto, you may have more luck in the CiviCRM forums for this as this looks like a CiviCRM error.

Many people use Stripe in Backdrop without issue, albeit it can take a bit to get setup.

The error means the Stripe client isn’t initialized — $stripe is null.

Fix steps:

In CiviCRM → Payment Processors, ensure valid test/live API keys are entered and match the mode.

Update the Stripe (com.drastikbydesign.stripe) extension to the latest version.

Clear caches in both Backdrop and CiviCRM.

Ensure the folder vendor/stripe/stripe-php/ exists inside the extension (if not, run composer install).

In short: invalid keys or a missing Stripe SDK usually cause this error.

Sounds like the Stripe processor isn’t fully initialising, so the extension tries to call create() on a missing Stripe client. On Backdrop/CiviCRM this usually happens when the payment processor instance isn’t configured for the same mode as your form, or the secret key isn’t being picked up. Re-edit your Stripe payment processor in CiviCRM, set “Test” mode, and paste valid test keys (pk_test_… and sk_test_…). Save, clear caches (Administer → System Settings → Cleanup Caches and Update Paths), then open your event and make sure that exact processor instance is selected. If you recently upgraded CiviCRM or the Stripe extension, update to the latest com.drastikbydesign.stripe that matches your CiviCRM version, then disable/enable the extension to rebuild containers. If it still errors, turn on debugging + backtrace in CiviCRM and check the logs—if no Stripe token is being posted from the form, you likely have JS blocked or an old template; if a token is posted but Customer is null, it’s almost always the wrong mode or key.

@caramia4457 Where I will set this "set “Test” mode" there is no option in the form. There is two option for live mode credentials and test mode credentials, so i only added the test mode credentials and tried to test the stripe.