Skip to main content
POST
Person-to-person transfer using the recipient’s card serial number. Requires sender PIN verification.

Request

string
required
Bearer olive_live_xxx or Bearer eyJ... (JWT)

Body Parameters

string
required
Sender subscriber UUID
string
required
Recipient’s card serial (e.g., OLIV0002)
string
required
Amount to transfer (e.g., 500.00 or 500)
string
required
Sender’s 4-digit PIN
string
Optional note/description

Response

boolean
Whether transfer succeeded
string
Unique transaction ID
string
Sender’s balance after transfer
string
Fee charged to sender

Examples


Transfer Flow

1

Validate Request

  • Verify sender PIN
  • Check sender balance >= amount + fee
  • Validate recipient card exists and is active
2

Compliance Check

Run transaction against fraud detection rules
3

Execute Transfer

Atomic operation - debit sender, credit recipient
4

Notify

WhatsApp notifications to both parties

Fee Calculation

Fees are configured in Fee Settings and may vary.

Errors


Get Balance

Check balance before transfer

Lookup Subscriber

Find subscriber by phone

Authorizations

Authorization
string
header
required

API Key for third-party integrations (WhatsApp, Smart PAY, VULT). Format: 'Bearer olive_live_xxxxxxxxxxxxx'

Body

application/json

P2P transfer details

amount
string
required

Accepts decimal format like "100.00" or "100"

Example:

"100.00"

pin
string
required
Example:

"1234"

recipient_card_serial
string
required

Supports any alphanumeric: CARD0001, 48290173K, etc.

Example:

"CARD0002"

sender_id
string
required
Example:

"subscriber-uuid"

memo
string
Example:

"Payment for lunch"

Response

Transfer successful

The response is of type object.