Reputation: 491
We would like to know how we can test stripe in LIVE for an e-commerce website? The site basically is an e-commerce website and courses are purchased online, how do we test LIVE transactions without using real-time credit cards in stripe?
Upvotes: 49
Views: 43768
Reputation: 2881
You can use Customer Credit Balance (https://stripe.com/docs/billing/customer/balance) and use real credit cards to do some final testing of your live implementation. I just did it, it works perfectly.
Good luck!
Upvotes: 6
Reputation: 6185
This can be accomplished from the Stripe dashboard in one of two ways. The set up for both methods begins in the same way.
Navigate to the Customers section of the Stripe dashboard, and create a new Customer object for yourself (or your employees)
Once you've created the new Customer, add the card details for the real card that you or your developers will using to test the live Stripe integration. This step is necessary because Stripe uses the card number to associate any test payments you make with the Customer you just created.
With the new Customer still selected, you'll see an Actions dropdown to the top right of the Overview page.
From here, you can select one of two solutions to waive costs for your new Customer:
Create a permanent 100% discount by selecting Apply Coupon and following the New Coupon link to create a coupon that can then be applied to your Customer's account
Create a credit balance for your Customer by selecting Adjust Credit Balance and setting it to a sufficiently high value
I recommend the first as it allows for more control. In particular, coupons can be set to never expire, unlike credit balances that will eventually hit 0 and require you to remember to reset it.
To prevent abuse or avoid creating an exploit for potential attackers, you can even set the coupon to be redeemed only as many times as you intend to redeem it, preventing it from being applied by anyone who doesn't require it to test your Stripe integration. In the below screenshot, I've set it to be one-time use.
Upvotes: 11
Reputation: 4435
The purpose of Stripe test mode is to ensure that you get your code into a perfectly working state, and that each type of transaction you are dealing with is fully covered. You can even validate that WebHooks are working by pointing them at your application's test API endpoints.
There's not really a way of 'testing' inside of the live environment as such - typical practice would be to make a real transaction using a company credit card, or one that you are in control of. You can then logon to Stripe Admin and refund the payment once it succeeds.
This is the same with most payment gateways, although there are some that have test mode built into the live API, and used via a specific header, parameter or tracking identifier. Although, this is really just the same end result - you are still testing in test mode.
Upvotes: 42