Unable to complete payment! Missing paymentMethodID - contribution page for pledge payments
- Drupal 7.88
- CiviCRM 5.40.2
- Stripe 6.6.2
- MJW Shared 1.0.1
A contribution page for setting up pledge payments, with confirmation page, in test mode. Tested using two basic test card numbers and two regulatory (3d secure) test card numbers from https://stripe.com/docs/testing#regulatory-cards
When initially submitting the form, get the message that it's pre-authorizing the card. The JSON returned from the auth call includes a "payment_method_id" property. During the final submit of the form, get the message "Unable to complete payment! Missing paymentMethodID" and get dumped into /civicrm/admin/contribute?reset=1. Log shows...
Mar 02 21:09:40 [debug] paymentMethodID not found. $params: Civi\Payment\PropertyBag Object
(
[props:protected] => Array
(
[default] => Array
(
[qfKey] => CRMContributeControllerContribution2rdj9v7q5ou8ko08ogo0owwos4s0css0cs88wc48ks4o4ockg8_406
[entryURL] => https://redacted.com/civicrm/contribute/transact?reset=1&action=preview&id=120&cid=0
[firstName] => Dave
[lastName] => Reedy
[email-Primary] => redacted
[hidden_processor] => 1
[payment_processor_id] => 22
[select_contact_id] => 26527
[priceSetId] => 1537
[price_1802] => 4799
[is_pledge] => 1
[pledge_installments] => 7
[pledge_frequency_interval] => 1
[pledge_frequency_unit] => week
[MAX_FILE_SIZE] => 536870912
[ip_address] => redacted
[amount] => 7
[amount_level] => 7 x weekly payments
[currency] => GBP
[paymentIntentID] => pi_3KYzPKJO1RCosWLr0XeAm1ja
[is_pay_later] => 0
[invoiceID] => 27ce31a1ed13702d00449273b76e12c4
[is_quick_config] => 1
[email] => redacted
[description] => test payment page from scratch
[isRecur] => 1
[auto_renew] => 1
[recurFrequencyUnit] => week
[recurFrequencyInterval] => 1
[recurInstallments] => 7
[skipLineItem] => 0
[line_item] => Array
(
[1537] => Array
(
[4799] => Array
(
[price_field_id] => 1802
[price_field_value_id] => 4799
[label] => 7 x weekly payments
[field_title] => Payments
[description] =>
[qty] => 1
[unit_price] => 7.000000000
[line_total] => 7
[participant_count] => 0
[max_value] =>
[membership_type_id] =>
[membership_num_terms] =>
[auto_renew] =>
[html_type] => Radio
[financial_type_id] => 9
[tax_amount] => 0
[non_deductible_amount] => 0.00
)
)
)
[financialTypeID] => 9
[financial_type_id] => 9
[contributionType_name] => Training course fee
[financialType_name] => Training course fee
[contributionPageID] => 120
[contactID] => 26527
[payment_instrument_id] => 1
[item_name] => Online Payment: test payment page from scratch
[contributionID] => 92628
[contributionRecurID] => 8618
[error_url] => /civicrm/contribute/transact?reset=1&action=preview&id=120&cid=0&_qf_Main_display=1&qfKey=CRMContributeControllerContribution2rdj9v7q5ou8ko08ogo0owwos4s0css0cs88wc48ks4o4ockg8_406
[paymentMethodID] =>
)
)
[suppressLegacyWarnings:protected] => 1
[lastWarning] =>
)
The value shown for paymentIntentID is the same value that was returned in the pre-auth JSON for payment_method_id. Both a contribuiton and recurring contribution that get created are left in a "pending or free trial" status.
Please let me know if you need more information or if there is something you would like me to try. Thanks.