Error codes

Soft decline

Stripe

approve_with_id

The payment can't be authorized.

What does approve_with_id mean?

The approve_with_id decline code indicates that the payment could not be authorized automatically. The issuing bank is requesting additional verification before approving the transaction. The card itself is typically valid — the issuer's internal risk signals simply prevented automatic authorization.

Is it a soft or hard decline?

approve_with_id is a soft decline. The card and account are valid, and a retry after a delay often succeeds once the issuer's risk evaluation completes or updates.

Common root causes

  • Issuer risk models requesting manual review before authorization

  • Transient authorization system delays at the bank

  • New card-on-file charges triggering first-use verification

  • Transactions that require issuer-side verification steps

Recommended recovery steps

  1. Retry after 24–48 hours — giving the issuer time to complete internal verification.

  2. If still failing, the customer needs to contact their card issuer to clear any pending holds.

  3. Use network tokens to reduce authorization friction on recurring charges.

  4. Do not retry rapidly. Close-together retries rarely succeed and can escalate issuer risk scoring.

How FlyCode handles approve_with_id

FlyCode's retry engine treats approve_with_id as a temporary authorization hold rather than a permanent refusal. Retries are timed based on typical issuer clearance windows, using network-level authorization data. For transactions that remain stuck, FlyCode routes the customer to a simple payment update flow rather than persistent automated retries.

What does approve_with_id mean?

The approve_with_id decline code indicates that the payment could not be authorized automatically. The issuing bank is requesting additional verification before approving the transaction. The card itself is typically valid — the issuer's internal risk signals simply prevented automatic authorization.

Is it a soft or hard decline?

approve_with_id is a soft decline. The card and account are valid, and a retry after a delay often succeeds once the issuer's risk evaluation completes or updates.

Common root causes

  • Issuer risk models requesting manual review before authorization

  • Transient authorization system delays at the bank

  • New card-on-file charges triggering first-use verification

  • Transactions that require issuer-side verification steps

Recommended recovery steps

  1. Retry after 24–48 hours — giving the issuer time to complete internal verification.

  2. If still failing, the customer needs to contact their card issuer to clear any pending holds.

  3. Use network tokens to reduce authorization friction on recurring charges.

  4. Do not retry rapidly. Close-together retries rarely succeed and can escalate issuer risk scoring.

How FlyCode handles approve_with_id

FlyCode's retry engine treats approve_with_id as a temporary authorization hold rather than a permanent refusal. Retries are timed based on typical issuer clearance windows, using network-level authorization data. For transactions that remain stuck, FlyCode routes the customer to a simple payment update flow rather than persistent automated retries.

What does approve_with_id mean?

The approve_with_id decline code indicates that the payment could not be authorized automatically. The issuing bank is requesting additional verification before approving the transaction. The card itself is typically valid — the issuer's internal risk signals simply prevented automatic authorization.

Is it a soft or hard decline?

approve_with_id is a soft decline. The card and account are valid, and a retry after a delay often succeeds once the issuer's risk evaluation completes or updates.

Common root causes

  • Issuer risk models requesting manual review before authorization

  • Transient authorization system delays at the bank

  • New card-on-file charges triggering first-use verification

  • Transactions that require issuer-side verification steps

Recommended recovery steps

  1. Retry after 24–48 hours — giving the issuer time to complete internal verification.

  2. If still failing, the customer needs to contact their card issuer to clear any pending holds.

  3. Use network tokens to reduce authorization friction on recurring charges.

  4. Do not retry rapidly. Close-together retries rarely succeed and can escalate issuer risk scoring.

How FlyCode handles approve_with_id

FlyCode's retry engine treats approve_with_id as a temporary authorization hold rather than a permanent refusal. Retries are timed based on typical issuer clearance windows, using network-level authorization data. For transactions that remain stuck, FlyCode routes the customer to a simple payment update flow rather than persistent automated retries.

Understanding This Decline Code

Extended content body

Frequently Asked Questions

What does approve_with_id mean?

Should I retry approve_with_id?

Yes, but not immediately. Wait 24–48 hours to allow the issuer's internal verification to complete. Rapid repeated retries will continue to fail and may escalate issuer risk scoring.

Does FlyCode recover approve_with_id declines?

FlyCode uses adaptive retry timing that accounts for transient issuer issues. For approve_with_id declines, this means retrying when the issuer authorization system is likely to process successfully rather than hitting the same transient block.

FlyCode partnered with Stripe, to turn failed payment intro revenue.

With our newest Stripe app, you can stop chasing your customers about their failed payments and recover more payments with zero development work.

With our newest Stripe app, you can stop chasing your customers about their failed payments and recover more payments with zero development work.

Giving Back

Partnering with organizations that promote women in technology and families in need is something we are proud to do.

Text graphic displaying "SPE CODES; NEXT LEVEL" in a bold, stylized font on a solid background.
Logo featuring a stylized text "Catching" with an orange accent, set against a simple background.

2026 FlyCode © All Right Reserved.

Giving Back

Partnering with organizations that promote women in technology and families in need is something we are proud to do.

Text graphic displaying "SPE CODES; NEXT LEVEL" in a bold, stylized font on a solid background.
Logo featuring a stylized text "Catching" with an orange accent, set against a simple background.

2026 FlyCode © All Right Reserved.