NewNo plan feeNo plan fee. Just 2.9% + $0.30 per card sale, and signing up is free.Try now →

PayPal · Decline codes

What does PayPal processor response code PPAB mean?

Checked

PayPal processor response code PPAB (ACCOUNT_BLOCKED_BY_ISSUER) means the bank that issued the card has blocked the account, so payments are declined. Only the bank can lift it. The shopper should contact their bank or pay with a different card; merchants should not keep retrying the blocked card.

PayPal label
ACCOUNT_BLOCKED_BY_ISSUER
Type
Hard decline
Who declined
The card's bank (via PayPal)
Retry
No, not on the same card
Shopper action
Contact the bank or use another card
Merchant action
Don't retry; ask for another method
PlatformDTC renewal
No retry; one-click update-card link and reminders

What PlatformDTC does

A PayPal card payment declined PPAB is stored by PlatformDTC as invalid_account and counted as permanent. On either retry schedule (the default Fixed schedule or Smart retry), automatic renewal attempts stop at once, the subscription is held past due rather than cancelled, and the customer is emailed a one-click way to add a new card.

Why it happens

The issuing bank put a block on the account. PayPal doesn't say why; banks discuss such reasons only with their cardholder.

What the shopper can do

Call your bank to ask about the block, and use another card meanwhile.

What the store can do

Ask for a different payment method.

On subscriptions, send an update-card request instead of retrying.

For developers

PayPal returns PPAB in processor_response.response_code on the capture (purchase_units[].payments.captures[]) or authorization of a card payment. PayPal's own name for it is ACCOUNT_BLOCKED_BY_ISSUER.

Declined card payments can also carry payment_advice_code in processor_response, the card network's advice; store it next to the response code.

Frequently asked questions

Can a store get PPAB unblocked?
No. Only the cardholder can sort it out with their bank.
Will PlatformDTC keep retrying a blocked account?
No. It records it as invalid_account, a hard decline, so with Smart retry on there is no retry.

Sources

Related

Payments library