Ah, nevermind. The issue isn't linked to my duplicate order/payment issue.
I have multiple handlers in my form for some different fields.
But 2 fields are only visible/important with some specific conditions.
I also had to add these conditions to the handlers so that handler doesn't execute if the field isn't visible.
vyaenes â created an issue.
I think that I've the same issue.
Can you check the details error log?
In Drupal I've something like:
Drupal\commerce_payment\Exception\PaymentGatewayException: The selected stripe payment method type(stripe_bancontact) is not currently supported. in Drupal\commerce_stripe\Plugin\Commerce\PaymentGateway\StripePaymentElement->createPaymentMethodFromStripePaymentMethod() (regel 560 van /***/web/modules/contrib/commerce_stripe/src/Plugin/Commerce/PaymentGateway/StripePaymentElement.php).
And when I check my logs in Stripe, I've the same error:
HTTP status code
500 (Internal Server Error)
The selected stripe payment method type(stripe_bancontact) is not currently support
But when I scroll down in the json request I see:
"payment_method_types": [
"card",
"bancontact",
"eps",
"giropay",
"ideal",
"sepa_debit",
"sofort",
"paypal"
],
So I think that something went wrong with the payment_method?
stripe_bancontact <> bancontact
Hi,
We found the issue: The commerce registration module
Check h
https://www.drupal.org/project/webform_product/issues/3497402
đŦ
Product is no longer available for registration
Active
.
- I'll sent you a private message with some details. -
I just created a normal test product, and there I got a normal checkout flow. And that's working.
But with the webform, I do get always get that error...
I tried already to create a normal commerce product or purchasable entity that has te same id as the value in my form. Maybe that should working? But not...
Hi, I just watched the video again, and yes, everything is like in the video.
vyaenes â created an issue.
Hm, I think I missed something in the configuration.
What I did:
Yes, I created a kind of event registration form with webform.
But there are 2 important fields: Type (intern or extern), for the fee AND logement, for intern people, where they can choose an accomodation.
The price depends on what option the user select.
Then I created 2 commerce webform order handlers. 1 for the Type field and an other for the logement field.
I already removed again the order handler for the logement field so I have only one order handler. The order handler that should linked with the type field.
So, then I expected that after submitting the form I should go to a basket or payment page.
But I always got a permission error.
Then I read in the module documentation "purchasable entities". So I tried now to create 2 purchasable entities. The key of the entities is the same as the key of the 2 options in the Type select field.
I also enabled/disabled the field "Force a new cart to be created with each submission`. But actually this should be disabled, because I want that the user can add multiple submissions to the cart ...
But, then, I'm not forwarded to the checkout, but I'm always getting this error:
"Sorry, Mary Healy - Intern is no longer available for registration. It has been removed from your cart."
So, I think I missed something with linking products?
Should I create a purchasable entity? Or should I just create a commerce product (variant)?
Then I tried to install the demo, but I am getting there also some errors...
What the best way to install the demo?
If I try with `php core/scripts/drupal recipe ../recipe/cwo_demo`, then I get this error:
The configuration 'core.entity_form_mode.commerce_order_item.add_to_cart' exists already and does not match the recipe's configuration.
I think it's not really necessary anymore, but that's an export of my webform:
uuid: a8bb389d-174e-4089-921d-c7bb33926e31
langcode: nl
status: open
dependencies:
module:
- commerce_webform_order
- webform_entity_print
- webform_options_limit
- webform_product
third_party_settings:
webform_entity_print:
template:
header: ''
footer: ''
css: ''
export_types:
pdf:
enabled: true
link_text: ''
link_attributes: { }
webform_product:
type:
top: ''
options:
maryhealy_intern: '75.0'
maryhealy_extern: '75.0'
status:
options:
Volwassene: ''
Kind: ''
met_kinderen:
options:
Ja: ''
Nee: ''
met_voorzieningen_wc_douce:
options:
1b-equipped: '220.00'
1b-non-equipped: '190.00'
2b-equipped: '175.00'
3b-equipped: '130.00'
2b-non-equipped: '165.00'
4b-equipped: '130.00'
5b-equipped: '130.00'
3b-non-equippped: '100.00'
14b-non-equipped: '100.00'
4b-non-equipped: '100.00'
5b-non-equipped: '100.00'
logement:
options:
accomodation_equiped_b1: '220.00'
accomodation_equiped_b2: '175.00'
accomodation_equiped_b3: '130.00'
accomodation_equipped_b4: '130.00'
accomodation_equiped_b5: '130.00'
accomodation_non_equipped_b1: '190.00'
accomodation_non_equipped_b2: '165.00'
accomodation_non_equipped_b3: '100.00'
accomodation_non_equipped_b4: '100.00'
accomodation_non_equipped_b5: '100.00'
accomodation_non_equipped_b14: '100.00'
geslacht_kind:
options:
Jongen: ''
Meisje: ''
accomodation:
options:
accomodation_equiped_b1: '220.00'
accomodation_equiped_b2: '175.00'
accomodation_equiped_b3: '130.00'
accomodation_equipped_b4: '130.00'
accomodation_equiped_b5: '130.00'
accomodation_non_equipped_b1: '190.00'
accomodation_non_equipped_b2: '165.00'
accomodation_non_equipped_b3: '100.00'
accomodation_non_equipped_b4: '100.00'
accomodation_non_equipped_b5: '100.00'
accomodation_non_equipped_b14: '100.00'
algemeen:
top: ''
persoonsgegevens:
top: ''
persoonsgegevens_kind:
top: ''
adres:
top: ''
huisvesting:
top: ''
wat_is_je_moedertaal:
options:
language_nl: ''
language_fr: ''
language_de: ''
language_en: ''
bent_u_bereid_te_helpen_met_vertalen:
options:
translation_ef: ''
translation_en: ''
translation_ed: ''
wil_u_helpen_bij:
options:
help_hospitality: ''
help_cleaningservice: ''
help_veiligheid: ''
help_accescontrol: ''
help_drinkingbooth: ''
help_other: ''
ik_ondersteun_de_inschrijving_van_een_jongere:
options:
support_youth_50: '50.0'
support_youth_100: '100.0'
support_youth_175: '175.00'
weight: 0
open: null
close: null
uid: 1
template: false
archive: false
id: mary_healy
title: 'Mary Healy'
description: ''
categories: { }
elements: |-
algemeen:
'#type': fieldset
'#title': Algemeen
type:
'#type': select
'#title': Type
'#description': '<p>Intern = Logement + maaltijden (vol pension)<br>Extern = U bent zelf verantwoordelijk voor logement en maaltijden</p>'
'#options':
maryhealy_intern: Intern
maryhealy_extern: Extern
'#required': true
persoonsgegevens:
'#type': fieldset
'#title': Persoonsgegevens
geslacht:
'#type': select
'#title': Geslacht
'#options':
Man: Man
Vrouw: Vrouw
'#required': true
voornaam:
'#type': textfield
'#title': Voornaam
'#required': true
naam:
'#type': textfield
'#title': Naam
'#required': true
geboortedatum:
'#type': date
'#title': Geboortedatum
'#required': true
nationaliteit:
'#type': textfield
'#title': Nationaliteit
e_mail:
'#type': email
'#title': E-mail
'#required': true
telefoon_gsm:
'#type': tel
'#title': 'Telefoon/ GSM'
'#required': true
dieet:
'#type': textfield
'#title': Dieet
'#description': '<p>Lactose, gluten, ...</p>'
mobiliteit:
'#type': textfield
'#title': Mobiliteit
adres:
'#type': fieldset
'#title': Contactgegevens
straat:
'#type': textfield
'#title': Straat
'#required': true
huisnummer_busnummer:
'#type': textfield
'#title': 'Huisnummer (+ busnummer)'
'#required': true
postcode:
'#type': textfield
'#title': Postcode
'#required': true
woonplaats:
'#type': textfield
'#title': Woonplaats
'#description': '<p>Stad of gemeente</p>'
'#required': true
land:
'#type': select
'#title': Land
'#options': country_names
'#required': true
nieuwsbrief:
'#type': checkbox
'#title': Nieuwsbrief
'#description': '<p><span style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(62, 62, 62);display:inline !important;float:none;font-family:-apple-system, "system-ui", "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:13px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;">Ik wens in de toekomst op de hoogte gehouden te worden van de activiteiten van Charis Belgium vzw.</span></p>'
'#prepopulate': true
privacy:
'#type': checkbox
'#title': Privacy
'#description': '<p><span style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(62, 62, 62);display:inline !important;float:none;font-family:-apple-system, "system-ui", "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:13px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;">Door deze inschrijving stem ik in met de algemene voorwaarden, het privacybeleid en de beeldrechten zoals hieronder beschreven.</span></p>'
'#more_title': 'Bescherming van persoonsgegevens, algemene voorwaarden en beeldrechten'
'#more': '<p><em><span style="-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);color:rgb(34, 34, 34);display:inline !important;float:none;font-family:-apple-system, "system-ui", "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;font-size:13px;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;">Charis Belgium vzw hechten veel belang aan de bescherming van de persoonsgegevens en het respecteren van de privacy van de deelnemers aan haar evenementen. Door in te schrijven, geeft elke deelnemer Charis Belgium vzw de toestemming om zijn/haar persoonsgegevens te registreren en te verwerken voor de goede organisatie van het evenement. Charis Belgium vzw houdt zich aan de Europese verordening 2016/679 betreffende de bescherming van persoonsgegevens, zoals beschreven in haar privacybeleid. Door zich in te schrijven aanvaardt elke deelnemer de algemene voorwaarden voor deelname, met inbegrip van de mogelijkheid om gefilmd of gefotografeerd te worden, en het eventuele gebruik van deze beelden op de media van Charis Belgium vzw.</span></em></p>'
'#required': true
huisvesting:
'#type': fieldset
'#title': Huisvesting
'#states':
visible:
':input[name="type"]':
value: maryhealy_intern
accomodation:
'#type': radios
'#title': Logement
'#description': '<p>Kamer met voorzieningen = wc en/of douche op de kamer.</p><p>Meerpersoonskamers (3b of meer per kamer) zijn voorbehouden voor jongeren tussen 18 en 30 jaar oud.</p>'
'#options':
accomodation_equiped_b1: 'Eenpersoonskamer met voorzieningen (220,- EUR)'
accomodation_equiped_b2: 'Tweepersoonskamer met voorzieningen (175,- EUR)'
accomodation_equiped_b3: 'Driepersoonskamer met voorzieningen (130,- EUR)'
accomodation_equipped_b4: 'Vierpersoonskamer met voorzieningen (130,- EUR)'
accomodation_equiped_b5: 'Vijfpersoonskamer met voorzieningen (130,- EUR)'
accomodation_non_equipped_b1: 'Eenpersoonskamer zonder voorzieningen (190,- EUR)'
accomodation_non_equipped_b2: 'Tweepersoonskamer zonder voorzieningen (165,- EUR)'
accomodation_non_equipped_b3: 'Driepersoonskamer zonder voorzieningen (100,- EUR)'
accomodation_non_equipped_b4: 'Vierpersoonskamer zonder voorzieningen (100,- EUR)'
accomodation_non_equipped_b5: 'Vijfpersoonskamer zonder voorzieningen (100,- EUR)'
accomodation_non_equipped_b14: 'Meerpersoonskamer zonder voorzieningen (100,- EUR) -- (14 personen per kamer)'
'#required': true
bijkomende_info:
'#type': fieldset
'#title': 'Bijkomende info'
wat_is_je_moedertaal:
'#type': select
'#title': 'Wat is je moedertaal?'
'#options':
language_nl: Nederlands
language_fr: Frans
language_de: Duits
language_en: Engels
heeft_u_vertaling_nodig:
'#type': radios
'#title': 'Heeft u vertaling nodig?'
'#options': yes_no
bent_u_bereid_te_helpen_met_vertalen:
'#type': checkboxes
'#title': 'Bent u bereid te helpen met vertalen?'
'#description': '<p>Vink aan welke talen u wil/kan vertalen.</p>'
'#options':
translation_ef: 'Engels -> Frans'
translation_en: 'Engels -> Nederlands'
translation_ed: 'Engels -> Duits'
wil_u_helpen_bij:
'#type': radios
'#title': 'Wil u helpen bij:'
'#options':
help_hospitality: Onthaal
help_cleaningservice: 'Properheid (zaal, wc, vuilbakken)'
help_veiligheid: Veiligheid
help_accescontrol: Toegangscontrole
help_drinkingbooth: Drankstand
help_other: Other
'#options_randomize': true
'#required': true
ik_ondersteun_de_inschrijving_van_een_jongere:
'#type': select
'#title': 'Ik ondersteun de inschrijving van ÊÊn jongere:'
'#options':
support_youth_50: '50,- EUR'
support_youth_100: '100,- EUR'
support_youth_175: '175,- EUR'
admin_fields:
'#type': fieldset
'#title': 'Admin fields'
'#format': details-closed
'#access_create_roles':
- administrator
order_id:
'#type': textfield
'#title': Order_id
'#access_create_roles':
- administrator
order_status:
'#type': textfield
'#title': Order_status
'#access_create_roles':
- administrator
order_url:
'#type': url
'#title': Order_url
'#access_create_roles':
- administrator
css: ''
javascript: ''
settings:
ajax: false
ajax_scroll_top: form
ajax_progress_type: ''
ajax_effect: ''
ajax_speed: null
page: true
page_submit_path: ''
page_confirm_path: ''
page_theme_name: ''
form_title: source_entity_webform
form_submit_once: false
form_open_message: ''
form_close_message: ''
form_exception_message: ''
form_previous_submissions: true
form_confidential: false
form_confidential_message: ''
form_disable_remote_addr: false
form_convert_anonymous: false
form_prepopulate: false
form_prepopulate_source_entity: false
form_prepopulate_source_entity_required: false
form_prepopulate_source_entity_type: ''
form_unsaved: true
form_disable_back: false
form_submit_back: false
form_disable_autocomplete: false
form_novalidate: true
form_disable_inline_errors: false
form_required: true
form_autofocus: false
form_details_toggle: false
form_reset: false
form_access_denied: default
form_access_denied_title: ''
form_access_denied_message: ''
form_access_denied_attributes: { }
form_file_limit: ''
form_attributes: { }
form_method: ''
form_action: ''
share: false
share_node: false
share_theme_name: ''
share_title: true
share_page_body_attributes: { }
submission_label: ''
submission_exception_message: ''
submission_locked_message: ''
submission_log: false
submission_excluded_elements: { }
submission_exclude_empty: false
submission_exclude_empty_checkbox: false
submission_views: { }
submission_views_replace: { }
submission_user_columns: { }
submission_user_duplicate: false
submission_access_denied: default
submission_access_denied_title: ''
submission_access_denied_message: ''
submission_access_denied_attributes: { }
previous_submission_message: ''
previous_submissions_message: ''
autofill: false
autofill_message: ''
autofill_excluded_elements: { }
wizard_progress_bar: true
wizard_progress_pages: true
wizard_progress_percentage: false
wizard_progress_link: false
wizard_progress_states: false
wizard_start_label: ''
wizard_preview_link: false
wizard_confirmation: true
wizard_confirmation_label: ''
wizard_auto_forward: true
wizard_auto_forward_hide_next_button: false
wizard_keyboard: true
wizard_track: name
wizard_prev_button_label: ''
wizard_next_button_label: ''
wizard_toggle: false
wizard_toggle_show_label: ''
wizard_toggle_hide_label: ''
wizard_page_type: container
wizard_page_title_tag: h2
preview: 0
preview_label: ''
preview_title: ''
preview_message: ''
preview_attributes: { }
preview_excluded_elements: { }
preview_exclude_empty: true
preview_exclude_empty_checkbox: false
draft: none
draft_multiple: false
draft_auto_save: false
draft_saved_message: ''
draft_loaded_message: ''
draft_pending_single_message: ''
draft_pending_multiple_message: ''
confirmation_type: page
confirmation_url: ''
confirmation_title: ''
confirmation_message: ''
confirmation_attributes: { }
confirmation_back: true
confirmation_back_label: ''
confirmation_back_attributes: { }
confirmation_exclude_query: false
confirmation_exclude_token: false
confirmation_update: false
limit_total: null
limit_total_interval: null
limit_total_message: ''
limit_total_unique: false
limit_user: null
limit_user_interval: null
limit_user_message: ''
limit_user_unique: false
entity_limit_total: null
entity_limit_total_interval: null
entity_limit_user: null
entity_limit_user_interval: null
purge: none
purge_days: null
results_disabled: false
results_disabled_ignore: false
results_customize: false
token_view: false
token_update: false
token_delete: false
serial_disabled: false
access:
create:
roles:
- anonymous
- authenticated
users: { }
permissions: { }
view_any:
roles: { }
users: { }
permissions: { }
update_any:
roles: { }
users: { }
permissions: { }
delete_any:
roles: { }
users: { }
permissions: { }
purge_any:
roles: { }
users: { }
permissions: { }
view_own:
roles: { }
users: { }
permissions: { }
update_own:
roles: { }
users: { }
permissions: { }
delete_own:
roles: { }
users: { }
permissions: { }
administer:
roles: { }
users: { }
permissions: { }
test:
roles: { }
users: { }
permissions: { }
configuration:
roles: { }
users: { }
permissions: { }
handlers:
options_checkbox_limit:
id: options_limit
handler_id: options_checkbox_limit
label: 'Options/Checkbox limit'
notes: ''
status: true
conditions: { }
weight: 0
settings:
element_key: accomodation
limit: null
limits:
accomodation_equiped_b1: 21
accomodation_equiped_b2: 178
accomodation_equiped_b3: 12
accomodation_equipped_b4: 12
accomodation_equiped_b5: 5
accomodation_non_equipped_b1: 15
accomodation_non_equipped_b2: 124
accomodation_non_equipped_b3: 15
accomodation_non_equipped_b4: 4
accomodation_non_equipped_b5: 10
accomodation_non_equipped_b14: 14
limit_reached_message: '@name is volzet'
limit_source_entity: true
limit_user: false
option_none_action: disable
option_message_display: label
option_multiple_message: '[@remaining remaining]'
option_single_message: '[@remaining remaining]'
option_none_message: '[@remaining remaining]'
option_unlimited_message: '[Unlimited]'
option_error_message: '@name: @label is unavailable.'
tableselect_header: ''
commerce_webform_order_handler:
id: commerce_webform_order
handler_id: commerce_webform_order_handler
label: Inschrijvingskosten
notes: ''
status: true
conditions: { }
weight: 0
settings:
store:
store_entity: 6b9722f8-b12a-4501-adcf-5308aed41a2b
bypass_access: true
order_item:
order_item_id: ':input[name="order_id"]'
purchasable_entity_type: commerce_purchasable_entity
purchasable_entity: ':input[name="type"]'
title: ''
overwrite_price: false
amount: ''
currency: ''
quantity: '1'
order_item_bundle: webform
fields: { }
checkout:
new_cart: false
empty_cart: false
combine_cart: false
owner: ':input[name="e_mail"]'
owner_id: ''
billing_profile_id: ''
billing_profile_bypass_access: true
payment_gateway_id: ''
payment_method_id: ''
cancel_url: ''
hide_add_to_cart_message: false
redirect: true
order_state: 'order_fulfillment_validation:draft'
order_data: ''
sync: false
webform_states:
- completed
order_states:
- _new_order_
- 'order_fulfillment_validation:draft'
- 'order_default:draft'
prevent_update: false
debug: false
variants: { }
Oh, sorry... I think maybe I did something wrong in my configuration.
It's my first time (after a long period) I do again a website in Drupal and it all takes some time to figure things out.
When I was reading your comment and saw "purchasable entity", some light goes on in my head.
First I made only my form and in the select I had 2 options:
- maryhealy_intern | Intern | 75.00
- maryhealy_extern | Extern | 75.00
And I thought that the module made from this 2 options a product and would add it to my cart.
But now (after reading your comment) I created in my "commerce purchasable entities" 2 entities with as sku "maryhealy_intern" and "maryhealy_extern". And that seems fixing my error. :-)
Thank you! Your comment already helps me a bit.
But I think I need to find more documentation. There's still something wrong with my configuration.
Now I can submit my form without any errors, but instead of forwarding me to the checkout I get an "access denied" error and the following message "Sorry, Mary Healy - Intern is no longer available for registration. It has been removed from your cart."
vyaenes â created an issue.
vyaenes â created an issue.
vyaenes â created an issue.