Skip to content

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)

{
  "payment_proof": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51..."
}
{
  "payment_proof": "https://example.com/payment-proof.jpg"
}

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

{
  "status": "error",
  "message": ["Transaction not found or not H2H payment"]
}

Best Practices

When implementing proof submission:

  1. Image Quality: Ensure screenshots are clear and readable
  2. Payment ID Visibility: Make sure the payment reference/transaction ID is visible in the screenshot
  3. Error Handling: Handle validation errors gracefully and provide clear feedback to users

Workflow Integration

After submitting proof:

  1. Immediate Response: You will receive a confirmation that the proof was submitted
  2. Manual Review: Our team will manually verify the payment proof (typically 5-30 minutes)
  3. Status Updates: You will receive IPN notifications when the verification is complete
  4. Status Polling: You can also check the payment status periodically

Next Steps