OVERFUNDED and UNDERFUNDED Payments
With bank transfer-based payment methods (Ping Deposit), the system cannot enforce the exact amount a customer transfers. The customer may send too little or too much, resulting in a funding deviation status.
Status Definitions
| Status | Meaning |
|---|---|
UNDERFUNDED | Total received funds are less than the expected payment amount |
OVERFUNDED | Total received funds are more than the expected payment amount |
FUNDED | Exact amount received, but payment was created with complete_when_funded: false |
The status is determined by comparing the cumulative sum of all received deposits against the payment's total_amount. Multiple deposits can arrive for a single payment — each one triggers a status recalculation.
Status Flow
PENDING
|
+-- partial amount received ----------> UNDERFUNDED
| |
| +-- more funds received (still short) --> UNDERFUNDED
| +-- exact remaining received -----------> COMPLETED (or FUNDED)
| +-- excess received --------------------> OVERFUNDED
|
+-- exact amount received -------------> COMPLETED (complete_when_funded: true)
| FUNDED (complete_when_funded: false)
|
+-- excess amount received ------------> OVERFUNDED
Multi-Deposit Behavior
A single payment can receive multiple bank transfers. Each incoming transfer is matched to the payment via its reference, and the total received funds accumulate across all transfers. For example:
- Payment amount: 1000 SEK
- First transfer arrives: 600 SEK → status becomes
UNDERFUNDED - Second transfer arrives: 400 SEK → status becomes
COMPLETED(cumulative total: 1000 SEK)
Each deposit triggers a status callback, giving you real-time visibility into how much has been received.
Recommendation: Do Not Reconcile UNDERFUNDED Payments Immediately
When a payment becomes UNDERFUNDED, it is often because the customer has made a partial transfer and a second transfer is on its way. We strongly recommend waiting before reconciling an UNDERFUNDED payment.
Instead:
- Monitor incoming status callbacks for further deposits
- Set a reasonable waiting window (e.g., a couple of business days) before deciding to reconcile
- Consider reaching out to the customer to confirm whether additional transfers are expected
If the full amount eventually arrives, the payment may complete automatically without any manual intervention — depending on how complete_when_funded is configured.
Updated 4 days ago