Submit Proof of Payment¶
Local Payments Only
This endpoint applies only to local payment methods (UPI, Bangladesh wallets). Card payments are approved or declined instantly and do not support proof of payment submission.
After the customer completes payment via local payment methods, they may need to submit proof of payment for verification if automatic confirmation doesn't occur.
HTTP Request¶
POST http://{{DOMAIN}}/h2h/confirm
Request Example¶
curl -X POST https://{{DOMAIN}}/h2h/confirm \
-H "Content-Type: application/json" \
-d '{
  "public_key": "your_api_key",
  "trx": "UUID",
  "payment_proof": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51..."
}'
Response Example¶
{
  "status": "success",
  "message": ["Payment proof submitted successfully. Transaction is pending manual verification."],
  "trx": "UUID",
  "proof_status": "pending",
  "verification_note": "Your payment proof has been submitted and will be verified by our team. You will be notified once verification is complete."
}
Request Parameters¶
| Parameter | Required | Description | Example | 
|---|---|---|---|
| public_key | true | Your API key | "your_api_key" | 
| trx | true | Transaction ID from initiate response | "UUID" | 
| payment_proof | true | Proof of payment data | Size Limit: 10MB. See Proof Formats | 
Proof Formats¶
You can submit payment proof in the following formats:
Base64 Image (Screenshot)¶
URL (Link to proof image)¶
Response Parameters¶
| Parameter | Description | Example | 
|---|---|---|
| status | The status of the request | "success" | 
| message | Array of status messages | ["Payment proof submitted successfully. Transaction is pending manual verification."] | 
| trx | The transaction identifier | "UUID" | 
| proof_status | Current status of the proof verification | "pending", "verified", "rejected" | 
| verification_note | Additional information about the verification process | "Your payment proof has been submitted..." | 
Proof Status Values¶
| Status | Description | 
|---|---|
| pending | Proof submitted, awaiting verification | 
| verified | Proof verified, payment confirmed | 
| rejected | Proof rejected, payment failed | 
Common Error Responses¶
Card Payment Rejection¶
If you attempt to submit proof for a card payment, you will receive this error:
{
  "status": "error",
  "message": ["Proof of payment is not supported for card payments. Card payments are approved or declined instantly."]
}
Invalid Proof Format¶
{
  "status": "error",
  "message": ["Invalid proof format. Please provide a base64 image, URL, or text reference"]
}
Transaction Not Found¶
Best Practices¶
When implementing proof submission:
- Image Quality: Ensure screenshots are clear and readable
- Payment ID Visibility: Make sure the payment reference/transaction ID is visible in the screenshot
- Error Handling: Handle validation errors gracefully and provide clear feedback to users
Workflow Integration¶
After submitting proof:
- Immediate Response: You will receive a confirmation that the proof was submitted
- Manual Review: Our team will manually verify the payment proof (typically 5-30 minutes)
- Status Updates: You will receive IPN notifications when the verification is complete
- Status Polling: You can also check the payment status periodically
Next Steps¶
- Check payment status to monitor verification progress
- Handle IPN notifications for automated status updates
- Learn about the complete H2H flow