Payabli moneyIn API
The moneyIn API from Payabli — 19 operation(s) for moneyin.
The moneyIn API from Payabli — 19 operation(s) for moneyin.
openapi: 3.1.0
info:
title: API reference Bill moneyIn API
version: 1.0.0
servers:
- url: https://api-sandbox.payabli.com/api
description: Sandbox
- url: https://api.payabli.com/api
description: Production
tags:
- name: moneyIn
paths:
/v2/MoneyIn/getpaid:
post:
operationId: getpaidv2
summary: Make a transaction (v2)
description: Make a single transaction. This method authorizes and captures a payment in one step. This is the v2 version of the `api/MoneyIn/getpaid` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information.
tags:
- moneyIn
parameters:
- name: achValidation
in: query
description: When `true`, enables real-time validation of ACH account and routing numbers. This is an add-on feature, contact Payabli for more information.
required: false
schema:
$ref: '#/components/schemas/AchValidation'
- name: forceCustomerCreation
in: query
description: When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`.
required: false
schema:
$ref: '#/components/schemas/ForceCustomerCreation'
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
- name: idempotencyKey
in: header
description: _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed.
required: false
schema:
$ref: '#/components/schemas/IdempotencyKey'
- name: validationCode
in: header
description: Value obtained from user when an API generated CAPTCHA is used in payment page
required: false
schema:
type: string
responses:
'201':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/V2TransactionResponseWrapper'
'400':
description: Bad request error for v2 Money In auth endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2BadRequestError'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'402':
description: Auth or sale decline error for v2 Money In endpoints (HTTP 402). Returned when an authorization or sale operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2DeclinedTransactionResponseWrapper'
'500':
description: Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format.
content:
application/json:
schema:
$ref: '#/components/schemas/V2InternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransRequestBody'
/v2/MoneyIn/authorize:
post:
operationId: authorizev2
summary: Authorize card transaction (v2)
description: 'Authorize a card transaction. This returns an authorization code and reserves funds for the merchant. Authorized transactions aren''t flagged for settlement until captured. This is the v2 version of the `api/MoneyIn/authorize` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information.
**Note**: Only card transactions can be authorized. This endpoint can''t be used for ACH transactions.'
tags:
- moneyIn
parameters:
- name: forceCustomerCreation
in: query
description: When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`.
required: false
schema:
$ref: '#/components/schemas/ForceCustomerCreation'
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
- name: idempotencyKey
in: header
description: _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed.
required: false
schema:
$ref: '#/components/schemas/IdempotencyKey'
responses:
'201':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/V2TransactionResponseWrapper'
'400':
description: Bad request error for v2 Money In auth endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2BadRequestError'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'402':
description: Auth or sale decline error for v2 Money In endpoints (HTTP 402). Returned when an authorization or sale operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2DeclinedTransactionResponseWrapper'
'500':
description: Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format.
content:
application/json:
schema:
$ref: '#/components/schemas/V2InternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransRequestBody'
/v2/MoneyIn/capture/{transId}:
post:
operationId: capturev2
summary: Capture an authorized transaction (v2)
description: Capture an authorized transaction to complete the transaction and move funds from the customer to merchant account. This is the v2 version of the `api/MoneyIn/capture/{transId}` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information.
tags:
- moneyIn
parameters:
- name: transId
in: path
description: ReferenceId for the transaction (PaymentId).
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'201':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/V2TransactionResponseWrapper'
'400':
description: Bad request error for v2 Money In capture endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2BadRequestError'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'402':
description: Capture decline error for v2 Money In endpoints (HTTP 402). Returned when a capture operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2DeclinedTransactionResponseWrapper'
'500':
description: Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format.
content:
application/json:
schema:
$ref: '#/components/schemas/V2InternalServerError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CaptureRequest'
/v2/MoneyIn/void/{transId}:
post:
operationId: voidv2
summary: Void a transaction (v2)
description: Cancel a transaction that hasn't been settled yet. Voiding non-captured authorizations prevents future captures. This is the v2 version of the `api/MoneyIn/void/{transId}` endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information.
tags:
- moneyIn
parameters:
- name: transId
in: path
description: ReferenceId for the transaction (PaymentId).
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/V2TransactionResponseWrapper'
'400':
description: Bad request error for v2 Money In void endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2BadRequestError'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'402':
description: Void decline error for v2 Money In endpoints (HTTP 402). Returned when a void operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2DeclinedTransactionResponseWrapper'
'500':
description: Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format.
content:
application/json:
schema:
$ref: '#/components/schemas/V2InternalServerError'
/v2/MoneyIn/refund/{transId}:
post:
operationId: refundv2
summary: Refund a settled transaction (v2)
description: "Give a full refund for a transaction that has settled and send money back to the account holder. To perform a partial refund, see [Partially refund a transaction](/developers/api-reference/moneyinV2/partial-refund-a-settled-transaction).\n\nThis is the v2 version of the refund endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information.\n\n<Note>\n To refund a split-funded transaction, include split instructions in the request body. Omit the body for a standard refund.\n</Note>\n"
tags:
- moneyIn
parameters:
- name: transId
in: path
description: ReferenceId for the transaction (PaymentId).
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'201':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/V2TransactionResponseWrapper'
'400':
description: Bad request error for v2 Money In refund endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2BadRequestError'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'402':
description: Refund decline error for v2 Money In endpoints (HTTP 402). Returned when a refund operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2DeclinedTransactionResponseWrapper'
'500':
description: Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format.
content:
application/json:
schema:
$ref: '#/components/schemas/V2InternalServerError'
requestBody:
description: Optional. To refund a split-funded transaction, provide split instructions. Omit the body for a standard refund.
content:
application/json:
schema:
$ref: '#/components/schemas/RefundV2Request'
/v2/MoneyIn/refund/{transId}/{amount}:
post:
operationId: refundv2amount
summary: Partially refund a settled transaction (v2)
description: "Refund a transaction that has settled and send money back to the account holder. If `amount` is set to 0, performs a full refund. When a non-zero `amount` is provided, this endpoint performs a partial refund.\n\nThis is the v2 version of the refund endpoint, and returns the unified response format. See [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for more information.\n\n<Note>\n To refund a split-funded transaction, include split instructions in the request body. Omit the body for a standard refund.\n</Note>\n"
tags:
- moneyIn
parameters:
- name: transId
in: path
description: ReferenceId for the transaction (PaymentId).
required: true
schema:
type: string
- name: amount
in: path
description: Amount to refund from original transaction, minus any service fees charged on the original transaction. If set to 0, performs a full refund.
required: true
schema:
type: number
format: double
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'201':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/V2TransactionResponseWrapper'
'400':
description: Bad request error for v2 Money In refund endpoint (HTTP 400). Returned when request validation fails. Follows RFC 7807 Problem Details format with Payabli-specific unified response codes. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2BadRequestError'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'402':
description: Refund decline error for v2 Money In endpoints (HTTP 402). Returned when a refund operation is declined for a transaction. Uses unified response codes starting with 'D'. See the [Pay In unified response codes reference](/guides/pay-in-unified-response-codes-reference) for the complete list of codes.
content:
application/json:
schema:
$ref: '#/components/schemas/V2DeclinedTransactionResponseWrapper'
'500':
description: Internal server error for v2 Money In endpoints (HTTP 500). Returned when an unexpected error occurs. Follows RFC 7807 Problem Details format.
content:
application/json:
schema:
$ref: '#/components/schemas/V2InternalServerError'
requestBody:
description: Optional. To refund a split-funded transaction, provide split instructions in `refundDetails`. This endpoint takes the refund amount from the `{amount}` path parameter, so don't set `amount` in the body. Omit the body for a standard refund.
content:
application/json:
schema:
$ref: '#/components/schemas/RefundV2Request'
/MoneyIn/getpaid:
post:
operationId: getpaid
summary: Make a transaction
description: "<Warning>\n This endpoint is deprecated. New integrations should use the [Make a transaction endpoint](/developers/api-reference/moneyinV2/make-a-transaction) and manage the resulting transaction with the corresponding void or refund endpoints. Transactions created with this legacy endpoint must be managed with the legacy lifecycle endpoints — they aren't interchangeable with the current ones.\n</Warning>\n\nMake a single transaction. This method authorizes and captures a payment in one step.\n"
tags:
- moneyIn
parameters:
- name: achValidation
in: query
description: When `true`, enables real-time validation of ACH account and routing numbers. This is an add-on feature, contact Payabli for more information.
required: false
schema:
$ref: '#/components/schemas/AchValidation'
- name: forceCustomerCreation
in: query
description: When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`.
required: false
schema:
$ref: '#/components/schemas/ForceCustomerCreation'
- name: includeDetails
in: query
description: When `true`, transactionDetails object is returned in the response. See a full example of the `transactionDetails` object in the [Transaction integration guide](/developers/developer-guides/money-in-transaction-add#includedetailstrue-response).
required: false
schema:
type: boolean
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
- name: idempotencyKey
in: header
description: _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed.
required: false
schema:
$ref: '#/components/schemas/IdempotencyKey'
- name: validationCode
in: header
description: Value obtained from user when an API generated CAPTCHA is used in payment page
required: false
schema:
type: string
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliAPIResponseGetPaid'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransRequestBody'
/MoneyIn/authorize:
post:
operationId: Authorize
summary: Authorize card transaction
description: "<Warning>\n This endpoint is deprecated. New integrations should use the [Authorize endpoint](/developers/api-reference/moneyinV2/authorize-a-transaction), then capture, void, or refund the resulting transaction with the corresponding endpoints. Transactions created with this legacy endpoint must be managed with the legacy lifecycle endpoints — they aren't interchangeable with the current ones.\n</Warning>\n\n\nAuthorize a card transaction. This returns an authorization code and reserves funds for the merchant. Authorized transactions aren't flagged for settlement until [captured](/developers/api-reference/moneyin/capture-an-authorized-transaction).\n\nOnly card transactions can be authorized. This endpoint can't be used for ACH transactions.\n"
tags:
- moneyIn
parameters:
- name: forceCustomerCreation
in: query
description: When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`.
required: false
schema:
$ref: '#/components/schemas/ForceCustomerCreation'
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
- name: idempotencyKey
in: header
description: _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed.
required: false
schema:
$ref: '#/components/schemas/IdempotencyKey'
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/AuthResponse'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransRequestBody'
/MoneyIn/capture/{transId}:
post:
operationId: CaptureAuth
summary: Capture Auth
description: "<Warning>\n This endpoint is deprecated. Use it only to capture transactions originally authorized with the legacy [Authorize endpoint](/developers/api-reference/moneyin/authorize-a-transaction). New integrations should use the [Capture endpoint](/developers/api-reference/moneyinV2/capture-an-authorized-transaction), which only works on transactions authorized with the current [Authorize endpoint](/developers/api-reference/moneyinV2/authorize-a-transaction).\n</Warning>\n\nCapture an [authorized transaction](/developers/api-reference/moneyin/authorize-a-transaction) to complete the transaction and move funds from the customer to merchant account.\n\nYou can use this endpoint to capture both full and partial amounts of the original authorized transaction. See [Capture an authorized transaction](/developers/developer-guides/pay-in-auth-and-capture) for more information about this endpoint.\n"
tags:
- moneyIn
parameters:
- name: transId
in: path
description: ReferenceId for the transaction (PaymentId).
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CaptureResponse'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CaptureRequest'
/MoneyIn/capture/{transId}/{amount}:
get:
operationId: Capture
summary: Capture an authorized transaction
description: "<Warning>\n This endpoint is deprecated. Use [POST `/capture/{transId}`](/developers/api-reference/moneyin/capture-an-authorized-transaction) instead, which supports partial captures and service fee adjustments.\n</Warning>\n\n Capture an [authorized\ntransaction](/developers/api-reference/moneyin/authorize-a-transaction) to complete the transaction and move funds from the customer to merchant account."
tags:
- moneyIn
parameters:
- name: amount
in: path
description: Amount to be captured. The amount can't be greater the original total amount of the transaction. `0` captures the total amount authorized in the transaction. Partial captures aren't supported.
required: true
schema:
type: number
format: double
- name: transId
in: path
description: ReferenceId for the transaction (PaymentId).
required: true
schema:
type: string
- name: Authorization
in: header
description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).
'
required: true
schema:
type: string
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/CaptureResponse'
'400':
description: Bad request / invalid data.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'401':
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
'503':
description: Database connection error.
content:
application/json:
schema:
$ref: '#/components/schemas/PayabliErrorBody'
/MoneyIn/void/{transId}:
get:
operationId: Void
summary: Void a transaction
description: "<Warning>\n This endpoint is deprecated. Use it only to void transactions originally created with the legacy endpoints. New integrations should use the [Void endpoint](/developers/api-reference/moneyinV2/void-a-transaction), which only works on transactions created with [Make a transaction](/developers/api-reference/moneyinV2/make-a-transaction) or [Authorize](/developers/api-reference/moneyinV2/authorize-a-transaction).\n</Warning>\n\nCancel a transaction that hasn't been settled yet. Voiding non-captured authorizations prevents future captures. If a transaction has been settled, refund it instead.\n"
tags:
- moneyIn
parameters:
- name: transId
in: path
description: ReferenceId for the transaction (PaymentId).
required: true
schema:
type: string
- nam
# --- truncated at 32 KB (163 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/payabli/refs/heads/main/openapi/payabli-moneyin-api-openapi.yml