PixelWave

Receipts

Attach and retrieve a payment-proof PDF receipt for an operation

A receipt is a PDF proof of payment you can attach to an operation. Once uploaded it is stored securely and (when configured) delivered to the provider — via their Telegram chat and/or forwarded to the provider backend. Receipts are matched by your own idTransactionMerchant.

Upload Receipt

POST /operation/{idTransactionMerchant}/receipt

Attach a PDF receipt to one of your operations.

Authentication

Authorization: Bearer YOUR_MERCHANT_TOKEN

Path Parameters

ParameterTypeDescription
idTransactionMerchantstringYour own operation id (the idTransactionMerchant you sent when creating the payin/payout)

Body

multipart/form-data with a single file field:

FieldTypeDescription
receiptfileThe receipt file. PDF only, up to 10 MB

Constraints

  • The file must be a valid PDF (checked by content, not just extension).
  • Max size 10 MB.
  • The operation must not be in a final state (success / failed).
  • The receipt must be uploaded within the payment window (20 minutes from operation creation).
  • Only one active receipt per operation — uploading again replaces the previous one.

Example Request

curl -X POST 'https://api.admin-pixelwave.com/operation/order-12345/receipt' \
  -H 'Authorization: Bearer YOUR_MERCHANT_TOKEN' \
  -F 'receipt=@/path/to/receipt.pdf;type=application/pdf'

Success Response

{
  "result": {
    "status": "success",
    "x-request-id": "uuid",
    "codeError": "none",
    "codeErrorExt": "none",
    "message": ""
  },
  "data": {
    "receiptId": "0318b851-f376-49e3-8e6e-948b156f8884",
    "status": "uploaded",
    "fileName": "receipt.pdf",
    "uploadedAt": "2025-01-15T10:31:00Z"
  },
  "totalNumberRecords": 0
}

Error Response

Errors are returned with HTTP 200 and result.status = "warning" (platform convention).

{
  "result": {
    "status": "warning",
    "x-request-id": "uuid",
    "codeError": "none",
    "codeErrorExt": "none",
    "message": "File is not a valid PDF"
  },
  "data": null,
  "totalNumberRecords": 0
}

Common messages: Receipt file is empty, Receipt file exceeds 10 MB limit, File is not a valid PDF, Operation is in final state: ..., Payment window for receipt upload has expired, Not found operation by idTransactionMerchant=....

Get Receipt

GET /operation/{idTransactionMerchant}/receipt

Retrieve the current active receipt for one of your operations, including a temporary download link.

Authentication

Authorization: Bearer YOUR_MERCHANT_TOKEN

Path Parameters

ParameterTypeDescription
idTransactionMerchantstringYour own operation id

Example Request

curl -X GET 'https://api.admin-pixelwave.com/operation/order-12345/receipt' \
  -H 'Authorization: Bearer YOUR_MERCHANT_TOKEN' \
  -H 'Accept: application/json'

Success Response

{
  "result": {
    "status": "success",
    "x-request-id": "uuid",
    "codeError": "none",
    "codeErrorExt": "none",
    "message": ""
  },
  "data": {
    "receiptId": "0318b851-f376-49e3-8e6e-948b156f8884",
    "fileName": "receipt.pdf",
    "mime": "application/pdf",
    "sizeBytes": 48213,
    "status": "uploaded",
    "uploadedAt": "2025-01-15T10:31:00Z",
    "presignedUrl": "https://ams3.digitaloceanspaces.com/pixelreceipt/receipts/.../....pdf?..."
  },
  "totalNumberRecords": 0
}

presignedUrl is a short-lived link (default TTL 15 minutes) that forces the file to download as an attachment. If no receipt is attached, data is null.

On this page