v1

latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MB
Payments

Transfer funds

Note: Enhanced features and improvements are available in the Payment methods API, the new application interface for non-card network authorizations. This Transfer funds endpoint is still supported, but all new feature developments will be available only in the Payment methods API. For more information, contact your Pismo representative.


Transfer funds between a source (from) and destination (to).

The to and from objects contain information about one of the following payment methods:

  1. account - Platform merchant or customer account
  2. card - Credit card stored in a digital wallet, known as a card on file
  3. custom_info - Custom payment information, usually about an external account
  4. merchant - Platform merchant

Transfers

You can use this endpoint to make the following types of transfers:

  • Pismo platform account to Pismo platform account (P2P)
  • Pismo platform account to merchant account (P2M)
  • Card to platform account (P2P with card)
  • Pismo platform account to merchant account with card (P2M with card)
  • Merchant account to merchant account (M2M)
  • Cashin
  • Cashin with card
  • Cashout
  • Cashout with card
  • Payment, which requires token (code) from creating payment request

See the <b>Examples</b> drop-down menu for sample payloads for each of these transfer types. See the Make transfer guide for more details on these transfer type use cases.

This endpoint generates an Authorization created event.

Note: This endpoint requires an account-specific access token. Getting an account token requires you to call the Get OpenID access token endpoint with an account ID. Tokens can expire quickly, which can result in an <b>Unauthorized</b> message.

post/payments/v1/payments

Headers

x-tenantstring required
Example:TN-c0e4c660-9059-404c-ab22-761aa431766c

Unique Org ID.

x-cidstring
Example:c737895c-8159-4c0c-a92a-a4f8600bff37

The correlation identifier field is used to link related API requests and events. For example, if a user makes an authorization request with 10 installments, this generates 1 authorization event and 10 transaction events all containing the same correlation ID. The x-cid can help the Pismo engineering team track everything related to a call.

x-account-idnumber
Example:1

Optional account ID. For P2P, this should be the from account ID.

x-skip-timelinestring
Example:true

Any value here results in an event not being generated in the customer timeline.

x-alt-conflictstring
Example:true

If true, the HTTP response status code returned is 208 (already reported) and not 409 (conflict)

Request body

tracking_idstring

Unique tracking ID of the transaction. If you don't provide one, the Pismo platform generates it randomly.

entry_modestring

Payment entry mode.

metadatastring

Any data object with key/value pairs. No limit on length.

Note: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to Get started with Pismo APIs.

tokenstring

Validation token used for payment-requests transfers.

payment_datetimestring date-time

Value date (effective date) of the payment in UTC-0 (RFC3339) format. Payments can be backdated but future dates are not allowed. example: '2020-01-02T15:14:00.218Z'

descriptorstring

Optional text that describes the created transaction. The platform supports only letters and numbers in this field and removes any special characters or emojis.

timeoutinteger

Maximum time (in seconds) a payment can take. Optional field forwarded to acquirers.

point_of_sales_idinteger

ID of POS device initiating request. This field is DEPRECATED - the ID should now be passed in the Merchant Payment Method. Passing it here will cause it to not be stored, which could lead to cancellations referencing the wrong merchant.

Example request

{
  "from": [
    {
      "account": {
        "id": 101
      },
      "amount": 12.13,
      "processing_code": "004000",
      "currency": "USD",
      "beneficiary_id": "2c298321-bc21-4039-9c45-780cc6d4ec46"
    }
  ],
  "to": [
    {
      "account": {
        "id": 101
      },
      "amount": 12.13,
      "processing_code": "004000",
      "currency": "USD",
      "beneficiary_id": "2c298321-bc21-4039-9c45-780cc6d4ec46"
    }
  ],
  "tracking_id": "1ff51e99-3a05-448a-bc19-7b5c05274174",
  "entry_mode": "QRCODE",
  "location": {
    "lat": 12.2,
    "lng": -12.2
  },
  "metadata": "{ \"key\": \"value\"}",
  "token": "e933dd73-ff1d-43af-935d-91891e926ed6",
  "descriptor": "eShop purchase",
  "timeout": 10,
  "point_of_sales_id": 10,
  "authorization_validations": {
    "is_device_registered": true
  }
}

Response

Created

authorization_idinteger

Generated authorization ID, depending on operation type. DEPRECATED for the authorization_ids object that can contain both credit and debit authorization IDs.

event_datestring date-time

Transaction datetime in UTC-0 (RFC3339) format.

tracking_idstring

Transfer ID. If none provided in the request, a random one is generated.

available_credit_limitnumber float

Available credit limit after transaction.

Example response

{
  "authorization_ids": {
    "credit": 15301234,
    "debit": 15301235
  },
  "event_date": "2020-01-02T15:14:00.218Z",
  "tracking_id": "82766158-514c-42f0-87e2-1bb3250c6dee",
  "available_credit_limit": 99.5
}