m2pfintech
API LibraryOct Push

Push Funds to Card (OCT)

Send money instantly to any Visa or Mastercard (Original Credit Transaction).

Use Cases:

  • Person-to-Person (P2P) transfers
  • Merchant payouts and disbursements
  • Insurance disbursements
  • Refunds and cashback

Features:

  • Auto-routes to Visa Direct or Mastercard Send based on card BIN
  • Real-time / near-real-time settlement
  • Supports cross-border transfers
  • Fast Funds (< 30 sec) for eligible cards

⚠️ Important: The response from this API indicates only whether the request was accepted. Do not rely on this response to determine final transaction status. Always call GET /Yappay/txn-manager/v2/fetch/{externalTransactionId} to confirm the final txnStatus (e.g., PAYMENT_SUCCESS, PAYMENT_FAILURE).

POST
/direct/push

Authorization

BasicAuth
AuthorizationBasic <token>

Partner credentials (username/password) provisioned during onboarding

In: header

Request Body

application/json

networkType?string

Explicit network routing. Auto-detected from card BIN if omitted.

Value in"VISA" | "MASTERCARD"
productId?string

Product identifier for pool balance tracking

recipientPan*string

Recipient card PAN (13–19 digits)

Match^\d{13,19}$
senderAccountNumber?string

Sender's card/account number. Used to identify the funding source card.

Match^\d{13,19}$
recipientName?string

Recipient full name

Lengthlength <= 30
recipientCountryCode?string

ISO numeric country code for cross-border transfers

Match^\d{3}$
amount*number

Transaction amount in major units (e.g., 100 or 100.50)

Formatdouble
currency?string

Transaction currency in ISO 4217 alphabetic code (e.g., "USD", "INR")

txnType*string

Transaction type — determines business purpose and network BAI mapping:

  • P2PSEND: Person-to-Person Send (maps to BAI: PP)
  • CCP2P: Credit Card Person-to-Person (maps to BAI: PP)
  • CCFUND: Credit Card Funding/Disbursement (maps to BAI: FD)
  • CCBILL: Credit Card Bill Payment (maps to BAI: CP)
  • CCREFUND: Credit Card Refund (maps to BAI: FD)
  • CCCASHBACK: Credit Card Cashback (maps to BAI: LO)
  • MVISA: mVisa OCT push
  • MVISA_REVERSAL: mVisa reversal
Value in"CCBILL" | "CCFUND" | "CCP2P" | "CCREFUND" | "CCCASHBACK" | "P2PSEND" | "MVISA" | "MVISA_REVERSAL"
business*string

Partner business identifier provisioned during onboarding

transactionOrigin?string

Channel/origin of the transaction

Value in"API" | "WEB" | "MOBILE" | "POS"
externalTransactionId*string

Partner's unique transaction reference. Must be unique per transaction.

description?string

Transaction description or narration

Lengthlength <= 100
originalTransactionNumber?string|null

Original transaction number for refund or reversal scenarios

originalTransactionMcc?string|null

Original Merchant Category Code (for reversals/refunds)

senderName?string

Sender full name

senderAddress?string

Sender street address

senderCity?string

Sender city

senderCountryCode?string

Sender ISO numeric country code

senderStateCode?string

Sender state/province code

senderPostalCode?string

Sender postal/zip code

senderPhone?string

Sender phone number

senderEmail?string

Sender email address

Formatemail
senderCardExpiryDate?string

Sender card expiry date in YYYY-MM format

Match^\d{4}-\d{2}$
senderCardCavv?string

Cardholder Authentication Verification Value for the sender card (from 3DS if applicable)

senderCardCvv?string

CVV/CVC of the sender card

fromEntityId?string

Sending partner entity ID (optional; falls back to business configuration)

toEntityId?string

Receiving entity ID (optional)

isTokenized?boolean

Whether recipientPan is a PCI token

tokenValue?string

Token value for Mastercard tokenized transactions

tokenExpiry?string

Token expiry date

Response Body

application/json

application/json

application/json

curl -X POST "https://secure.yappay.in/Yappay/direct/push" \  -H "Content-Type: application/json" \  -d '{    "productId": "GENERAL",    "description": "OCT transaction",    "amount": 100,    "currency": "USD",    "recipientPan": "4515860000041118",    "senderAccountNumber": "4761090007841119",    "recipientName": "Test Recipient 1",    "txnType": "P2PSEND",    "business": "M2P",    "transactionOrigin": "MOBILE",    "externalTransactionId": "EXT-M2P-550",    "networkType": "VISA",    "originalTransactionNumber": null,    "originalTransactionMcc": null,    "senderName": "Test Sender 1",    "senderPostalCode": "110001",    "senderPhone": "9876543210",    "senderEmail": "sender@test.com",    "senderCardExpiryDate": "2026-12",    "senderCardCavv": "AAABBCc1234567890",    "senderCardCvv": "123"  }'
{
  "result": {
    "txId": 719785991,
    "retrivalReferenceNo": "601419123978",
    "authCode": "032632",
    "action": "Success",
    "responseCode": "00",
    "externalTransactionId": "EXT-M2P-348",
    "corporateBalance": null,
    "threeDSRequired": null,
    "htmlContent": null,
    "redirectUrl": null
  },
  "exception": null,
  "pagination": null
}
{
  "result": null,
  "error": {
    "errorCode": "VALIDATION_ERROR",
    "shortMessage": "Invalid request",
    "detailMessage": "recipientPan is required",
    "fieldErrors": [
      "recipientPan: must not be blank"
    ]
  }
}
{
  "result": null,
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "shortMessage": "Internal server error",
    "detailMessage": "An unexpected error occurred. Please contact support."
  }
}