POST
/
api
/
platform
/
payment
/
create-payment
Create Payment
curl --request POST \
  --url https://api.sandbox.paywint.com/api/platform/payment/create-payment \
  --header 'Content-Type: application/json' \
  --header 'X-Platform-ID: <x-platform-id>' \
  --header 'X-Signature: <x-signature>' \
  --data '{
  "user_id": "f47ac10b-****-****-****-0e02b2c3d479",
  "payee_id": "f47ac10b-****-****-****-0e02b2c3d479",
  "amount": 123,
  "payment_method": "WALLET",
  "invoice_no": "INV-2024-001234",
  "card_id": "f47ac10b-****-****-****-0e02b2c3d479",
  "bank_id": "f47ac10b-****-****-****-0e02b2c3d479",
  "receiving_method": "WALLET",
  "description": "<string>",
  "payee_card_id": "f47ac10b-****-****-****-0e02b2c3d479",
  "payee_bank_id": "f47ac10b-****-****-****-0e02b2c3d479"
}'
{
  "success": true,
  "message": "Operation completed.",
  "data": {
    "payment_id": "f47ac10b-****-****-****-0e02b2c3d479",
    "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",
    "payment_method": "WALLET",
    "receiving_method": "WALLET",
    "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"
  },
  "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.

Body

application/json
user_id
string<uuid>
required

Unique identifier (UUID) of the user initiating the payment.

Example:

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

payee_id
string<uuid>
required

Unique identifier (UUID) of the recipient receiving the funds.

Example:

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

amount
number
required

Amount to be paid

payment_method
enum<string>
required

Payment source selected by the payer (e.g., WALLET, CARD).

Available options:
WALLET,
CARD
invoice_no
string
required

Invoice or transaction reference number for tracking and record-keeping purposes.

Maximum length: 20
Example:

"INV-2024-001234"

receiving_method
enum<string>
required

Destination for the received funds (e.g., WALLET, CARD, BANK/ACH).

Available options:
WALLET,
CARD,
ACH
card_id
string<uuid> | null

UUID of the payer’s card to be charged (required if using CARD as the payment method).

Example:

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

bank_id
string<uuid> | null

UUID of the payer’s bank account to be debited (required if using ACH as the payment method).

Example:

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

description
string | null

Optional short note or description for the payment (e.g., invoice reference, service details).

Maximum length: 255
payee_card_id
string<uuid> | null

UUID of the payee’s card to receive funds (required if receiving to CARD).

Example:

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

payee_bank_id
string<uuid> | null

UUID of the payee’s bank account to receive funds (required if receiving to ACH).

Example:

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

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
object | null

The main response payload, if applicable

queryGeneratedTime
number | null
default:1756883312.350897

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

Example:

1718006400