Skip to main content

Appeal with Receipt

Submits a payment receipt for review. For a cancelled payment (CANCELLED / CANCELLED_APPEAL) an appeal is opened and the payment moves to DISPUTE. For a payment in any other status the receipt is only passed on for checking; the status does not change.

The outcome arrives via webhook and in the payment status. If a payment video is needed and your Telegram chat with the bot is connected, the request arrives there — reply to it with the video or send it with the request below. Without a chat, support will request the video.

Request​

POST /v1/payments/{id}/appeal — multipart/form-data; headers: see Authorization.

FieldTypeRequiredDescription
receiptfileyesReceipt: up to 10 MB, png/jpg/jpeg/webp/heic/pdf
reasonstringnoReason, up to 500 characters (e.g. "Payment was made")
amountnumbernoActual amount if it differs from the order

Request example​

curl -X POST https://api.bopay.io/v1/payments/550e8400-e29b-41d4-a716-446655440000/appeal \
-H "X-Identity: <API-key>" \
-H "X-Signature: <Signature>" \
-F "[email protected]" \
-F "reason=Payment was made"

Response example​

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"ext_id": "order_12345",
"status": "dispute",
"dispute_opened": true,
"delivered_to": 1,
"receipt_url": "/uploads/receipts/550e8400-..._1790000000000.pdf"
}
FieldTypeDescription
statusstringPayment status after the request
dispute_openedbooleantrue — the appeal was opened by this request
delivered_tonumberHow many times the receipt was passed on for review (≥ 1)
receipt_urlstringLink to the stored receipt

Payment video​

POST /v1/payments/{id}/appeal/video — multipart/form-data, field video: mp4/mov/webm/m4v, up to 19 MB. Available while the payment's appeal is open.

curl -X POST https://api.bopay.io/v1/payments/550e8400-e29b-41d4-a716-446655440000/appeal/video \
-H "X-Identity: <API-key>" \
-H "X-Signature: <Signature>" \
-F "[email protected]"
{ "id": "550e8400-e29b-41d4-a716-446655440000", "delivered_to": 1 }

Statuses​

CANCELLED → DISPUTE → COMPLETED_APPEAL (approved) or CANCELLED_APPEAL (rejected).

Errors​

CodeHTTPReason
PAY_002400Invalid parameters or not multipart/form-data
PAY_006404Payment not found
PAY_009400File is too large
PAY_010400Unsupported file type
APL_001503Appeals are temporarily unavailable — use open dispute
APL_002409An appeal for this payment is already under review
APL_004502Delivery failed, retry later
APL_005400File not attached (receipt / video)
APL_006400Reason longer than 500 characters
APL_007404No open appeal to attach the video to
SYS_001500Internal error