Closed ricxsar closed 6 years ago
I'm using the latest version of body-parser: 1.18.3
You have in your code extended: false
but the data looks like the extended version. Are you sure you don't want it to be extended: true
? If not, I'm not clear on what exactly the issue is, as that looks like a correct parse when you have extended set to false to me.
I will try to set it to true.
It is correctly parsed now. Sorry for the inconvenience. I will now close the issue. Thank you for helping me out. I am still novice. Suggestion: maybe you can add some small examples to help beginners like me.
Hi. I am working on chargify webhooks and the post body is not parsed correctly. The chargify webhooks send a post request with
Content-Type: application/x-www-form-urlencoded
.See Chargify Webhooks Reference for more details.
Below is the minimal setup of the expressjs application:
See below for the
x-www-form-urlencoded
string:id=319951401&event=payment_success&payload[site][id]=55354&payload[site][subdomain]=test30&payload[subscription][activated_at]=2012-09-09%2011%3A38%3A33%20-0400&payload[subscription][balance_in_cents]=9900&payload[subscription][cancel_at_end_of_period]=false&payload[subscription][canceled_at]=&payload[subscription][cancellation_message]=&payload[subscription][coupon_code]=&payload[subscription][created_at]=2012-09-09%2011%3A38%3A32%20-0400&payload[subscription][credit_card][billing_address]=987%20Commerce%20St&payload[subscription][credit_card][billing_address_2]=Suite%20789&payload[subscription][credit_card][billing_city]=Greenberg&payload[subscription][credit_card][billing_country]=US&payload[subscription][credit_card][billing_state]=NC&payload[subscription][credit_card][billing_zip]=67890&payload[subscription][credit_card][card_type]=visa&payload[subscription][credit_card][current_vault]=bogus&payload[subscription][credit_card][customer_id]=0&payload[subscription][credit_card][expiration_month]=4&payload[subscription][credit_card][expiration_year]=2016&payload[subscription][credit_card][first_name]=Jane&payload[subscription][credit_card][id]=0&payload[subscription][credit_card][last_name]=Doe&payload[subscription][credit_card][masked_card_number]=XXXX-XXXX-XXXX-1111&payload[subscription][credit_card][vault_token]=1&payload[subscription][credit_card][customer_vault_token]=&payload[subscription][current_period_ends_at]=2012-10-09%2011%3A49%3A43%20-0400&payload[subscription][current_period_started_at]=2012-09-09%2011%3A49%3A43%20-0400&payload[subscription][customer][address]=123%20Main%20St&payload[subscription][customer][address_2]=Apt%20123&payload[subscription][customer][city]=Pleasantville&payload[subscription][customer][country]=US&payload[subscription][customer][created_at]=2012-09-09%2011%3A38%3A32%20-0400&payload[subscription][customer][email]=john%40example.com&payload[subscription][customer][first_name]=John&payload[subscription][customer][id]=0&payload[subscription][customer][last_name]=Doe&payload[subscription][customer][organization]=Acme%2C%20Inc.&payload[subscription][customer][phone]=555-555-1234&payload[subscription][customer][reference]=johndoe&payload[subscription][customer][state]=NC&payload[subscription][customer][updated_at]=2012-09-09%2011%3A38%3A32%20-0400&payload[subscription][customer][zip]=12345&payload[subscription][delayed_cancel_at]=&payload[subscription][expires_at]=&payload[subscription][id]=0&payload[subscription][next_assessment_at]=2012-10-09%2011%3A49%3A43%20-0400&payload[subscription][previous_state]=active&payload[subscription][payment_type]=credit_card&payload[subscription][product][accounting_code]=pro1234&payload[subscription][product][archived_at]=&payload[subscription][product][created_at]=2012-09-06%2010%3A09%3A35%20-0400&payload[subscription][product][description]=Vel%20soluta%20nihil%20qui%20accusamus%20quidem.&payload[subscription][product][expiration_interval]=&payload[subscription][product][expiration_interval_unit]=never&payload[subscription][product][handle]=handle_6a9273b8a&payload[subscription][product][id]=0&payload[subscription][product][initial_charge_in_cents]=&payload[subscription][product][interval]=1&payload[subscription][product][interval_unit]=month&payload[subscription][product][name]=Pro&payload[subscription][product][price_in_cents]=9900&payload[subscription][product][product_family][accounting_code]=aopf1234&payload[subscription][product][product_family][description]=Lorem%20ipsum%20dolor%20sit%20amet.&payload[subscription][product][product_family][handle]=acme-online&payload[subscription][product][product_family][id]=0&payload[subscription][product][product_family][name]=Acme%20Online&payload[subscription][product][request_credit_card]=true&payload[subscription][product][require_credit_card]=true&payload[subscription][product][return_params]=&payload[subscription][product][return_url]=&payload[subscription][product][trial_interval]=&payload[subscription][product][trial_interval_unit]=month&payload[subscription][product][trial_price_in_cents]=&payload[subscription][product][update_return_url]=&payload[subscription][product][updated_at]=2012-09-09%2011%3A36%3A53%20-0400&payload[subscription][signup_payment_id]=30&payload[subscription][signup_revenue]=99.00&payload[subscription][state]=active&payload[subscription][total_revenue_in_cents]=4200&payload[subscription][trial_ended_at]=&payload[subscription][trial_started_at]=&payload[subscription][updated_at]=2012-09-09%2011%3A49%3A44%20-0400&payload[transaction][amount_in_cents]=9900&payload[transaction][created_at]=2012-09-09%2011%3A38%3A33%20-0400&payload[transaction][ending_balance_in_cents]=0&payload[transaction][gateway_transaction_id]=&payload[transaction][gateway_order_id]=&payload[transaction][gateway_used]=bogus&payload[transaction][id]=0&payload[transaction][kind]=&payload[transaction][memo]=John%20Doe%20-%20Pro%3A%20Signup%20payment&payload[transaction][payment_id]=&payload[transaction][product_id]=0&payload[transaction][subscription_id]=0&payload[transaction][success]=true&payload[transaction][transaction_type]=payment&payload[transaction][type]=Payment&payload[transaction][component_id]=&payload[transaction][tax_id]=&payload[transaction][statement_id]=0&payload[transaction][card_number]=XXXX-XXXX-XXXX-1111&payload[transaction][card_expiration]=04%2F2016&payload[transaction][card_type]=visa&payload[transaction][invoice_id]=
Below is the parsed data: