---
updatedAt: 2026-03-31T19:28:09.000Z
---

Fetch the complete documentation index at: https://developers.pismo.io/pismo-docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# How to make transfer

> 📘
>
> For any new deployments, the recommendation is to use the enhanced [Payment methods](https://developers.pismo.io/pismo-docs/docs/payment-methods) API instead of the [Transfer funds](https://developers.pismo.io/pismo-docs/reference/post-payments-v1-payments) endpoint described in this guide. All new feature developments will be available only in the Payment methods API. For more information, contact your Pismo representative.

# API reference

You can make a transfer by using the following endpoint. For more information, go to the [API reference](https://developers.pismo.io/pismo-docs/reference/post-payments-v1-payments).

```json
POST <URL>payments/v1/payments
```

# Transfer (P2P)

To perform a transfer of funds between two accounts inside the Pismo platform using the account balance:

* in the `from` object, provide the `account id` of the source Pismo account.
* in the `to` object, provide the `account id` of the destination Pismo account.

![Image showing a result of a transfer.](https://files.readme.io/4d17cbd-payments-p2p2x.png "payments-p2p@2x.png")

| Request payload        | Response                  |
| :--------------------- | :------------------------ |
| *(A) - from*           | *(H) - event\_date*       |
| *(B) - to*             | *(I) - authorization\_id* |
| *(C) - account id*     |                           |
| *(D) - amount*         |                           |
| *(E) - currency*       |                           |
| *(F) - payment method* |                           |
| *(G) - metadata*       |                           |

## Sample payload request

```json P2P sample payload request
{
   "tracking_id":"2436f48b-d57d-472c-aea4-47581a492502",
   "descriptor":"P2P payment",
   "from":[
      {
         "amount":150,
         "currency":"USD",
         "account":{
            "id":125487
         }
      }
   ],
   "to":[
      {
         "account":{
            "id":126789
         }
      }
   ],
   "metadata":{
      "source":"account balance",
      "message":"Sunday's barbecue share"
   }
}
```

## Sample response

```json P2P sample response
{
   "authorization_id": 31042116,
   "authorization_ids": {
     "credit": 31042117,
     "debit": 31042116
     },
   "available_credit_limit": 1874.68,
   "event_date": "2022-01-12T12:16:17.646Z",
   "tracking_id": "b970c8a9-5ec9-4e46-8c0d-f411e0bd6ce7"
}
```

## Response details

| Field                      | Type   | Description                                                                      |
| :------------------------- | :----- | :------------------------------------------------------------------------------- |
| `tracking_id`              | string | The identifier provided or the one generated by Pismo.                           |
| `event_date`               | string | The date and time of the moment the transaction was successfully made, in UTC-0. |
| `authorization_ids`        | object | The credit and debit authorization identifiers.                                  |
| `authorization_ids.credit` | number | The credit authorization identifier.                                             |
| `authorization_ids.debit`  | number | The debit authorization identifier.                                              |
| `metadata`                 | object | The metadata returned from the acquirer, if applicable.                          |

***

# Transfer from card

To perform a transfer from a card that was previously registered in the [wallet](https://developers.pismo.io/pismo-docs/docs/wallet-overview) to an account within the Pismo platform, you must:

* in the `from` object, provide the card's unique identifier, `card_uuid`, and the `account id` that the card is bound to.
* in the `to` object, provide the `account id` of the destination Pismo account.

![Image showing the parts of the transfer on a mobile phone. ](https://files.readme.io/62ee8b0-payments-p2p-withCard2x.png "payments-p2p-withCard@2x.png")

| Request payload      | Response                  |
| :------------------- | :------------------------ |
| *(A) - from*         | *(H) - event\_date*       |
| *(B) to*             | *(I) - authorization\_id* |
| *(C) account id*     |                           |
| *(D) amount*         |                           |
| *(E) currency*       |                           |
| *(F) payment method* |                           |
| *(G) metadata*       |                           |

## Sample payload request

```json Transfer from card sample request
{
  "descriptor": "P2P payment with card",
  "from": [
    {
      "amount": 150,
      "currency": "USD",
      "card": {
        "id": "f45dbe01-4109-11ea-ab1d-3286e4ea7ade",
        "account_id": 5487
      }   
    }
	],
  "to": [
    {
      "account": {
        "id": 126789
      }
    }
  ],
  "metadata": {
    "source": "account balance",
    "message": "Sunday's barbecue share"
  }
}
```

## Sample response

```json Transfer from card sample response
{
    "authorization_id": 31042111,
    "authorization_ids": {
      "credit": 31042112,
      "debit": 31042111
      },
    "event_date": "2022-01-12T12:11:58.952Z",
    "metadata": {
      "authorization_code": "154856",
      "nsu": "893681195173",
      "tid": "13042201120912190001"
      },
    "tracking_id": "1641989519"
}
```

***

# Cash-in

A cash-in operation moves funds from an external party into an account on the Pismo platform. To perform cash-in operations, you need to:

* in the `to` object, provide the `account ` object that contains a valid Pismo account id.
* in the `from` object, provide the `custom_info` object that contains the `type` of the operation.

![Image showing the parts of the transfer on a mobile phone. ](https://files.readme.io/bb5ce9a-payments-cashinBankTransfer2x.png "payments-cashinBankTransfer@2x.png")

| Request payload         | Response                  |
| :---------------------- | :------------------------ |
| *(A) - to*              | *(F) - event\_date*       |
| *(B) - account id*      | *(G) - descriptor*        |
| *(C) - account balance* | *(H) - metadata*          |
| *(D) - descriptor*      | *(I) - authorization\_id* |
| *(E) - amount*          |                           |

## Sample payload request

```json Cash-in sample request
{
	"descriptor": "BANK TRANSFER",
	"from": [
		{
			"custom_info": {
				"type": "CASHIN",
				"external_id": "be6474e8-b849-4213-9e1f-bdf619a27a63"
			}
		}
	],
	"to": [
		{
			"amount": 150,
      "currency": "USD",
			"account": {
				"id": 105708
			}
		}
	],
  "metadata":{
    "sender": "Andrew Foster",
    "bank": "OneBank",
    "branch_code": "0089",
    "account_id": "13000-7"
  }
}
```

## Sample response

```json Cash-in sample response
{
   "authorization_id": 31042107,
   "authorization_ids": {
     "credit": 31042107,
     "debit": null
     },
   "available_credit_limit": 1200.00,
   "event_date": "2022-01-12T12:06:06.377Z",
   "status_code": 1,
   "tracking_id": "63c8f39c-6a79-4250-ad33-34b89f28deff"
}
```

***

# Cash-out

To perform cash-out operations using the account balance, you need to:

* in the `from` object, provide the `account` object that contains a valid Pismo account id.
* in the `to` object, provide the `custom_info` object that contains the `type` of the operation you are performing.

The `custom_info` object allows multiple possibilities, such as withdrawing funds, topping up mobile devices, paying registered bills, and more.

![Image showing the parts of the transfer on a mobile phone. ](https://files.readme.io/6ffbeff-payments-withdrawal2x.png "payments-withdrawal@2x.png")

| Request payload        | Response                  |
| :--------------------- | :------------------------ |
| *(A) - from*           | *(F) - event\_date*       |
| *(B) - currency*       | *(G) - descriptor*        |
| *(C) - amount*         | *(H) - metadata*          |
| *(D) - payment method* | *(I) - authorization\_id* |
| *(E) - entry\_mode*    |                           |

## Sample payload request

```json Cash-out sample request
{
  "descriptor": "ATM's withdrawal",
  "from": [
    {
      "amount": 50.00,
      "currency": "USD",
      "account": {
        "id": 125487,
      }
    }
  ],
  "to": [
    {
      "custom_info": {
        "type": "WITHDRAWAL",
        "external_id": "2343646-2139867-09897776"
      }
    }
  ]
}
```

***

# Sample response

```json Cash-out sample response
{
  "authorization_id": 31042110,
  "authorization_ids": {
    "credit": null,
    "debit": 31042110
    },
  "available_credit_limit": 1875.68,
  "event_date": "2022-01-12T12:09:26.627Z",
  "tracking_id": "eea76b3c-46c0-4c6c-9312-27e9ee48acbf"
}
```