POST/smart-transfers/payments

Create payment

Creates the smart transfer payment resource

Request Body

required
object

Create smart transfer payment request data

preauthorizationIdrequiredstring

Primary identifier of the preauthorization

recipientIdrequiredstring

Primary identifier of the paymen recipient

amountrequirednumber

Payment amount

descriptionstring

Payment description

clientPaymentIdstring

Client payment identifier

Responses

200Create a Smart Transfer Payment.
object

Smart transfer payment

idrequiredstring

Payment primary identifier

preauthorizationIdrequiredstring

Payment primary identifier

statusrequiredstring

Lifecycle of a Smart Transfer payment. Narrower than `PaymentIntentStatus`: Smart Transfer payments operate under an already-authorized preauthorization, so consent-collection statuses (`STARTED`, `ENQUEUED`, `CONSENT_AWAITING_AUTHORIZATION`) and consent-revocation statuses (`REJECTED`, `REVOKED`, `CONSUMED`) do not apply. - `CONSENT_AUTHORIZED`: the payment was accepted under the preauthorization and is ready to be processed. - `CONSENT_REJECTED`: the preauthorization was rejected at execution time. - `PAYMENT_PENDING`: the payment was submitted to the institution and is awaiting confirmation. - `PAYMENT_PARTIALLY_ACCEPTED`: the payment was accepted but still needs an additional authorization. - `PAYMENT_SETTLEMENT_PROCESSING`: the settlement is being processed. - `PAYMENT_SETTLEMENT_DEBTOR_ACCOUNT`: the funds were debited from the payer account; awaiting clearing. - `PAYMENT_COMPLETED`: the payment was confirmed by the institution. - `PAYMENT_REJECTED`: the payment was rejected after consent was authorized. - `ERROR`: an unexpected error occurred during the flow. - `CANCELED`: the payment was canceled.

CONSENT_AUTHORIZEDCONSENT_REJECTEDPAYMENT_PENDINGPAYMENT_PARTIALLY_ACCEPTEDPAYMENT_SETTLEMENT_PROCESSINGPAYMENT_SETTLEMENT_DEBTOR_ACCOUNTPAYMENT_COMPLETEDPAYMENT_REJECTEDERRORCANCELED
amountrequirednumber

Payment amount

descriptionstring

Payment description

recipientobject | nullnullable

Recipient of the transfer. May be null until the payment is associated with one.

All of:
part 1object

Bank-account payment recipient. Returned by `/payments/recipients` endpoints and embedded inside payment requests when the request targets a registered recipient.

clientPaymentIdstring

Client payment identifier

createdAtrequiredstring (date-time)

Date when the payment was created

updatedAtrequiredstring (date-time)

Date when the payment was updated

errorDetailobject

Error detail

codestring

Error code. - INFRASTRUCTURE_FAILURE: Indicates a failure in the infrastructure of the institution holding the information or resources. - PAYMENT_DIFFERENT_FROM_CONSENT: Payment data differs from consent data. - UNKNOWN_ERROR: Unknown error. - INVALID_PAYMENT_DETAIL: The payment detail is invalid. - PAYMENT_REJECTED_BY_HOLDER: The payment was rejected by the account holder. - PAYMENT_REJECTED_BY_SPI: The payment was rejected by the SPI.

INFRASTRUCTURE_FAILUREPAYMENT_DIFFERENT_FROM_CONSENTUNKNOWN_ERRORINVALID_PAYMENT_DETAILPAYMENT_REJECTED_BY_HOLDERPAYMENT_REJECTED_BY_SPI
descriptionstring

Error description

detailstring

Error detail

Example response

json
{
  "id": "string",
  "preauthorizationId": "string",
  "status": "CONSENT_AUTHORIZED",
  "amount": 0,
  "description": "string",
  "recipient": null,
  "clientPaymentId": "string",
  "createdAt": "2024-01-01T00:00:00Z",
  "updatedAt": "2024-01-01T00:00:00Z",
  "errorDetail": {
    "code": "INFRASTRUCTURE_FAILURE",
    "description": "string",
    "detail": "string"
  }
}

Code Examples

bash
curl -X POST 'https://api.pluggy.ai/smart-transfers/payments' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY' \
  -d '{}'

Try It