openapi: 3.0.3 info: title: Nuvei Payouts API description: Push funds to consumers and counterparties via card, bank account, or local APMs. Supports referenced (relatedTransactionId) and unreferenced payouts. version: "1.0" contact: name: Nuvei Developer Support url: https://docs.nuvei.com servers: - url: https://secure.safecharge.com/ppp/api/v1 description: Production - url: https://ppp-test.nuvei.com/ppp/api/v1 description: Sandbox tags: - name: Payouts paths: /payout.do: post: tags: - Payouts summary: Create Payout operationId: payout description: Withdraws funds to a card, bank account, or APM. Either references a prior transaction (relatedTransactionId) or uses a userPaymentOptionId / unreferenced destination details. requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PayoutRequest" responses: "200": description: Payout result content: application/json: schema: $ref: "#/components/schemas/PayoutResponse" /accountCapture.do: post: tags: - Payouts summary: Account Capture operationId: accountCapture description: Returns a redirect URL where the cardholder/account holder securely provides bank account details for use in a subsequent payout. requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AccountCaptureRequest" responses: "200": description: Account capture redirect content: application/json: schema: $ref: "#/components/schemas/AccountCaptureResponse" components: schemas: PayoutRequest: type: object required: - merchantId - merchantSiteId - userTokenId - clientUniqueId - amount - currency - timeStamp - checksum properties: merchantId: type: string merchantSiteId: type: string userTokenId: type: string clientUniqueId: type: string clientRequestId: type: string amount: type: string currency: type: string userPaymentOption: type: object cardData: type: object comment: type: string dynamicDescriptor: type: object merchantDetails: type: object deviceDetails: type: object urlDetails: type: object timeStamp: type: string checksum: type: string PayoutResponse: type: object properties: transactionId: type: string externalTransactionId: type: string transactionStatus: type: string enum: [APPROVED, DECLINED, ERROR, PENDING] status: type: string enum: [SUCCESS, ERROR] authCode: type: string gwErrorCode: type: integer gwErrorReason: type: string AccountCaptureRequest: type: object required: - merchantId - merchantSiteId - userTokenId - amount - currency - timeStamp - checksum properties: merchantId: type: string merchantSiteId: type: string userTokenId: type: string clientRequestId: type: string amount: type: string currency: type: string country: type: string paymentMethod: type: string urlDetails: type: object timeStamp: type: string checksum: type: string AccountCaptureResponse: type: object properties: redirectURL: type: string sessionToken: type: string status: type: string enum: [SUCCESS, ERROR] errCode: type: integer reason: type: string