Card + ACH Transaction
Split tender transactions with a card and a bank account (ACH) allow customers to distribute payment for a single order across two different payment methods.
Scope
- Mode:
Pay With Wallet| API Scope:merchant| API Enpoint:v2/payments| Interaction mode:API - Maximum number of payment methods: 2
- Payment Type:
SALE - Transaction Type: Card + ACH
Out-Of-Scope
- Mode:
One Time PayPay & Save| API Scope:merchant-pci| API Enpoint:v2/sessions| Interaction mode:UI - Payment Type:
PRE-AUTH - Transaction Type: Card + Card / ACH + ACH
Transaction Processing
For detailed information about Card+ACH transaction processing, see Split Tender Transaction Processing.
CCG Capture Handling
Sequential Processing Implementation
For Card + ACH transactions, the system implements sequential processing in production:
- Card First Approach: The card payment is always processed and authorized first
- ACH Contingency: ACH payment is only initiated if card authorization is successful
- Failure Prevention: This approach eliminates scenarios where ACH cancellation would be needed if card payment fails
Rationale:
- ACH cancellation is not reliable in production environments
- Sequential processing prevents the need for complex rollback scenarios
- This approach reduces the likelihood of refund scenarios that occur when ACH payments cannot be cancelled
Process Flow
CCG Capture Handling
note
For detailed information about CCG Capture Handling for Card+ACH transactions, see Split Tender Transaction Processing.
Process Flow
Card + ACH Transaction Process Flow
Business Use Case Scenarios
Payment Method Validation
Given Payment Method validation is passed for both the payment methods, refer to Payment Method Validation
Standard Scenarios
Standard Use Cases
| ID | Scenario | CARD Status | ACH Status | CCG Transaction Status | CCG Actions | CCG Transaction Final Status | Webhooks |
|---|---|---|---|---|---|---|---|
| 1 | Both Card and ACH Payments Successful | AUTHORIZED | ACCEPTED | ✅ ACCEPTED | Capture Card transaction | Completed | PAYMENT_ACCEPTED |
| 2 | Card Authorization Failed | FAILED | NA | ❌ FAILED | No ACH initiated | ❌ FAILED | PAYMENT_FAILED |
| 3 | Card Authorized but ACH Failure | AUTHORIZED | FAILED | ❌ FAILED | Cancel card authorization | ❌ FAILED | PAYMENT_FAILED |
Edge Case Scenarios
Probability
- Stripe Dashboard operations should be restricted for Split Tender Transactions
- Capture Failures are minimal in production. Refer Capture/Cancel Failures
Edge Cases
| ID | Scenario | CCG Status | CCG Transaction Status | CCG Actions | CCG Final Status | CCG Transaction Final Status | CCG RollBack Plan | ||
|---|---|---|---|---|---|---|---|---|---|
| Card | ACH | Card | ACH | ||||||
| 4 | CCG Capture Failure | Authorized | Accepted | ✅ ACCEPTED | CCG Capture fails on card | ❌ CAPTURE_INITIALIZED -- CAPTURE_FAILED --> AUTHORIZED | ✅ COMPLETED | ❌ FAILED | Recovery Strategy for Transient Failures |
| 5 | ACH NOR After Card Capture | Captured (via Stripe) | Accepted | ✅ ACCEPTED | ACH payment fails after card capture | ✅ COMPLETED | ❌ FAILED | ⚠️ PARTIAL | Ambiguous Payment Handling |