Customer attributes details not passed to stripe

Created on 20 December 2023, about 1 year ago
Updated 21 January 2024, 11 months ago

How does one attached new customer details from the Webform values to the created stripe customer object? Currently when in test mode I am seeing the payment in Stripe but there are no customer details. I have tried "Allow linking Stripe customers to Drupal users/visitors." with no success. Perhaps this is only for existing users?

I have tried adding the webform submission token values for the email address like so:

name: [webform_submission:values:name]
email: [webform_submission:values:email_address]

Error returns: Invalid string: @:"0"=>"webform_submission:values:email_address"

I have also tried adding the webform email submission token value in the "Stripe customer E-mail" field but when I test the form it returns the error: "Your email address is invalid."

Any help is much appreciated. Thanks!

πŸ’¬ Support request
Status

Active

Version

1.0

Component

User interface

Created by

πŸ‡ΊπŸ‡ΈUnited States solarDog

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @solarDog
  • πŸ‡ΊπŸ‡ΈUnited States solarDog
  • πŸ‡ΊπŸ‡ΈUnited States solarDog
  • πŸ‡ΊπŸ‡ΈUnited States solarDog
  • πŸ‡ΈπŸ‡ΎSyria hodba Dubai

    Hi,
    sorry for the late reply, I was extremely busy the this month. if you're still having the issue, we can have a quick Zoom meeting to check what is happening at your end. For me, I tested it and it is working fine.

  • Hi, I have the same issue.

    Here the error in the log

    TypeError: Drupal\stripe_webform_payment\StripteWebformPaymentStripe::getAllCustomers(): Argument #1 ($customerAttributes) must be of type array, null given, called in /opt/drupal/web/modules/stripe_webform_payment/src/Plugin/WebformElement/StripeWebformPayment.php on line 416 in Drupal\stripe_webform_payment\StripteWebformPaymentStripe->getAllCustomers() (linea 158 di /opt/drupal/web/modules/stripe_webform_payment/src/StripteWebformPaymentStripe.php).

    #0 /opt/drupal/web/modules/stripe_webform_payment/src/Plugin/WebformElement/StripeWebformPayment.php(416): Drupal\stripe_webform_payment\StripteWebformPaymentStripe->getAllCustomers(NULL)
    #1 /opt/drupal/web/modules/stripe_webform_payment/src/Plugin/WebformElement/StripeWebformPayment.php(375): Drupal\stripe_webform_payment\Plugin\WebformElement\StripeWebformPayment->getCustomer(Array)
    #2 /opt/drupal/web/modules/stripe_webform_payment/src/Plugin/WebformElement/StripeWebformPayment.php(228): Drupal\stripe_webform_payment\Plugin\WebformElement\StripeWebformPayment->createPaymentIntent(Array)
    #3 /opt/drupal/web/modules/stripe_webform_payment/src/Plugin/WebformElement/StripeWebformPayment.php(201): Drupal\stripe_webform_payment\Plugin\WebformElement\StripeWebformPayment->updatePaymentForm(Array, Array, Object(Drupal\Core\Form\FormState))
    #4 /opt/drupal/web/modules/stripe_webform_payment/src/Plugin/WebformElement/StripeWebformPayment.php(153): Drupal\stripe_webform_payment\Plugin\WebformElement\StripeWebformPayment->handlePaymentForm(Array, Array, Object(Drupal\Core\Form\FormState), 'pagamento_page')
    #5 /opt/drupal/web/modules/webform/src/WebformSubmissionForm.php(2623): Drupal\stripe_webform_payment\Plugin\WebformElement\StripeWebformPayment->alterForm(Array, Array, Object(Drupal\Core\Form\FormState))
    #6 /opt/drupal/web/modules/webform/src/WebformSubmissionForm.php(2627): Drupal\webform\WebformSubmissionForm->alterElementsForm(Array, Array, Object(Drupal\Core\Form\FormState))
    #7 /opt/drupal/web/modules/webform/src/WebformSubmissionForm.php(659): Drupal\webform\WebformSubmissionForm->alterElementsForm(Array, Array, Object(Drupal\Core\Form\FormState))
    #8 [internal function]: Drupal\webform\WebformSubmissionForm->buildForm(Array, Object(Drupal\Core\Form\FormState))
    #9 /opt/drupal/web/core/lib/Drupal/Core/Form/FormBuilder.php(536): call_user_func_array(Array, Array)
    #10 /opt/drupal/web/core/lib/Drupal/Core/Form/FormBuilder.php(375): Drupal\Core\Form\FormBuilder->retrieveForm('webform_submiss...', Object(Drupal\Core\Form\FormState))
    #11 /opt/drupal/web/core/lib/Drupal/Core/Form/FormBuilder.php(633): Drupal\Core\Form\FormBuilder->rebuildForm('webform_submiss...', Object(Drupal\Core\Form\FormState), Array)
    #12 /opt/drupal/web/core/lib/Drupal/Core/Form/FormBuilder.php(325): Drupal\Core\Form\FormBuilder->processForm('webform_submiss...', Array, Object(Drupal\Core\Form\FormState))
    #13 /opt/drupal/web/core/lib/Drupal/Core/Entity/EntityFormBuilder.php(48): Drupal\Core\Form\FormBuilder->buildForm(Object(Drupal\webform\WebformSubmissionForm), Object(Drupal\Core\Form\FormState))
    #14 /opt/drupal/web/modules/webform/src/Entity/Webform.php(1257): Drupal\Core\Entity\EntityFormBuilder->getForm(Object(Drupal\webform\Entity\WebformSubmission), 'add')
    #15 /opt/drupal/web/modules/webform/src/Controller/WebformEntityController.php(77): Drupal\webform\Entity\Webform->getSubmissionForm()
    #16 [internal function]: Drupal\webform\Controller\WebformEntityController->addForm(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\webform\Entity\Webform))
    #17 /opt/drupal/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
    #18 /opt/drupal/web/core/lib/Drupal/Core/Render/Renderer.php(627): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
    #19 /opt/drupal/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(121): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
    #20 /opt/drupal/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
    #21 /opt/drupal/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
    #22 /opt/drupal/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
    #23 /opt/drupal/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #24 /opt/drupal/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #25 /opt/drupal/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #26 /opt/drupal/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #27 /opt/drupal/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #28 /opt/drupal/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #29 /opt/drupal/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #30 /opt/drupal/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #31 /opt/drupal/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #32 /opt/drupal/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #33 /opt/drupal/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #34 /opt/drupal/web/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
    #35 /opt/drupal/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
    #36 {main}
Production build 0.71.5 2024