Automatic Dispute Response

Automatically respond to your incoming payment disputes and avoid chargebacks by following the best practices

Billing.js automatically sets a webhook on your incoming disputes to allow you to autofill the response and submit it directly if you prefer.

This will save you time and energy by contesting every incoming disputes with proof of your refund/cancellation policy in place as well as a clear description of your product.

Set up your product to automatically contest incoming disputes

1. Go on your products page from the Stripe Dashboard

2. Select the product you want to automatically contest disputes from

3. Add the following metadatas

  • billing_auto_submit_dispute = true (default to false)

this will automatically submit the dispute response so you don't have to submit it manually from the dashboard

  • cancellationPolicyDisclosure = An explanation of how and when the customer was shown your refund policy prior to purchase. Has a maximum character count of 20,000.

Example: The customer is presented with the cancellation policy on the payment page (https://gpt.space/pricing) (see the attached screenshot) And on the Terms of service page (https://gpt.space/terms-of-service) which is always accessible from the footer of all the website pages. (See the attached screenshot)

  • cancellationPolicyFileUrl = the downloadable url of a screenshot of your cancellation policy. We recommend uploading it to a Google Drive and set it to public access.

Example: https://drive.google.com/uc?id=1b0aoM0DDId5Fu2eXBesnFYATziaBkY8r&export=download

Make sure that clicking on the link directly downloads the image and don't open it in a preview page or the file won't be correctly sent to Stripe and will likely cause the dispute to be lost

  • cancellationRebuttal = A justification for why the customer’s subscription was not canceled. Has a maximum character count of 20,000.

Example: The customer did not send us any emails to ask for a cancellation of the subscription. He neither canceled the subscription manually from the subscription management page.

  • productDescription = A description of the product or service that was sold. Has a maximum character count of 20,000.

Example: gpt.space is an addon that allows users to use AI features in Google Workspace and other websites. We have a free tier plan with limited usage per day and an unlimited usage Paid plan.

  • refundPolicyDisclosure = Documentation demonstrating that the customer was shown your refund policy prior to purchase. Has a maximum character count of 20,000.

Example: The customer is presented with the refund policy on the payment page (https://gpt.space/pricing) (see the attached screenshot) And on the Terms of service page (https://gpt.space/terms-of-service) which is always accessible from the footer of all the website pages. (see the attached screenshot)

  • refundPolicyFileUrl = the downloadable url of a screenshot of your refund policy. We recommend uploading it to a Google Drive and set it to public access.

Make sure that clicking on the link directly downloads the image and don't open it in a preview page or the file won't be correctly sent to Stripe and will likely cause the dispute to be lost

Example: https://drive.google.com/uc?id=1WAoZDyGBUXvZa8bZaf1nZisDkDfh1HR_&export=downloa

  • refundRefusalExplanation = A justification for why the customer is not entitled to a refund. Has a maximum character count of 20,000.

Example: The refund details are “To receive a refund from a paid subscription you must request the refund within 30 days of subscribing at this email address:contact@gpt.space”

Last updated