API Changelog

Updates may appear in the AffiniPay APIs at any time. All documented updates are backward compatible and shouldn’t cause breaking changes to your code. Bookmark this page and check back often to learn about the latest API updates.

Backward-compatible changes include:

2023-11-03

The invoice, person, and organization objects now have a notes parameter where users can add extra information about the object.

2023-01-27

Updated the surname definition for bank to include that it’s required when using hosted fields.

2022-10-05

Webhook notifications may now come from the following additional IP addresses:

2022-10-03

Added a new endpoint to retrieve surcharge information and enabled the ability to charge with surcharge.

2022-01-28

Exposed additional endpoints in the Contact API and Payment Portal API to make managing Contacts and Invoices easier.

2021-10-04

Added request URLs for submitting ClientPay merchant applications using the /merchant_applications and /merchant_applications/sign_up endpoints.

Added endpoints for InfoRequests, which enable merchants to request payment details directly from clients. Client can then save payment details in the AffiniPay payment portal.

2021-07-15

Added recurring_charge.payment_method.updated and recurring_charge.payment_method.closed events for account updater.

2021-04-14

Added payment_method.updated and payment_method.closed events for account updater.

Exposed endpoint /contacts/{contact_id}/make-payment for POSTing a payment for specified invoices.

2020-12-18

Added the PaymentMethod object, which has an authorized_uses parameter that defines whether it is available to merchants, their clients, or both to make payments.

Added endpoints to the create, update, and delete a PaymentMethod.

2020-04-07

Exposed endpoints /v1/cards/{cardId} and /v1/banks/{bankId} for PATCHing these payment methods.

2019-12-19

Added a completion_timestamp property to the charge, credit, and refund objects.

2019-10-11

Added new parameters associated with the potential merchant’s browser to the merchant_application object to help AffiniPay catch fraudulent activity and perform quicker underwriting fraud checks.

2019-09-19

Added a /v1/recurring/charges/schedule endpoint to enable users to preview the affects of changing dates, the number of occurrences, or both before creating a recurring charge. There are two additional object types as well: recurring_charge_projection and recurring_charge_projection_occurrence.

2019-06-25

Added a source_ID property to the Invoice object.

2019-06-19

Added a processing_accounts property to the BankAccount object.

2019-05-28

Added a source_ID property to the recurring_charge and recurring_charge_occurrence objects.

Add a /merchant_applications/sign_up endpoint to create a new merchant_application object using the AffiniPay, LawPay, or CPACharge-branded sign-up flow and submit it to AffiniPay for review and approval.

2019-05-20

The Quick Bill API is now known as the Payment Portal API.

2019-02-05

Updated the token and bank objects (and related examples) to support eCheck.

2018-10-02

Updated the Quick Bill API to add endpoints for uploading file attachments.

Added the new scope, payments. This scope should be used for both payments and for Quick Bills.

Updated the paths for the following endpoints:

Former EndpointNew Endpoint
secure.affinipay.com/oauth/authorizeapi.affinipay.com/oauth/authorize
secure.affinipay.com/oauth/tokenapi.affinipay.com/oauth/token
secure.affinipay.com/oauth/introspectapi.affinipay.com/oauth/introspect
secure.affinipay.com/api/v1/chargeio_credentialsapi.affinipay.com/gateway-credentials
secure.affinipay.com/api/v1/merchant_applicationsapi.affinipay.com/merchant-applications

2018-06-29

Added new Quick Bill API.

2018-01-22

Exposed endpoints /v1/transactions/{transactionID}/sign and /v1/signature/{signatureID} for interacting with a cardholder’s signature. This functionality is particularly useful when used in conjunction with the mobile SDK.

2017-11-21

Added a currency property to the ach_account object.

2017-08-31

Added a source_ID property to the charge and refund objects and a /v1/transactions?id={source_id} endpoint to retrieve transactions using source_ID.

Added a reason attribute to the merchant_application.declined event type. This new attribute defines why an application was declined: duplicate_application, duplicate_merchant, or other.

2017-03-28

Added a /charges/{chargeId}/schedule endpoint to create a recurring charge using the details of a previously processed payment (charge object)

2016-03-31

Added a currency property to the merchant_account object

2016-10-09

Added an optional trust_account property to the merchant_account and ach_account objects

2015-04-14

Added a version_conflict error code

2015-03-26

2015-01-27

Added accepted_card_types and swipe policy properties (swipe_cvv_policy, swipe_avs_policy, swipe_ignore_avs_failure_if_cvv_match, swipe_required_payment_fields) to the merchant_account object