Skip to main content
POST
/
api
/
platform
/
payment
/
mail-check
/
{user_id}
Send Physical Check Payment
curl --request POST \
  --url https://api.sandbox.paywint.com/api/platform/payment/mail-check/{user_id} \
  --header 'Content-Type: application/json' \
  --header 'X-Platform-ID: <x-platform-id>' \
  --header 'X-Signature: <x-signature>' \
  --data '
{
  "payee_id": "f47ac10b-****-****-****-0e02b2c3d479",
  "amount": 150,
  "payee_address_id": "f47ac10b-****-****-****-0e02b2c3d479",
  "invoice_no": "INV-2024-001234",
  "description": "Payment for consulting services",
  "mail_type": "USPS_FIRST_CLASS",
  "payment_method": "WALLET",
  "remittance": [
    {
      "id": "INV-001",
      "date": "09-15-2025",
      "amount": 150,
      "description": "Consulting services - September 2025"
    }
  ],
  "attachment_url": "https://example.com/documents/invoice.pdf"
}
'
{
  "success": true,
  "message": "Operation completed.",
  "data": {
    "payment_id": "f47ac10b-****-****-****-0e02b2c3d479",
    "transaction_id": 1501,
    "payer_id": "f47ac10b-****-****-****-0e02b2c3d479",
    "payee_id": "f47ac10b-****-****-****-0e02b2c3d479",
    "amount": 100,
    "processing_fee": 1.5,
    "delivery_fee": 0.5,
    "invoice_no": "INV-2024-001234",
    "currency": "USD",
    "description": "June invoice for services",
    "created_at": "2025-06-16T10:04:51.739761Z",
    "payment_date": "2025-06-16T10:13:16.749655Z",
    "status": "success",
    "card_id": "f47ac10b-****-****-****-0e02b2c3d479",
    "bank_id": "f47ac10b-****-****-****-0e02b2c3d479",
    "payee_card_id": "f47ac10b-****-****-****-0e02b2c3d479",
    "payee_bank_id": "f47ac10b-****-****-****-0e02b2c3d479",
    "failure_reason": "Insufficient wallet balance",
    "payment_method": "WALLET",
    "receiving_method": "CHECK_MAIL",
    "attachment_url": "https://paywint-bucket.s3.amazonaws.com/wallet/check-payments/23ec826b-54cd-4241-a855-ae038bbf568a/testing.pdf"
  },
  "queryGeneratedTime": 1718006400
}

Headers

X-Platform-ID
string<uuid>
required

Unique platform identifier (UUID). You receive this during onboarding. Must be sent with every API request.

X-Signature
string
required

HMAC-SHA256 request signature for authentication. Use your platform secret key to compute it as: METHOD + PATH + QUERY + BODY_HASH.

Path Parameters

user_id
string<uuid>
required

Unique identifier (UUID) of the user who mails the check.

Body

application/json
payee_id
string<uuid4>
required

Unique identifier (UUID) of the recipient who will receive the physical check.

Example:

"f47ac10b-****-****-****-0e02b2c3d479"

amount
number
required

Payment amount in USD. Must be at least $1.00.

Required range: x >= 1
Example:

150

payee_address_id
string<uuid4>
required

UUID of the recipient's mailing address where the physical check will be sent.

Example:

"f47ac10b-****-****-****-0e02b2c3d479"

invoice_no
string | null

Invoice or reference number that will appear on the check for tracking purposes.

Maximum string length: 20
Example:

"INV-2024-001234"

description
string | null

Optional memo or description that will appear on the check.

Maximum string length: 255
Example:

"Payment for consulting services"

mail_type
enum<string>
default:USPS_FIRST_CLASS

Delivery method for the physical check. Options: USPS_FIRST_CLASS (default), USPS_CERTIFIED, OVERNIGHT, TWO_DAY. Different mail types have different processing fees.

Available options:
USPS_FIRST_CLASS,
USPS_CERTIFIED,
TWO_DAY,
OVERNIGHT
Example:

"USPS_FIRST_CLASS"

payment_method
enum<string>
default:WALLET

Payment source for the check amount and fees. Currently only WALLET is supported.

Available options:
WALLET,
POINT
Example:

"WALLET"

remittance
RemittanceAdvice · object[] | null

Optional list of remittance details to include with the check (maximum 50 items). Useful for invoice breakdowns or payment details.

attachment_url
string | null

Optional HTTPS URL of a PDF document to attach to the check. Must be a valid PDF, maximum 7MB, up to 10 pages. Additional fees apply per page.

Example:

"https://example.com/documents/invoice.pdf"

Response

Successful Response

success
boolean
default:true

Indicates whether the request was processed successfully.

Example:

true

message
string
default:Success

A short, human-readable message describing the result of the request.

Example:

"Operation completed."

data
ExternalCheckPaymentRead · object

The main response payload, if applicable

queryGeneratedTime
number | null
default:1765631850.663502

The Unix timestamp (in seconds) indicating when the response was generated.

Example:

1718006400