Initiate a payin transaction
Changed onThis POST endpoint initiates a pay-in transaction from a user to your account. <br> Use this endpoint to collect funds from users - for example, deposits, payments, or wallet top-ups. <br> Provide the payer's user_token in the URL path, and include in the request body the source of funds (source_token), deposit destination (destination_token), and the currency of the pay-in (source_currency_code). <br> The response returns complete details of the pay-in transaction, including status, amounts, partner network response, and any required follow-up action. <br><br> Important: A 201 response indicates the request was accepted and processed. Inspect the response body's status and error fields to determine the actual outcome. A pay-in may be INITIATED (awaiting user action), PROCESSING (in flight), COMPLETED (funds delivered), or ERROR (declined by partner or validation failure).
Request
- Base URLhttps://api.masspay.io/v1.0.0
- Auth
- API key in header Authorization
- or API key in header x-api-key
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
Token representing the user to pay out
Headers
Unique key to prevent duplicate processing
Request body
Example request
{
"value_added_services": {
"cvv": "123",
"avs": "RUN_AND_VALIDATE",
"ani": "RUN_AND_VALIDATE",
"three_ds": {
"cavv": "jJ81HADVRtXfCBATEp01CJUAAAA=",
"eci": "05",
"ds_transaction_id": "f38e6948-5388-41a6-bca4-b49723c19437"
}
},
"client_transfer_id": "Invoice531",
"source_currency_code": "USDC",
"destination_currency_code": "USD",
"source_amount": 100.5,
"destination_amount": 100.5,
"statement_description": "Invoice #531"
}Response
Pay-in request accepted. Inspect the body's status and error fields to determine the actual outcome (approved, processing, awaiting user action, or declined).
Example response
{
"payin_token": "payin_ba4275f2-bae1-488d-9d6f-20af1cd83574",
"funding_code": "CASH-9F2J7L",
"destination_token": "clnt_wlt_fd407907-4913-4a99-b653-5e868743a692",
"payment_reference": "REF-2025-04823",
"instructions": "Commit payin to finalize transaction",
"source_amount": 100.5,
"destination_amount": 100.5,
"fee": 2.99,
"source_currency_code": "USD",
"destination_currency_code": "USD",
"network_response": {
"action_code": "00",
"approval_code": "123456",
"address_verification": "Y",
"cvv2_result_code": "M",
"cavv_result_code": "2",
"ani_result": "MATCH",
"account_number": "1234567890",
"routing_number": "021000021",
"swift_bic": "CSRVUS33XXX",
"bank_name": "Cross River Bank",
"bank_address": "885 Teaneck Road, Teaneck, NJ 07666 USA",
"name_on_account": "Jane Doe",
"network_id": "VISA",
"response_reason_code": "00"
},
"deposits": [
{
"token": "payin_dep_1f7c9a2e-3b41-4c8d-9e5f-8a6b2c4d7e90",
"deposit_amount": 0.0025,
"deposit_currency": "BTC",
"fiat_amount": 100.5,
"fiat_currency": "USD",
"metadata": {
"method": "wire",
"account": "5500312884",
"routing": "123456780",
"name": "MARIA RIVERA",
"imad": "20260914L1B7761R001532",
"omad": "20260914FTB2007301846209141412FT01",
"sender_reference": "8812045371XK",
"beneficiary_reference": "INV 2026-0914-17",
"originator_to_beneficiary": [
"ORDER 48213 ACME WIDGETS"
]
},
"return_reason_code": "REFUSED_BY_BENEFICIARY",
"network_return_code": "R23",
"return_fee": 15
}
],
"error": "Insufficient funds or limit exceeded [51] Not sufficient funds"
}Changes
- info
endpoint added
- info