Separate three Stripe outcomes before you change the store. An issuer or payment-provider decline means their systems refused authorization, and Stripe passes along the decline information it received. A blocked payment means Stripe Radar or another Stripe block stopped it before issuer authorization. An invalid API call is a request the integration sent incorrectly, and it often never appears as a payment in the Dashboard. WooCommerce uses Failed when the payment failed or was declined and no payment succeeded, which is not the same status as Pending payment or On hold. Record the time, order number, outcome type, and any decline or advice code. Follow the advice code. Do not change the business description, descriptor, or category to obtain a different result. The issuer discusses the specific reason with the cardholder, not with the merchant. Describe the work you need. Prism will confirm scope, responsibilities, fees, and terms before work begins.
For: An owner or authorized representative of a research-use-only peptide business looking at a card payment that did not complete.
Updated 2026-09-21
Three different failures
Stripe's declines page says a payment can fail as an issuer decline, a blocked payment, or an invalid API call. For an issuer or other payment-provider decline, that party's systems decide whether to authorize. Stripe shares the decline information it receives, in the Dashboard and the API, including a decline code when the issuer provided a specific reason. Many declines are generic, so the code may not name a precise cause.
A blocked outcome means Stripe did not obtain issuer authorization. The example Stripe gives for a high-risk block has network_status not_sent_to_network, type blocked, and a seller message that Stripe blocked the charge. Adding a payment to an allow list, where that button exists, does not retry the payment. It only stops later matching attempts from being blocked by your rules. An invalid outcome is the third type. Stripe says invalid API calls typically do not appear in the Dashboard.
Those three labels are the first sort. A store error that prevented the request from being sent is not an issuer decline. An issuer decline is not fixed by editing the product page.
What the advice code tells you to do next
Stripe's card-decline page says the outcome's advice_code is the next step. do_not_try_again means the card was declined and you should not use it again for the same transaction. The customer may need to contact the issuer. try_again_later means the issuer declined it and a later attempt is allowed. confirm_card_data means some submitted information was incorrect and the customer needs to correct it.
The same page says card networks limit how many times a charge can be reattempted. Stripe recommends a maximum of eight retries for charges that permit retries, and says issuers might treat further retries as fraud, which can increase declines on legitimate charges. That maximum is not permission to retry a do_not_try_again card, and it is not a method for getting a refused payment through.
For privacy and security, Stripe says issuers discuss the specifics of a decline only with their cardholders. If the card data is correct and the code is generic, the documented next step is for the customer to contact the issuer. You record the code. You do not receive the issuer's internal reason.
The order status is a second record
WooCommerce Failed means the customer's payment failed or was declined and no payment has been successfully made. If stock was reduced earlier, WooCommerce returns it when the order moves to Failed. The status may not appear immediately. A delayed payment can stay On hold while it is confirmed and move to Failed only if it is rejected. Pending payment means the order was received and no payment has been made. On hold means the store is waiting for payment confirmation, and stock is reduced. Completed and Processing are not decline states.
When an order is marked failed from pending or on hold, WooCommerce sends a notice to the store recipients and a notice to the customer that the payment was unsuccessful, with instructions to try again using a different payment method. That customer email is the store's message. It is not the issuer's decline code. Read both.
An authentication failure is evidence too, but it is a different fact from a generic issuer decline. Stripe documents authentication_required for some off-session payments. Record the code if it is present, and use the authentication guide to understand the step. Do not fold every failure into one retry.
What to keep, and what not to change
You can collect a redacted incident: time, order number, provider payment identifier, outcome type, decline code, advice code, whether the outcome says the network was not contacted, the WooCommerce status, and any plugin, theme, or checkout change made before the failure. You can decide to stop and ask the provider when the outcome is blocked or invalid. You can ask the customer to correct card data or contact the issuer when the advice code says so.
The issuer decides an issuer decline. Stripe decides a Radar block under its rules and yours. The provider decides whether the account remains in good standing. Prism can help you organize a checkout question for a consultation. A consultation does not guarantee reversal of a decline; confirm any diagnostic or provider-follow-up scope separately. A request does not submit a processing application.
Do not respond to a decline by renaming the business, changing a descriptor, hiding a product, or splitting the payment so the same attempt looks different. Do not put the full card number, security code, or customer list in the consultation form. Unknown, unless the dashboard shows it: the issuer's unpublished reason, and whether a code on another provider means the same thing as a Stripe code.
Decline evidence matrix
One row is one attempt. Record codes the dashboard already shows. Do not type a full card number. Worksheet entries are not submitted by this worksheet or saved by this site. Use only non-sensitive summaries; do not enter credentials, government identifiers, card or bank-account numbers, private receipt links, or customer details.
Worksheet entries are not submitted by Prism’s worksheet and are not saved by the site. Use record types, availability, anonymized observations, or match/mismatch results. Do not enter government identifiers, customer names or addresses, customer messages, receipt-access links, card or bank details, passwords, or keys. Send sensitive documents only through the provider’s verified secure channel.
Decline evidence matrix. The last column is for temporary notes.
Evidence
How it separates the failure
Where it appears
Your record
Time and order number
How it separates the failureA single attempt has to be tied to one order. A later retry is a different attempt.
Where it appearsWooCommerce order screen. Use the order number, not the customer's card.
Stripe outcome type
How it separates the failureissuer_declined, blocked, and invalid are different events. Blocked means Stripe did not send the payment for issuer authorization.
Where it appearsThe payment in the Stripe Dashboard, or the charge outcome in the API.
Decline code and seller message
How it separates the failureA specific code is the issuer's stated reason when one was provided. A generic code means the exact reason was not given.
Where it appearsThe same payment. Leave blank if the attempt never reached Stripe.
Advice code
How it separates the failuredo_not_try_again means do not reuse that card for the same transaction. try_again_later and confirm_card_data mean something else.
Where it appearsThe outcome. Do not retry against do_not_try_again.
Network status
How it separates the failurenot_sent_to_network supports a block or an invalid request. declined_by_network supports an issuer or network decline.
Where it appearsThe outcome object. Do not infer it from the storefront text alone.
WooCommerce order status
How it separates the failureFailed means no successful payment. Pending payment and On hold are not the same status and can precede a later failure.
Where it appearsThe order status and the order notes, including any gateway message.
Emails that went out
How it separates the failureA failed order can email the store and the customer. The customer email is not the decline code.
Where it appearsWooCommerce, Settings, Emails, and the mailbox that received the store copy.
Change just before the failure
How it separates the failureA theme, plugin, or checkout change points to an integration defect. No change points away from a release you just made.
Where it appearsThe plugin and theme update log. Record the change, not a theory about eligibility.
What you will not do
How it separates the failureRenaming the business, hiding the catalog, or extra retries past the advice code are not diagnostic steps.
Where it appearsLeave this as a confirmation that the incident notes do not include those actions.
These are temporary notes. Leaving or reloading this page may clear them. The consultation form does not include these entries.
Limits
A Prism consultation can help you organize the facts and discuss the website or processing question. The payment provider decides eligibility, pricing, reserves, and whether an account is opened or closed.
Do not retry a card when the advice code is do_not_try_again, and do not treat eight retries as a goal.
Do not send the full card number, security code, or a customer list. The issuer's detailed reason is available to the cardholder, not to the merchant.
Stripe declines — checked 2026-09-21. Payments fail as issuer declines, blocked payments, or invalid API calls. A block does not obtain issuer authorization. Allow-listing does not retry the payment. Invalid API calls typically do not appear in the Dashboard.
Stripe card declines — checked 2026-09-21. Issuers discuss decline specifics only with cardholders. Advice codes do_not_try_again, try_again_later, and confirm_card_data have different next steps. Stripe recommends no more than eight retries where retries are permitted and warns that more can be treated as fraud. authentication_required is documented for some off-session failures.
WooCommerce order statuses — checked 2026-09-21. Failed means the payment failed or was declined and no payment succeeded. Pending payment means no payment has been made. On hold means payment confirmation is still outstanding. Failed may not appear immediately for delayed payment methods.
WooCommerce email settings — checked 2026-09-21. A failed order sends a notice to the store recipients and a notice to the customer about the unsuccessful payment, telling the customer to try a different payment method.
Prism contact — checked 2026-09-21. The consultation form says to leave out payment card details, passwords, and customer records. A request does not submit a processing application.
Prism solutions — checked 2026-09-21. The provider decides eligibility and account terms. Prism can help organize a website or processing question. Scope, fees, and terms are discussed before work.
Request a consultation
Describe the business and this specific question. Prism follows up by email to discuss fit and scope. An inquiry is not a processing application or an approval.