Pine LabsDOCS

Validate Brand Wallet for Payment

POST/payment-option/wallet/validate

Validates that a customer's wallet can fulfil a payment of the given amount. Call this before creating an order to confirm the wallet balance is sufficient. Returns the eligible amount and whether redemption is allowed.

Requires Bearer token. Get token →

Header Parameters

FieldDetails
Request-Timestamp
stringdate-time

ISO 8601 UTC timestamp of the request. Used for idempotency and audit.

Request-ID
string

Use a global unique identifier [GUID] for the request.

Constraints
Minimum length: 1 characterMaximum length: 50 characters

Request Bodyrequired

FieldDetails
notes
string
amount
objectrequired2 nested fields

Monetary amount with currency.

customers
objectrequired9 nested fields

Customer whose wallet to validate (customer_id required)

Response

FieldDetails
eligible_amount
object2 nested fields

Maximum amount eligible for this transaction

value
integerrequired

Amount in the smallest currency unit (e.g., paisa for INR).

Constraints
Minimum value: 100Maximum value: 50000000000
currency
stringrequired

Three-letter ISO 4217 currency code.

Constraints
Default value: INR
total_balance_amount
object2 nested fields

Total wallet balance

redemption_allowed
boolean

Whether the wallet can be used for this transaction

notes
string

Additional validation notes

Status Codes

200Wallet validation result.
400The request was malformed or missing required fields.
401Authentication failed — missing, expired, or invalid Bearer token.
422Unprocessable entity.
500An unexpected error occurred on the server.
Run
Request
curl --request POST \
  --url https://pluraluat.v2.pinepg.in/payment-option/wallet/validate \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --header 'Request-ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
  --header 'Request-Timestamp: 2024-10-01T10:30:00Z' \
  --data '{
  "amount": {
    "value": 50000,
    "currency": "INR"
  },
  "customers": {
    "email_id": "john@example.com",
    "first_name": "Kevin",
    "last_name": "Bob",
    "customer_id": "123456",
    "mobile_number": "9876543210",
    "country_code": "91",
    "billing_address": {
      "address1": "10 Downing Street Westminster London",
      "address2": "Oxford Street Westminster London",
      "address3": "Baker Street Westminster London",
      "pincode": "51524036",
      "city": "Westminster",
      "state": "Westminster",
      "country": "London",
      "full_name": "Kevin Bob",
      "address_type": "Home",
      "address_category": "billing"
    },
    "shipping_address": {
      "address1": "10 Downing Street Westminster London",
      "address2": "Oxford Street Westminster London",
      "address3": "Baker Street Westminster London",
      "pincode": "51524036",
      "city": "Westminster",
      "state": "Westminster",
      "country": "London",
      "full_name": "Kevin Bob",
      "address_type": "Home",
      "address_category": "billing"
    },
    "is_edit_customer_details_allowed": false
  }
}'
{
  "eligible_amount": {
    "value": 50000,
    "currency": "INR"
  },
  "total_balance_amount": {
    "value": 150000,
    "currency": "INR"
  },
  "redemption_allowed": true,
  "notes": "Wallet eligible for transaction"
}