Test payment links
Last updated: May 16, 2024
Available with any of the following subscriptions, except where noted:
All products and plans |
Before sharing your payment link or quote with a contact, you can test the checkout experience to make sure it works as expected. Using a test mode, you can replicate the actions that take place in actual payment scenarios, without actually charging a credit card. Testing your payment links is especially important for higher payment amounts.
You can test payments made via credit card or bank debit, such as ACH. However, you can't test payment links for recurring payments.
Access payment links for testing
To access your payment link for testing:
- In your HubSpot account, navigate to Commerce > Payment Links.
- Hover over the link and click Actions, then select Open link in test mode.
- The link will open in test mode, and a banner will appear at the top of the checkout page that indicates you are in test mode. Enter values from the tables below to complete a test purchase. You can use any address information during your test in addition to the sample credit card or bank debit information.
When you test your payment links, if you have either Stripe payment processing or HubSpot payments set up, a new contact record will be created using the buyer email address entered in test mode as long as a contact record does not already exist for this email address. A deal record will also be created with (Test) included before the deal name.
If you don't have a payment processor set up, you can still test your payment link, but the contact and deal records will not be created.
An email notification will be sent to you and to the buyer email address that you used to test the link, and you will receive a test payout email.
Please note: while a test payment can create a contact and associated deal, it will not create a payment record. This also means that workflows based on payment records will not trigger from payment link tests.
Test payment links for payments via credit card
Below is a set of sample credit card numbers that you can use to test payment links, including numbers for testing various failure scenarios. Along with the sample credit card numbers, use following values for other fields:
- Billing address: any address
- Expiration date: any valid future date
- Security code (CVC): any random number
- Name on the card: any alphabetical string
- PIN code: any 3 digits (4 digits for American Express card)
Credit card number | Brand |
4242424242424242 | Visa |
4000056655665556 | Visa (debit) |
5555555555554444 | Mastercard |
2223003122003222 | Mastercard (2-series) |
5200828282828210 | Mastercard (debit) |
5105105105105100 | Mastercard (pre-paid) |
378282246310005 | American Express |
371449635398431 | American Express |
6011111111111117 | Discover |
6011000990139424 | Discover |
3056930009020004 | Diners Club |
36227206271667 | Diners Club (14-digit card) |
3566002020360505 | JCB |
6200000000000005 | UnionPay |
To simulate a failed payment, use the values from the table below.
Credit card number | Error message |
4000000000000036 | ZIP code validation fails & payment is declined |
4000000000000002 | Card is declined |
4000000000009995 | Payment is declined due to insufficient funds |
4000000000000069 | Payment is declined due to an expired card |
4000000000000127 | Payment is declined due to incorrect CVC |
Test payment links for payments via ACH
Use the information in the table below to test payments via ACH debit.
Routing number | Account number | Status description |
110000000 |
000123456789 | Success |
000111111116 | Failure upon use | |
000111111113 | Account closed | |
000222222227 | NSF/insufficient funds | |
000333333335 | Debit not authorized | |
000444444440 | Invalid currency |
Test payment links for payments via BACs
If you're using Stripe payment processing, you can use the information in the table below to test payments BACs.
Sort code | Account number | Status description |
108800 |
00012345 | Success |
11111116 | Failure upon use | |
11111113 | Account closed | |
22222227 | Insufficient funds | |
33333335 | Debit not authorized | |
44444440 | Invalid currency | |
66666668 | Payout fails if method is instant. Bank account is not eligible for Instant Payouts |
Test payment links for PADs
If you're using Stripe payment processing, you can use the information in the table below to test payments via PADs.
Institution number | Transit number | Account number | Status description |
000 |
1100 |
000123456789 | Succeeds after micro-deposits are verified |
900123456789 | Succeeds the payment with a three-minute delay after micro-deposits are verified | ||
000222222227 | Fails the payment immediately after micro-deposits are verified | ||
900222222227 | Fails the payment with a three-minute delay after micro-deposits are verified | ||
000666666661 | Fails to send verification micro-deposits |
To mimic successful or failed bank account verifications in test mode, use these meaningful amounts for micro-deposits:
Micro-deposit values | Error message |
32 or 45 | Successfully verifies the account |
Any other number combinations | Fails account verification |
Test payment links for SEPA
If you're using Stripe payment processing, you can use the information in the table below to test payments via SEPA debit.
IBAN | Status description |
GB82WEST12345698765432 | Payout succeeds |
GB55WEST12345698765433 | Payment fails due to no account found |
GB89370400440532013002 | Payout fails due to a closed account |
GB89370400440532013003 | Payment fails due to insufficient funds |
GB89370400440532013004 | Payment fails due to debit not authorized |
GB89370400440532013005 | Payment fails due to invalid currency |