This changelog provides an overview of the recent changes made to the Payabli APIs.

Unified response codes for Pay In transactions

We’re rolling these changes out to Sandbox on December 23, 2025. After this date, v2 transaction APIs will be available for testing in Sandbox, and test sale transactions made via the v1 /MoneyIn/getpaid endpoint with includeDetails=true will include the new unified response codes. These changes are scheduled to be available in Production on January 20, 2026.

We plan to add support for the unified responses to our web apps and embedded components in the near future. We don’t have an official sunset date for v1 transaction APIs yet, but we recommend migrating to the new v2 endpoints to take advantage of the enhanced features and unified response codes. All new integrations should use the v2 endpoints.

We’re introducing unified response codes for Pay In transactions to provide consistent, standardized codes across all payment processors. This makes it easier to understand transaction outcomes and handle responses programmatically, regardless of which processor is being used.

Payabli’s unified response codes standardize transaction outcomes into three clear categories:

  • A codes (A0000-A0099): Approved transactions
  • D codes (D0100-D2999): Declined transactions
  • E codes (E3000-E9999): Error conditions

Each unified response code includes:

  • code: The standardized response code
  • reason: Human-readable reason
  • explanation: Detailed explanation of what happened
  • action: Recommended next steps

We’ve added a comprehensive Pay In unified response codes reference page that documents all unified response codes with their reasons, detailed explanations, and recommended actions. This reference includes codes for approvals, declines, and errors across various payment processors.

New v2 transaction APIs

To support unified response codes, we’ve released v2 versions of some of our core Pay In transaction endpoints. These enhanced endpoints provide:

  • Unified response codes with clear approval (A), decline (D), and error (E) categories
  • Transaction details automatically included in the response, eliminating the need for a separate call to the get transaction details endpoint.
  • Enhanced error messages with explanations and recommended actions

The following v2 endpoints are now available:

  • POST /v2/MoneyIn/getpaid: Make a transaction (authorize and capture)
  • POST /v2/MoneyIn/authorize: Authorize a card transaction
  • POST /v2/MoneyIn/capture/{transId}: Capture an authorized transaction
  • POST /v2/MoneyIn/refund/{transId}/{amount}: Refund a settled transaction
  • POST /v2/MoneyIn/void/{transId}: Void a transaction

See Pay In transaction APIs v2 for complete documentation on these new endpoints and migration guidance.

V1 transaction API enhancements

We’ve enhanced two v1 transaction-related endpoints to include unified response codes and improved response data.

Only the transaction details and make a transaction endpoints have been enhanced in v1. Other v1 endpoints will continue to return legacy processor response codes only. If you want unified response codes for all transaction operations, please migrate to the new v2 endpoints.

GET /MoneyIn/GetPaid (Get transaction details)

The get transaction details endpoint response now includes:

  • resultCode: Payabli’s unified response code (for example, “A0000”, “D0200”)
  • resultCodeText: Human-readable description of the unified response code

POST /MoneyIn/getpaid (Make a transaction)

We’ve enhanced the existing v1 /MoneyIn/getpaid endpoint to include unified response codes alongside transaction details.

When you set the includeDetails query parameter to true, the response now includes:

  • resultCode: Payabli’s unified response code (for example, “A0000”, “D0200”)
  • resultCodeText: Human-readable description of the unified response code

This enhancement allows you to access unified response codes without migrating to v2 endpoints. The v1 endpoint continues to work exactly as before when includeDetails is set to false.

Query endpoints

Several Pay In query endpoints now include unified response codes in the ResponseData object for each transaction record:

  • GET /Query/ListBatchDetails: List batch transaction details
  • GET /Query/ListBatchDetailsOrg: List batch transaction details for an organization
  • GET /Query/ListBatches: List batches
  • GET /Query/ListBatchesOrg: List batches for an organization
  • GET /Query/GetTransDetail: Get transaction details

Each transaction record’s ResponseData now includes resultCode and resultCodeText fields alongside the legacy response code fields.

Webhook payload enhancements

We’ve enhanced webhook payloads to include unified response codes alongside legacy processor response codes. These changes provide better consistency and clarity when handling transaction results across different payment processors.

The following four fields have been added to payment notification webhook payloads:

FieldDescription
ResponseCodeLegacy response code from the payment processor. This code varies by processor and transaction type.
ResponseCodeTextHuman-readable description of the legacy response code.
ResultCodePayabli’s unified response code. This standardized code provides consistent values across all processors. See Unified response code reference for the complete list.
ResultCodeTextHuman-readable description of the unified response code.

The following webhook notifications now include response code fields:

  • ApprovedPayment
  • AuthorizedPayment
  • VoidedPayment
  • RefundedPayment
  • DeclinedPayment
  • RejectedPayment

See the updated payloads in Webhook notification response reference.