Sébastien Ternest
07/26/2023, 3:08 PM<%
stripe_payment_method= payment.source.stripe_payment_method
# <https://stripe.com/docs/api/payment_methods/object#payment_method_object-type>
partial_base = "checkouts/existing_payment/stripe"
payment_type = stripe_payment_method.type
# Fallback on the default partial if a specialized partial is not available.
payment_type = 'default' if lookup_context.find_all("#{partial_base}/_#{payment_type}").none?
%>
<%= render(
"#{partial_base}/#{payment_type}",
stripe_payment_method: stripe_payment_method,
partial_base: partial_base,
payment_type: payment_type
) %>
<% if current_order&.confirm? %>
<% stripe_intent =
SolidusStripe::PaymentIntent.prepare_for_payment(payment).stripe_intent %>
<input
type="hidden"
data-controller="solidus-stripe-confirm"
data-solidus-stripe-confirm-publishable-key-value="<%= payment.payment_method.preferred_publishable_key %>"
data-solidus-stripe-confirm-client-secret-value="<%= stripe_intent.client_secret %>"
data-solidus-stripe-confirm-return-url-value="<%= solidus_stripe.after_confirmation_url(payment.payment_method.slug) %>"
data-solidus-stripe-confirm-error-base-url-value="<%= solidus_stripe.after_confirmation_url(payment.payment_method.slug, payment_intent: stripe_intent.id) %>"
data-action="submit@window->solidus-stripe-confirm#confirm"
>
<% end %>
Thank you !kennyadsl
Sébastien Ternest
10/15/2023, 1:28 PMSébastien Ternest
10/15/2023, 1:29 PMSébastien Ternest
10/15/2023, 1:30 PMkennyadsl
Sébastien Ternest
10/16/2023, 7:35 PMSébastien Ternest
10/16/2023, 7:36 PMSébastien Ternest
10/16/2023, 7:36 PMkennyadsl
stripe_payment_method
variable is defined. In your case it is nil
, that’s the reason of the failure. I would investigate if there’s something wrong with that specific payment or payment source.kennyadsl
Sébastien Ternest
10/17/2023, 8:32 AMSébastien Ternest
10/17/2023, 8:38 AM> payment
=> #<Spree::Payment id: 22, amount: 0.1e1, order_id: 14, source_type: "SolidusStripe::PaymentSource", source_id: 13, payment_method_id: 16, state: "processing", response_code: nil, avs_response: nil, created_at: "2023-07-18 14:01:59.069126000 +0000", updated_at: "2023-07-18 14:02:03.752910000 +0000", number: "QQ9FXZ9X", cvv_response_code: nil, cvv_response_message: nil>
Sébastien Ternest
10/17/2023, 8:40 AM> payment.source
=> #<SolidusStripe::PaymentSource id: 13, payment_method_id: 16, stripe_payment_method_id: "", created_at: "2023-07-18 14:01:59.066251000 +0000", updated_at: "2023-07-18 14:01:59.066251000 +0000">
kennyadsl
stripe_payment_method_id
is nilkennyadsl
Sébastien Ternest
10/17/2023, 8:41 AMSébastien Ternest
10/17/2023, 8:45 AMkennyadsl
kennyadsl
Sébastien Ternest
10/17/2023, 8:52 AMSébastien Ternest
10/17/2023, 8:54 AMconst selectors = document.querySelectorAll('input[type="radio"][name="order[payments_attributes][][payment_method_id]"]');
selectors.forEach(selector => {
selector.addEventListener('click', () => {
const controls = document.querySelectorAll('.payment-method-controls li');
controls.forEach(control => control.style.display = 'block');
if (selector.checked) {
const selectedControl = document.querySelector(`#payment_method_${selector.value}`);
selectedControl.style.display = 'block';
}
});
});
kennyadsl
Sébastien Ternest
10/17/2023, 8:57 AMSébastien Ternest
10/17/2023, 8:58 AMSébastien Ternest
10/17/2023, 8:58 AMkennyadsl
kennyadsl
kennyadsl
Sébastien Ternest
10/17/2023, 9:00 AMSébastien Ternest
10/17/2023, 9:00 AMSébastien Ternest
10/17/2023, 9:34 AMSébastien Ternest
10/17/2023, 9:35 AMSébastien Ternest
10/17/2023, 11:54 AMkennyadsl
Sébastien Ternest
10/17/2023, 11:55 AMSébastien Ternest
10/17/2023, 11:55 AMkennyadsl
Sébastien Ternest
10/17/2023, 11:57 AMkennyadsl
Sébastien Ternest
10/19/2023, 12:37 PMSébastien Ternest
10/19/2023, 1:57 PMimport { Application } from "@hotwired/stimulus"
// // // Configure Stimulus development experience
// // application.debug = false
// // window.Stimulus = application
// // import { definitionsFromContext } from "stimulus/webpack-helpers";
import SolidusStripePaymentController from "./solidus_stripe_payment_controller";
import SolidusStripeConfirmController from "./solidus_stripe_confirm_controller";
// const application = Application.start();
// // const context = require.context("controllers", true, /.js$/);
// // application.load(definitionsFromContext(context));
const application = Application.start();
// // Load SolidusStripePayment controller
application.register("solidus-stripe-payment", SolidusStripePaymentController);
application.register("solidus-stripe-confirm", SolidusStripeConfirmController);
// // Define the import map
// const importmap = {
// imports: {
// // Define your JavaScript dependencies here
// // For example:
// // 'package-name': '/path/to/package-file.js',
// },
// };
// apply(importmap);
export {application}
Sébastien Ternest
10/19/2023, 2:08 PMSébastien Ternest
10/19/2023, 2:11 PM