Below are notable updates or changes to our APIs.
Added captcha
which optionally enables the addition of a captcha to the
payment plugin to help prevent abuse.
Changed the default value for max_attempts
from 0
to 2
.
If there is no handler for the onMaxAttempts
event and it is fired, the
plugin's hosting page will be reloaded.
Added invoice_number
and po_number
support. If the invoice number or PO
number fields are made visible in the payment plugin then these new
properties prepopulate those fields. If those fields are not visible, then the
values will be set on the charge when the payment plugin processes a payment.
New crand branding display that shows all brands accepted when Credit Card payments are accepted. Added detection and branding for JCB, Diners, and UnionPay.
Added payment_methods
, invoice_number
, and po_number
properties that
match how these work in the Payment Plugin.
Updated the convenience_fee
property to match how it works in the Payment
Plugin.
Added automatic light mode and dark mode detection and switching. Enable by
setting appearance.dark_mode.enabled
to true
when creating a plugin
session.
Added color appearance options for dark mode themes.
Added new appearance
properties to support dark themes:
appearance.loader.color
and appearance.loader.background_color
properties set the colors used for the Please Wait animation
appearance.field.color
property to set the text color for input fields
Added the onResize
event for all plugins to inform the hosting page when the plugin is going to resize itself in order to fit content
Added the ability to limit the number of times the user is allowed to submit within a single Payment Plugin session:
Added the max_attempts
property when creating a Payment Plugin session
Added the onMaxAttempts
event when the user has used all attempts without the plugin closing itself due to a success result
Payment Plugin automatically closes itself when the max_attempts
have been used without a success result
Ability to customize communication of form validation errors to the user:
Added the onSubmitError
event, which fires when there is a failure response submitting the Payment Plugin session. The event receives a list of fields that failed validation along with any error message text that will be shown to the user
Added the setValidationErrors
method which allows you to set the error message displayed and the input fields that are highlighted within the Payment Plugin
attributes
and tags
on ChannelsAdded the DELETE method to remove an existing session
Added a tax_amount
property
Added full convenience_fee
support matching what is available for the Payment Plugin
Added a prefix
property to specify which Hosted Payment Page profile to use for a payment session
Added a data
property which is used to pass key/value pairs through to the payment session's Hosted Payment Page to use for macro text replacement
Added the pre_authorization
value to the possible values for charge_type
on POST /v2/charges which
can be used on credit card transactions to create a zero-dollar authorization
request to verify the cardholder information.
Added line_items
to POST /v2/charges
in order to add line item detail to charges for Level III processing.
Added the chargeback
and return
values to the status
query parameter
on GET /v2/charges in order
to search for chargebacks and ACH returns.
Added convenience_fee
and supplemental_fee
to POST /v2/charges/{charge_id}/capture
for setting convenience fees and supplemental fees when capturing a credit
card authorization.
Added processor_messages
to credit card tokenization response on
POST /v2/tokens.
Added tokenize.token_expiration_date
to POST /v2/plugings/payment.
When using the Payment Plugin in tokenization mode you can use this property
to define an expiration date for the new token.
Added Persistent Payment Plugin Sessions which allow more than one action to be performed with the same plugin session.
Added the processor_messages
property to the event object passed to the onSale, onAuthorization, and onTokenize events.
This property is an object that gives AVS and CV checking responses for the payment plugin request. For example:
"processor_messages": {
"avs_response": "passed",
"cv_response": "passed",
"message": "success"
}
status
and status_message
response properties to GET /v2/accounts/{account_id}
which provide the status and additional information about the status the
payment account during the boarding process.attributes
, tags
, account.attributes
, and account.tags
to
POST /v2/plugins/enrollment
in order to apply attributes and tags to Merchants and Accounts created using
the Enrollment Plugin.?expand=distributions
to GET /charges/{charge_id}
which will add a distributions
array on the returned Charge object. The
distributions
array contains all of the distributions the Charge has
appeared in along with the distribution items for the Charge. Expansion of
charge distributions will also be returned when specifying ?expand=all
.tax_authority
and tax_authority_state
properties to POST /accounts
and GET /accounts/{account_id}.
These fields are used to specify the tax authority that is receiving tax
payments through the account. This only applies to accounts with an MCC of 9311.data.account.product_description
,
data.account.processing.max_transaction_amount
, and
data.account.processing.monthly_volume
properties to
POST /plugins/enrollment
which allows prepopulation of the Processing Information section of the
Enrollment Form. Your account must have the
urn:v2:plugins:enrollment:create:prepopulate-processing-info
scope to use
these new properties.max_transaction_amount
property to POST /plugins/payment
when creating a Payment Plugin Session. Use this property to set the maximum
dollar amount the Payment Plugin will allow including fees. This new property
defaults to the max_transaction_amount limit on the merchant account, which
cannot be exceeded.attributes
and tags
support to the Create Payment Plugin Session request.setValues
method has been added to the payment plugin object allowing the hosting page to dynamically set field values in the plugin while it is in use.Content-Type
header is now being set based on the payloadX-Content-Signature
header has also been updated to include the relevant information needed to confirm the signature against the payload.tags
property has been changed from a string to an array of strings.We're excited to release a preview of our Attributes and Tags feature! Attributes and Tags
provide a flexible and intuitive way to attach user-defined data to objects and later retrieve
them based on this data, using the API. Attributes are key value maps ({ "foo": [ "bar" ] }
)
and Tags are comma-separated strings ("foo,bar"
).
The Payment API is the first portion of the API to implement the Attributes and Tags feature,
but we'll be rolling the feature out to other APIs as we mature it. In the meantime check out
the new attributes
and tags
properties when creating
or updating a Charge or Refund.
You can also include tag and attribute values when searching for Charges or Refunds.
tokenize
property
in POST /charges.tokenize
property
in POST /plugins/payment.charge_type
property has been added to the POST to create a
payment plugin session. This property defaults to sale
. If this property
is set to authorization
then the Payment Plugin will perform an
authorization instead of a sale.onAuthorization
event to the Payment Plugin to notify the
hosting page of a successful credit card authorization.tokenization
property has been added to the POST to create a payment
plugin session. See the documentation for more information.onTokenize
event has been added which you can use to receive the token
for the payment account.submit
method has been added to the plugin object allowing you to
trigger the plugin to submit when in embedded mode.fields.submit_button
property allowing you to change the caption
of the primary command button in the plugin if the plugin is in tokenization
mode. You can also use this property to hide the submit button if the plugin
is in embedded mode.chargebacks
category to the total_amounts
object in a
distribution as well as to the category
property in distribution items.supplemental_fee
support when creating and retrieving chargeschargebacks
object to response on Charge Search and Get Charge with
chargeback information if a chargeback has occurred for that transactionstatus
response field when creating an Enrollment Plugin session if
the merchant the session is for has a status that does not allow editingonStatus
plugin event that lets you capture a merchant application's
current status as an event of the plugin in JavaScript