BODY='{"card_serial":"OLIV0001"}'
TIMESTAMP='2026-03-10T12:00:00Z'
SIGNATURE=$(printf 'POST\n/api/v1/payment/verify-card\n%s\n%s' "$TIMESTAMP" "$BODY" | openssl dgst -sha256 -hmac "$OLIVE_HMAC_SECRET" -hex | sed 's/^.* //')
curl -X POST "https://demo.api.vultlocal.com/api/v1/payment/verify-card" \
-H "X-API-Key-ID: $OLIVE_API_KEY_ID" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d "$BODY"
{
"success": true,
"message": "Card verified successfully",
"is_active": true,
"balance": "48,500.00 SLE",
"holder_name": "John Doe"
}
{
"success": false,
"error": "Invalid PIN"
}
Payment
Verify Card
Verify card status and retrieve partial subscriber info
POST
/
payment
/
verify-card
BODY='{"card_serial":"OLIV0001"}'
TIMESTAMP='2026-03-10T12:00:00Z'
SIGNATURE=$(printf 'POST\n/api/v1/payment/verify-card\n%s\n%s' "$TIMESTAMP" "$BODY" | openssl dgst -sha256 -hmac "$OLIVE_HMAC_SECRET" -hex | sed 's/^.* //')
curl -X POST "https://demo.api.vultlocal.com/api/v1/payment/verify-card" \
-H "X-API-Key-ID: $OLIVE_API_KEY_ID" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d "$BODY"
{
"success": true,
"message": "Card verified successfully",
"is_active": true,
"balance": "48,500.00 SLE",
"holder_name": "John Doe"
}
{
"success": false,
"error": "Invalid PIN"
}
Used before a payment to verify the card and fetch the holder name and current balance.
Request
string
required
API key ID assigned to the integration
string
required
RFC3339 timestamp used in the HMAC signature
string
required
Hex-encoded HMAC-SHA256 of the request
Body Parameters
string
required
Card serial number
PIN is not required on this route. The integrating partner’s HMAC signature provides the security.
Response
boolean
Whether verification succeeded
string
Verification result message
boolean
Whether the card is active
string
Formatted available balance
string
Card holder display name
Example
BODY='{"card_serial":"OLIV0001"}'
TIMESTAMP='2026-03-10T12:00:00Z'
SIGNATURE=$(printf 'POST\n/api/v1/payment/verify-card\n%s\n%s' "$TIMESTAMP" "$BODY" | openssl dgst -sha256 -hmac "$OLIVE_HMAC_SECRET" -hex | sed 's/^.* //')
curl -X POST "https://demo.api.vultlocal.com/api/v1/payment/verify-card" \
-H "X-API-Key-ID: $OLIVE_API_KEY_ID" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d "$BODY"
{
"success": true,
"message": "Card verified successfully",
"is_active": true,
"balance": "48,500.00 SLE",
"holder_name": "John Doe"
}
{
"success": false,
"error": "Invalid PIN"
}
Errors
| Status | Code | Description |
|---|---|---|
| 400 | Validation or business error | Invalid payload, unknown card, or blocked card |
| 401 | HMAC auth error | Missing/invalid X-API-Key-ID, X-Timestamp, or X-Signature |
| 500 | Internal error | Server error |
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Card verification details
Response
Card verified
The response is of type object.
⌘I