Release Notes

 

Find updates to WePay's API and other products/features here in the Release Notes.

Version Date Introduced Upgrade Guide
3.0 08/06/2019 N/A

3.0

May 2022

Overview

API Changes Documentation Changes
Pre-Release
  • New Pre-Release Version 3.0.rc.5.1
  • New error PARAM_CANNOT_BE_MODIFIED for Pre-Release Version 3.0.rc.1.1
The New Documentation Has Launched

API Changes

New Pre-Release Version 3.0.rc.5.1

Clear

Use Pre-Release 3.0.rc.5.1 to begin exploring debit and rental pricing APIs with the debit_card and equipment_fees structures on pricing.currencies.USD/CAD.


New error PARAM_CANNOT_BE_MODIFIED for Pre-Release Version 3.0.rc.1.1

Onboarding As A Service

Once a merchant has been onboarded via the Legal Entity and Account APIs, only the following fields may be updated:

  • name
  • description
  • primary_url
  • convenience_fee_amount
  • payout.currencies.USD
  • onboarding_location
  • accepted_method_of_payments.countries.US

Documentation Changes

The New Documentation Has Launched

  • Refreshed navigation
  • Reformatted endpoint documentation
  • Unified search
  • Versioned API reference

Offer us your feedback at docs-feedback@wepay.com.



April 2022

Overview
Link & Clear
  • Edited the description for the payment_methods.deleted API Notification event topic
Upcoming changes to dev.wepay.com:
  • Refreshed navigation
  • Reformatted endpoint documentation
  • Unified search
  • Versioned API reference
API Changes Documentation Changes
Link & Clear
  • New optional Legal Entity field preferred_locale
Pre-Release
  • Permissioned pre-release Legal Entity fields
Permissioned
  • Permissioned Legal Entity and Account field
API Changes
New optional Legal Entity field preferred_locale

Link & Clear

The new optional field preferred_locale can be used to indicate the merchant's regional language preferences. When set, this preference will be used in any emails that WePay sends to/on behalf of that merchant, in addition to that merchant's instance of Merchant Center.

Documentation coming soon.

Gated pre-release Legal Entity fields

Pre-Release

The following fields have been added to version 3.0, but will be moved to a gated pre-release version:

  • has_intermediary_owners
  • managerial_role
  • annual_sales_volume
  • annual_sales_volume_currency
  • average_ticket_size
  • non_delivery_days
  • naics_code

More information and documentation are coming soon.

New gated Legal Entity and Account field referral_details

Gated

The new gated field referral_details allows the onboarding of direct merchants via JP Morgan Chase, and is not currently open for general use.

Documentation coming soon.

Documentation Changes
Edited the description for the payment_methods.deleted API Notification event topic

Link & Clear

The description for this API Notification event topic now clarifies that it can be especially useful for cards enrolled in auto update. When the card issuer indicates that the card no longer exists, then this topic will fire, alerting your platform to the fact that the Payment Method no longer exists.

Upcoming changes to dev.wepay.com
  • Refreshed navigation to easily find the content you're looking for
  • Reformatted endpoint documentation , with all the parameters for an endpoint on a single page that can be linked to directly while still having the context of the entire request body
  • Unified search across articles and the API reference
  • Versioned API reference to showcase pre-release versions alongside the latest version (and eventually a historical catalogue of past API versions)

March 2022

No External Releases

 


February 2022

Overview
API Changes Documentation Changes
Link & Clear
  • New failure reason code for POST /refunds: PAYMENT_IS_DISPUTED
Clear
  • French characters are now allowed on the ​​statement_description parameter
Pre-Releases
  • RC.1.1 - Star, Pulse, Accel, and NYCE are now valid methods of payment
  • Updated Canadian methods of payment structure for Interac
  • Updated documentation for identity_verification and additional_documents_required structures
  • Updated the example amounts for Card Present store and forward configuration
  • Clarified that Google Pay is in BETA and updated the go-live procedure
  • Added Payer NACHA rules acceptance criteria to Clear and Link Process Payments

 

API Changes
New failure reason code for POST /refunds: PAYMENT_IS_DISPUTED

Link & Clear

A new PAYMENT_IS_DISPUTED error will return in the following case: a refund is attempted via the API on a Payment which has a Dispute that is not in either of the resolved states. Once the Dispute is resolved, decide if a refund should be issued.

French characters are now allowed on the ​​statement_description parameter

Clear

To support merchants in French-speaking regions of the United States and Canada, French characters are now accepted in the ​​statement_description parameter of the POST /accounts request.

RC.1.1 - Star, Pulse, Accel, and NYCE are now valid methods of payment

Pre-Release

New methods of payment are available in the accepted_methods_of_payment structure.

RC.1.1 - Updated Canadian methods of payment structure for Interac

Pre-Release

The JSON to enable contact debit and flash/contactless has been updated. The old structure called for card_present.contact.credit and card_present.contact.flash. The new structure calls for card_present.contact.debit and card_present.contactless.debit (i.e. flash).

Documentation Changes
Updated documentation for identity_verification and additional_documents_required structures

Clear

identity_verification is the preferred method of retrieving required actions to complete CIP/KYC verification. Be sure to work with your WePay integration team or technical account manager to get this parameter enabled for your app. Once enabled, it will replace the additional_documents_required parameter.

Updated the example amounts for Card Present store and forward configuration

Card Present

The amounts used the the example configuration request have been updated such that the JSON can be copy/pasted and will be realistic numbers.

RC.2.1 - Clarified that Google Pay is in BETA and updated the go-live procedure

Pre-Release

Google Pay is currently a BETA offering, and your WePay team must enable your application ID for use.

Added Payer NACHA rules acceptance criteria to Link and Clear Process Payments

Link & Clear

Payers must accept NACHA rules and WePay Terms of Service for payments with a bank account payment method. If WePay does not send payments-related end-user emails for your platform, then you are responsible for collecting this acceptance.


January 2022

Overview
API Changes Documentation Changes
Link & Clear
  • Added PAYMENT.MANUAL_REVIEW_PASSED notification topic to list of notification topics.
  • Enhanced query parameter for GET/TERMINALS to return deleted terminal records.
  • Added a detailed description regarding acceptable email length for all emails.
  • Updated the boolean to be false for IS_PUBLICALY_TRADED for legal entities who are subsidiaries for publicly traded companies.

 

API Changes
Added PAYMENT.MANUAL_REVIEW_PASSED notification topic

Link & Clear
Subscribe to notification event topic payment.manual_review_passed in order to stay updated on the status of manual reviews by WePay.

Enhanced query param for GET/ terminals

Card Present
Enhanced query parameter for GET /terminals to return active, inactive, and deleted terminal records. Set the status to deleted when sending a request.

Documentation Changes
Added description regarding acceptable email length

Link & Clear
All domain labels (parts of the email separated by dots) are not to exceed 63 characters. If so, an INVALID_PARAMS error will be thrown.

Updated boolean for IS_PUBLICALY_TRADED

Clear
Updated the boolean to be false for IS_PUBLICALY_TRADED for legal entities who are subsidiaries for publicly traded companies.


2021

 


December 2021

Overview
API Changes Documentation Changes
Link & Clear
  • New detail code for the REVIEW failed reason code
Pre-Releases
  • RC.1.1 - updated formatting of AmEx configurations.se_number to int64
  • Clarified object_type and object_id descriptions

 

API Changes
New detail code for the REVIEW failed reason code

Link & Clear
The other value in detail_code describes scenarios where the WePay team cannot process the payment. When this value returns, your platform's team can reach out to WePay for further information.

RC.1.1 - updated formatting of AmEx configurations.se_number to int64

Pre-Release
The configurations.se_number parameter under AmEx accepted methods of payment was previously formatted as an integer, but is now formatted as int64.

Documentation Changes
Clarified object_type and object_id descriptions

Link & Clear
The object_type and object_id descriptions on GET /notifications have been clarified to indicate that they refer to the changed API object which the Notification describes, as opposed to the Notification itself. These parameters allow you to fetch Notifications which describe a type of API object (with object_type) or a specific API object (with object_id).


November 2021

Overview
API Changes Documentation Changes
Link & Clear
  • New rBit types
  • Updated example in the 3.0.rc.1.1 API Reference
  • Clarity around default behavior for GET /transaction_records

 

API Changes
New rBit types

Link & Clear
RBits can now describe project and revenue types of information.

Documentation Changes
Updated example in the 3.0.rc.1.1 API Reference

Pre-Release
The example in the API reference for 3.0.rc.1.1 is now updated to contain the accepted_methods_of_payment structure.

Clarity around default behavior for GET /transaction_records

Link & Clear
When calling GET /transaction_records with the payout_id query parameter, the default behavior for create_time_start and create_time_end are ignored. All transaction records associated with the provided payout_id will be returned, regardless of when they were created.


October 2021

Overview
API Changes Documentation Changes
Link & Clear
  • Enhanced constraints for the id parameter on Notifications
Card Present
  • Update to the error ENCODED_PAYMENT_METHOD_IS_MALFORMED_OR_INCORRECT
Pre-Releases
  • RC.1.1 - Enhanced API constraints for Full Liability Submitter onboarding
  • RC.1.1 - Updates to fields nested in accepted_method_of_payments
  • New recommendation on API token rotations
  • New call out of the USD restriction on partial capture
  • Enhanced Card Present documentation for XAC devices

 

API Changes
Enhanced constraints for the id parameter on Notifications

Link & Clear
For the id parameter on Notifications, the maximum characters allowed is 225, and the minimum characters allowed is 1.

Update to the error ENCODED_PAYMENT_METHOD_IS_MALFORMED_OR_INCORRECT

Card Present
Before, the error ENCODED_PAYMENT_METHOD_IS_MALFORMED_OR_INCORRECT would only return on requests to the /payments endpoint.

Now, this error will return as needed on the payment_methods endpoint. This will alert those with card on file and other tokenization use cases to identify issues with the payment method sooner.

RC.1.1 - Enhanced API constraints for Full Liability Submitter onboarding

Pre-Releases
For company_name on the ECheck block of accepted_methods_of_payment, the maximum characters allowed is 16, and the minimum characters allowed is 1.

Similarly, description on the ECheck block of accepted_methods_of_payment now has 10 maximum allowed characters and 1 minimum allowed characters.

RC.1.1 - Updates to fields nested in accepted_method_of_payments

Pre-Releases
At this time, only the card_not_present block should be used under each method of payment (e.g. visa, mastercard, jcb, etc). While any parameters listed in the Pre-Release API reference can be sent, they must usually be set to false. In other words, only card not present transactions can be processed for FLS sub-merchants, and they must be credit transactions.

Documentation Changes
New recommendation on API token rotations

General
To ensure ongoing security, WePay recommends rotating your App Token approximately every 3 months. Further instruction can be found in the documentation.

New callout of the USD restriction on partial capture

Link & Clear
Partial capture is only available for USD transactions. This restriction has been noted throughout the documentation.

Enhanced Card Present documentation for XAC devices

Card Present
Further detail has been provided in the following areas:


September 2021

Overview
API Changes Documentation Changes
Card Present
  • Updated retryable 400 HTTP error
Pre-Releases
  • Onboarding as a Service for FLS 3.0.rc.1.1
  • type is required on GET /payment_methods unless page is provided
  • New Onboarding as a Service guides

 

API Changes
Updated retryable 400 HTTP error

Card Present
The POINTOFSALETRANSACTIONNOTYETPROCESSED error is now a retryable error.

Pre-Release 3.0.rc.1.1

Pre-Release
WePay has begun making pre-release APIs available as BETA options for platforms looking for features which are in development. The first pre-release feature available is Onboarding as a Full Liability Submitter. Note that API reference generation for pre-release APIs is currently underway and will be available soon, but the API specs will be documented in pre-release articles in the meantime.

Documentation Changes
type is required on GET /payment_methods unless page is provided

Link & Clear
When sending a GET /payment_methods request, the type query parameter is required if the page query parameter does not have a value. This conditional requirement has been added to the query parameter's description in the API reference.

New Onboarding as a Service guides

CMS Clients
Guides on how to use Onboarding as a Service for payment facilitators and full liability submitters are now available.


August 2021

Overview
API Changes Documentation Changes
Link & Clear
  • New Payment Method API Notifications
  • New GET /refunds query parameters
  • New error code: INVALID_HEADERS
  • Updated phone rBit requirement
  • Updated SDK & JS handling of duplicate parameters
  • DELETE /accounts/{id} restricted access & functionality
  • Clarity on trigger_verification functionality

 

API Changes
New Payment Method API Notifications

Link & Clear
Subscribe to the payment_methods.microdeposit_reminder API Notification event topic in order to receive a reminder that a payer still needs to verify the microdeposits for their ACH payment method. Subscribe to the payment_methods.microdeposit_verification_failed API Notification event topic to track payers who need to submit an alternate form of payment.

New GET /refunds query parameters

Link & Clear
Find refunds within an amount range by sending a GET /refunds request with the minimum_amount and/or the maximum_amount query parameters.

New error code: INVALID_HEADERS

Link & Clear
A new 400 error, INVALID_HEADERS, will return if a request contains multiple App-Id, App-Token, or Api-Version headers.

Updated phone rBit requirement

Link & Clear
The phone rBit must now include a value for country_code.

Updated SDK & JS handling of duplicate parameters

Link & Clear
Before, duplicate parameters could not be passed through the JS library during tokenization and through the server API. This caused issues when a required parameter in the API had already been passed through the JS tokenization process. Now, duplicate parameters can be sent, as long as the values are identical. This is also applicable to the Java SDK and future SDKs, such that requests sent via an SDK can send in a parameter that has already been tokenized.

Documentation Changes
DELETE /accounts/{id} restricted access & functionality

Link & Clear
The DELETE /accounts/{id} endpoint is currently experimental and not available for use by default. Look forward to additional information on how to implement an account deletion flow until this endpoint is generally available.

Clarity on trigger_verification functionality

Link & Clear
On the POST /payments and POST /payment_methods, the trigger_verification parameter creates a $1.00 authorization in the card holder's bank account when set to true.


July 2021

Overview
API Changes Documentation Changes
Link & Clear
  • Updated the data format of UNIX timestamps to int64
  • Removed shipping as an option for delivery_type under orders
  • Updated message on the INVALID_PHONE_NUMBER API error
  • New dispute fee parameter to merchant pricing
  • New Notification behavior on failed credit card verification
  • Updated API errors with the PARAM_IS_REPEATED reason code
  • New validation of currency permissions
  • New error testability for PAYMENT_TOO_OLD
  • New error code UNSUPPORTED_MEDIA_TYPE
Clear
  • Public ownership API validations
  • Clarified instructions on how to implement sanctioned countries
  • The legal_form: individual is now unsupported
  • Guidance around the expand query parameter

 

API Changes
Updated the data format of UNIX timestamps to int64

Link & Clear
All parameters throughout the API referring to a time and containing a UNIX timestamp are now int64. The one exception is the expiration_year parameter on credit card Payment Methods.

Removed shipping as an option for delivery_type under orders

Link & Clear
Resolved a bug where internal data structures would not accept shipping, as it is not applicable to delivery_type. All requests with shipping would return a 400 HTTP error, so the value has been removed from the API schema.

Updated message on the INVALID_PHONE_NUMBER API error

Link & Clear
The message on the INVALID_PHONE_NUMBER API error will now read If a North American country code is provided, then there must be a minimum of 10 digits, with the 1st and 4th digits ranging from 2 to 9.

New dispute fee parameter to merchant pricing

Link & Clear
Charge merchants a fee per Dispute / chargeback they receive.

New Notification behavior on failed credit card verification

Link & Clear
When a credit card fails verification, the payment_methods.updated API Notification will fire.

Updated API errors with the PARAM_IS_REPEATED reason code

Link & Clear
Any API error with the PARAM_IS_REPEATED reason code will now include the details object.

New validation of currency permissions

Link & Clear
Passing any other value besides USD on a POST /payments request requires specific permission from WePay, which will now be validated in the API request. If the permission has not been configured, then the NOT_AUTHORIZED API error will return. Authorizations have been implemented for existing partners.

New error testability for PAYMENT_TOO_OLD

Link & Clear
Receive the PAYMENT_TOO_OLD API error in response to a POST /refunds request in the staging environment. Use the WePay-Magic-Behavior header key with a value of error_payment_too_old.

New error code UNSUPPORTED_MEDIA_TYPE

Link & Clear
API requests typically accept application/json. If a different media type is sent, then the HTTP 415 UNSUPPORTED_MEDIA_TYPE API error will return. Keep in mind that documents should first be tokenized through the JS library.

Public ownership API validations

Clear
Validations for the ticker symbol field:

  • Non-numeric, only letters allowed
  • Upper-Case
  • 5 character limit (indicated in the API reference)
  • Periods and dashes are permitted (i.e. BRK.A, BRK.B, and CSR-C)

Additionally, the stock exchange set in primary_exchange must also be set in the traded_exchanges object. For example, after setting "primary_exchange": "AMEX", a ticker symbol for any exchange other than AMEX will not be accepted.

Documentation Changes
Clarified instructions on how to implement sanctioned countries

Clear
The description for operates_in_sanctioned_countries now more clearly describes that an empty array must be passed to indicate that a merchant has answered that they do not operate in any of the listed sanctioned countries.

The individual value for legal_form is now unsupported

Clear
Individuals are not supported as a merchant type, although the individual value is still listed in the API. Do not provide "individual" to your users as an option in your UI.

Guidance around the expand query parameter

Link & Clear
Fetch the associated Payment Method on GET /payments, /payments/{id}, /refunds, and /refunds{id} requests using the expand query parameter.


June 2021

Overview
API Changes
Link & Clear
  • New GET /session_tokens method
  • New PARAM_VALUE_MUTUALLY_EXCLUSIVE_BOOLEAN API Error reason code
Clear
  • Removed RU from sanctioned countries list

 

API Changes
New GET /session_tokens method

Link & Clear
Fetch a specific session_token that has already been created with the GET method.

New PARAM_VALUE_MUTUALLY_EXCLUSIVE_BOOLEAN API Error reason code

Link & Clear
The PARAM_VALUE_MUTUALLY_EXCLUSIVE_BOOLEAN reason code will return on the INVALID_PARAMS error when two related parameters both take boolean values, but we expect one parameter to have false and the other to have true.

Removed RU from sanctioned countries list

Clear
The bug has been resolved by removing RU from the available enums on the Legal Entity sanctioned countries of operations parameter.


May 2021

Overview
API Changes
Link & Clear
  • Fixed responses with expand query parameter
  • New MCC support
Card Present
  • Fixed Terminal config for credit debit preference
  • New API errors for canceling a Card Present Payment
  • New Card Present hardware

 

API Changes
New MCC Support

Link & Clear
Added new support for the ALL MCC categories. See updated MCC guide for all updated MCC's and descriptions.

Fixed responses with expand query parameter

Link & Clear
When the expand query parameter is set to true on /payments and /refunds endpoints, response objects will now return in descending create_time order.

Fixed Terminal config for credit debit preference

Card Present
The prompt enum value has been removed from the terminal_configuration.contactless_payments.credit_debit_preference parameter. Additionally, the default value is now credit. Note that the prompt value is still present on the terminal_configuration.credit_debit_preference parameter.

New API errors for canceling a Card Present Payment

Card Present
POST /payments/{id}/cancel requests sent 90 minutes after the auth was initiated will fail. As such, the TIME_LIMIT_EXCEEDED reason code has been added to the PAYMENT_CANNOT_BE_CANCELED error.

New Card Present hardware

Card Present
The XAC AT170R device is now available as part of the BETA Smart POS offering.


April 2021

Overview
API Changes Doc Changes
Link & Clear
  • Removed card holder address PO Box constraint
  • Removed JS tokenization from API throttling
  • Support for Government Entities and Publicly Traded Companies
Clear
  • New KYC Attestation API
Card Present
  • Updated /session_tokens Schema
Link & Clear
  • Updated payments.in_review description
  • Updated sole_proprietor description

 

API Changes
Removed card holder address PO Box constraint

Link & Clear
Billing addresses on cards are allowed to be PO boxes. On the other hand, entity and personal verification addresses for merchants must not be a PO box.

Removed JS tokenization from API throttling

Link & Clear
Creating tokens will no longer count agains API throttle limits.

Documentation coming soon

Support for Government Entities and Publicly Traded Companies

Link & Clear
Government Entity legal forms and public ownership indicators are now supported for Legal Entities.

New KYC Attestation API

Clear
Provide attestation details on the Legal Entity when KYC data is submitted, and each time it is updated.

Updated /session_tokens Schema

Card Present
For platforms already using session tokens, the old schema will still be usable so that this is not a breaking change for you. Changes have been made to the schema to eventually support session tokens for iFrames.

Documentation Changes
Updated payments.in_review description

Link & Clear
Behavior for API Notifications after the payments.inreview event topic depends on the capture flow of the Payment. These behaviors are now discussed in the description for payments.inreview event topic.

Updated sole_proprietor description

Link & Clear
SSN collection for sole proprietors works a bit differently from other entity types and legal forms. Specifics can now be found on the sole_proprietor description in the API reference.


March 2021

Overview
API Changes Doc Changes
Link & Clear
  • New parameters on GET /payments
  • New parameters on GET /refunds
  • New parameters on the Orders API resource
  • New error details for POST /payments
  • New reason_code for errors caused by permissions
Clear
  • Updates outlining pre-built and custom components

 

API Changes
New parameters on GET /payments

Link & Clear
Use the expand query parameter to include Payment Method details for each Payment in the response.

Use the minimum_amount and maximum_amount query parameters to filter results based on Payment amount value.

New parameters on GET /refunds

Link & Clear
Use the expand query parameter to include Payment Method details for each Refund in the response.

New parameters on the Orders API resource

Link & Clear
Use the discount_program_name parameter to support discount program tracking for your merchants, and to provide this insight to WePay risk.

Use the tip_amount parameter to identify the portion of a transaction's amount that was for tip.

New error details for POST /payments

Link & Clear
If the Unique-Key header is not included, the following details will be present in the API error:

Copy
Copied
{
  "details": [
    {
      "target": [
        "Unique-Key"
      ],
      "target_type": "HTTP_REQUEST_HEADER",
      "reason_code": "PARAM_IS_MISSING",
      "message": "A required parameter is missing."
    }
  ]
}
New reason_code for errors caused by permissions

Link & Clear
If an API error returns because your WePay API credentials have not been created for the production environment, the reason_code will be PRODUCTION_ACCESS_NOT_ENABLED. For next steps, reach out to your WePay integration team.

Documentation Changes
Updates outlining pre-built and custom components

Clear
The new default Clear offering leverages pre-built components to minimize integration effort. Partners who are already integrating are not impacted by this new default, and your product selections will remain the same. Custom components cover items where your platforms owns the user experience and depends on the API exclusively.


February 2021

Overview
API Changes Doc Changes
Link & Clear
  • New Magic Header for 500 HTTP Responses
Clear
  • New verification errant_field values
  • New indicator for expected merchant transaction volume
Clear
  • New guidance on answering enablement questions via the API

 

API Changes
New Magic Header for 500 HTTP Responses

Link & Clear
To simulate 500 HTTP responses in the stage environment, select either a number of seconds or a number of requests that you would like to see 500's for. For seconds, add a header to a request with the key WePay-Magic-Behavior and the value Idempotency_Retry_{number_of_seconds}. For requests, add a header to a request with the key WePay-Magic-Behavior and the value Idempotency_Downtime_{number_of_requests}. Once the specified number of seconds or requests passes, API responses will resume as normal.

Documentation is coming soon.

New verification errant_field values

Clear
The following reasons for verifications errant_fields issue may now be returned:

  • includes_dba
  • does_not_match_provided_doc
  • does_not_match_government_sources
  • invalid_url

Documentation is coming soon.

New indicator for expected merchant transaction volume

Clear
To enhance merchant protection performed by WePay, send the merchant's projected monthly processing volume on the projected_monthly_transaction_volume Account parameter.

Documentation Changes
New guidance on answering enablement questions via the API

Clear
For the operates_in_sanctioned_countries Legal Entities field, leave the value null to indicate that the question has not been answered. Send an empty array to indicate that the question has been answered, and that none of the possible country values are applicable to the merchant.


January 2021

Overview
API Changes Doc Changes
Link & Clear
  • New parameters on the Orders resource
  • Updated contracts for endpoints
Clear
  • New notification event topic: payout_methods.deleted
  • Paying out merchants with paper checks now requires permission
  • Updated validation for the name parameter on Accounts
Card Present
  • New parameter to specify a printable name for Terminals
Link & Clear
  • Clarified use of auto_capture
  • Fixed authentication header documentation

 

API Changes
New parameters on the Orders resource

Link & Clear
Use the discountprogramname and tip_amount parameters to enhance WePay's understanding of a given transaction associated with an Order.

Updated contracts for endpoints

Link & Clear
/accounts

  • The enhanced_review (nullable) response parameter will now return with a null value

/orders

  • The account_id , short_description , and type request parameters are no longer required on POST /orders/{id}
  • The delivery_type (nullable) response parameter may return with a null value if you did not previously define it

All endpoints which contain the phone structure

New notification event topic: payout_methods.deleted

Clear
WePay will delete a Payout Method if funds cannot be successfully delivered to or recovered from it. Subscribe to the payout_methods.deleted Notification Event Topic so that you can guide merchants on supplying a new Payout Method.

Paying out merchants with paper checks now requires permission

Clear
Any app which currently leverages paper check Payouts will automatically have this permission turned on. If your app would like to leverage paper check Payouts in the future, you must work with your WePay integration team to get this permission turned on.

Updated validation for the name parameter on Accounts

Clear
This parameter now accepts any regex word characters.

New parameter to specify a printable name for Terminals

Card Present
Use the terminal_configuration.receipt_header_merchant_name parameter on POST /terminals and POST /terminals/{id} to specify a merchant name to be printed on receipts.

Documentation Changes
Clarified use of auto_capture

Link & Clear
The description for this parameter now indicates that it can only be used for Payments with a credit card Payment Method.

Fixed authentication header documentation

Link & Clear
The App-Id and App-Token headers are now properly documented as authentication headers. Each endpoint now indicates whether authentication is required, and links to the Authorize Your Client section if so. Examples still include authentication parameters, and they can be modified with the Configure button at the bottom of right-hand examples in the API Reference (as opposed to in the Explore tab).


2020

 

December 2020

Find changes deployed in December 2020 here. Note that previous Release Notes had headers according to when the Release Notes themselves were published.

Overview
API Changes Doc Changes
Link & Clear
  • New API Throttle Implementation
  • Create Orders & Items Inline on POST /payments Requests
  • New Reason Codes for the INVALID_PARAMS Error Code
Clear
  • New error code: ACCOUNT_CANNOT_BE_DELETED
  • New account_deleted Issue Type on Capabilities
  • Deprecated the RESOURCE_CONFLICT Error Code & it’s Corresponding Reason Code
Card Present
  • Added Maximum Values for Terminal Tip Configurations
  • Currency Structures Only Allow USD
Link & Clear
  • Added support for enumeration value descriptions in the API reference
  • Added sample notification JSON for each Notification event topic
Clear
  • Updated the description for the paper_check parameter

 

API Changes
New API Throttle Implementation

Link & Clear
API rate limits (throttles) are now calculated with the sliding window algorithm. Expect additional changes in early 2021.

Create Orders & Items Inline on POST /payments Requests

Link & Clear
Instead of calling 3 endpoints, create Orders, Items, and Payments by making a single request to the POST /payments endpoint and including the order and line_items structures. An Order ID as well as Item IDs for each line_item object included in the request will be returned and will automatically be associated with the Payment.

New Reason Codes for the INVALID_PARAMS Error Code

Link & Clear
The following Reason Codes have been added to the INVALID_PARAMS Error Code:

  • ALREADY_DELETED
  • INVALID_SIGNIFICANT_DONORS
  • INVALID_SIGNIFICANT_BENEFICIARIES_ENTITIES
  • INVALID_SIGNIFICANT_BENEFICIARIES_GEOGRAPHIES
  • INVALID_SIGNIFICANT_BENEFICIARIES_AFFILIATION_ASSOCIATION_TYPE

Documentation coming soon.

New error code: ACCOUNT_CANNOT_BE_DELETED

Clear
When calling the DELETE /accounts/{id} endpoint, the following Reason Codes for the ACCOUNT_CANNOT_BE_DELETED Error Code may return:

  • NON_ZERO_BALANCE
  • HAS_PENDING_PAYMENT
  • NON_ZERO_RESERVE
  • HAS_PENDING_PAYOUT

Documentation coming soon.

New account_deleted Issue Type on Capabilities

Clear
If an Account has been deleted, the issue type account_deleted will return in the Account’s Capabilities.

Deprecated the RESOURCE_CONFLICT Error Code & its Corresponding Reason Code

Clear
The RESOURCE_CONFLICT.ACCOUNT_CANNOT_BE_DELETED Error & Reason Codes have been deprecated. Instead, looks for the Error Code ACCOUNT_CANNOT_BE_DELETED mentioned above.

Added Maximum Values for Terminal Tip Configurations

Card Present
The maximum value allowed for percentage guides is 100%.

Currency Structures Only Allow USD

Card Present
Card Present currently supports USD transactions exclusively, so USD is now the only currency option available in any currency structures related to Card Present.

Documentation Changes
Added support for enumeration value descriptions in the API reference

Link & Clear
Most enumeration values are now defined in the API reference, and any remaining undefined values are currently in development.

Added sample notification JSON for each Notification event topic

Link & Clear
The descriptions for Notification event topics now include links to sample Notification JSON for each.

Updated the description for the paper_check parameter

Clear
Paper check payouts require permission from WePay to implement.


12/08/2020

Overview
API Changes Doc Changes
Link & Clear
  • New notification event topics for Merchant IC+
Card Present
  • New Error Reason Code: ENCODED_PAYMENT_METHOD_CANNOT_BE_REUSED
  • China Union Pay support
Link & Clear
  • AmEx prohibited merchant lists for US and Canada

 

API Changes
New notification event topics for Merchant IC+

Link & Clear
Subscribe to notification event topics billing_statements.charge_failed and billing_statements.charge_succeeded in order to stay updated on the status of fee billing.

New Error Reason Code: ENCODED_PAYMENT_METHOD_CANNOT_BE_REUSED

Card Present
Each encoded payment method from the Card Present SDK can only be used on a single Payment API resource.

China Union Pay support

Card Present
China Union Pay is now a supported card brand for Card Present transactions.

Documentation Changes
AmEx prohibited merchant lists for US and Canada

Link & Clear
Due to AmEx restrictions, WePay will not be able to process for merchants listed on AmEx's excluded merchant lists for the US and Canada. Find these lists under the Prohibited Activities dropdown.

11/03/2020

Overview
API Changes Doc Changes
Link & Clear
  • Updated API Rate Throttling
  • New Notification Event Topics
  • Relaxed Requirements for ACH Payments
Clear
  • New DELETE Method on /accounts/{id}
  • New Document Outreach APIs
  • New Parameter on Legal Entities
  • New Constraints on Merchant Onboarding Parameters
  • New Testability for Merchant IC+
Link & Clear
  • Plaid Lightbox Customization
Clear
  • TTL Note (24 hours) on Document Tokens
  • User-Facing Requirements for Merchant Onboarding Questions
Card Present
  • Time Constraint to Cancel Payments
  • Terminals Enablement Requirements
  • Mobile Card Reader Firmware Update Guide
  • AmEx-specific Testing Values

 

API Changes
Updated API Rate Throttling

Link & Clear
The default API rate throttle has been updated to 30 requests per 10 seconds. Additionally, the throttle now uses the sliding window algorithm.

Relaxed Requirements for ACH Payments

Link & Clear
The country and postal_code parameters are now optional for ACH payment methods. This significantly enhances the Plaid experience, as that information no longer needs to be collected and sent along with the Plaid token in the WePay API.

New Notification Event Topics

Link & Clear
The following Notification Event Topics are now available to subscribe to:

  • accounts.deleted
  • adjustments.updated
  • payout_methods.updated
  • payouts.updated
  • recoveries.updated
  • refunds.updated
New Constraints on Merchant Onboarding Parameters

Clear
Constraints have been added to certain parameters on the Legal Entities resource. Notably, the name parameter cannot contain “WePay” (not case sensitive). Other new constraints include min and maxLength.

Added Testability for Merchant IC+

Clear
The magic header value get_billing_statements_id on the GET /billing_statements/{id} endpoint will return a 200 HTTP with mock JSON. Additionally, the magic header value get_billing_statements_id_transactions_summary on the GET /billing_statements/{id}/transactions_summary endpoint will return a 200 HTTP with mock JSON.

Note: Documentation coming soon

New DELETE Method for /accounts/{id}

Clear
It is now possible to delete an Account. In order to do so, the available balance and pending incoming balance must be $0.00.

New Document Outreach APIs

Clear
When WePay requires documentation from a merchant, it is now possible to identify the types of documentation required, as well as the subject of the documentation (i.e. controller, additional representative, entity).

New Parameter on Legal Entities

Clear
Provide a merchant’s business email address on the email parameter of the Legal Entities resource.

Documentation Changes
Plaid Lightbox Customization

Link & Clear
Documentation for ACH payments now clarifies how to configure the name which gets applied to the Plaid lightbox.

TTL Note (24 hours) on Document Tokens

Clear
Typically, WePay tokens are valid for 30 minutes before they need to be used in the appropriate API resource or else expire. Now, the documentation clarifies throughout that the TTL (time to live) for document tokens is 24 hours.

User-Facing Requirements for Merchant Onboarding Questions

Clear
To enable payouts for a merchant, some questions must be presented to the merchant in a very specific way. Those requirements and recommendations are now documented.

Time Constraint to Cancel Payments

Card Present
Once an authorization has been obtained and a Payment resource has been created, POST /payments/{id}/cancel will only succeed within 90 minutes from the authorization.

Terminals Enablement Requirements

Card Present
The requirements to enable the Terminals capability have been published. Note that this capability is experimental, and changes to requirements may occur.

Mobile Card Reader Firmware Update Guide

Card Present
Occasionally, manufacturers will release required or recommended firmware updates. Your mobile application must be able to handle these notifications and provide merchants the option to update.

AmEx-specific Testing Values

Card Present
While other card brands allow any auth amount for a success, AmEx has specific success values for testing. There is also an error in some of their published documentation, so we have called this out.


10/05/2020

Overview
API Changes Doc Changes
Link & Clear
  • Retry-After response header
  • New issue type for Account Capabilities
  • API-layer routing number validation
Clear
  • New error reason: TOO_MANY_DOCUMENTS
  • maxItems constraint on POST /disputes/{id}
  • Update to accepted parameters in Legal Entity tokenization
  • New custom code for Crimea Region: XX
  • New MCC support
Card Present
  • Input validation for serial_number on Terminals
Link & Clear
  • Note on 30-second API request timeout
  • Note on currency support for Merchant IC+
  • Updated definitions for recurring and debit failure Merchant IC+ fees
Clear
  • How to set Payment fees
  • Updates to variables in sample email templates
  • New Enable Merchants article
  • Handle Verifications for CAD merchants
Card Present
  • Card Present receipt requirements
  • Mobile Card Reader remembered device context

 

API Changes
Retry-After response header

Link & Clear
When a 503 HTTP error occurs, WePay will send a Retry-After header.

New issue type for Account Capabilities

Link & Clear
A new issue type for Account Capabilities, account_closed, has been added. This issue type will return when WePay needs to close an account due to reasons such as negative media, law enforcement requests, politically exposed persons, etc. This issue type can be tested in the stage environment using the account_blocked magic header value.

API-layer routing number validation

Link & Clear
When adding a bank account as an ACH Payment Method with the micro deposit flow (Link & Clear), or as a Payout Method (Clear), the API will validate the routing number. If the value submitted is not a valid routing number, the INVALID_ROUTING_NUMBER API Error Reason Code will return.

New error reason: TOO_MANY_DOCUMENTS

Clear
If too many documents are added to a given resource, the API error reason TOO_MANY_DOCUMENTS will return.

maxItems constraint on POST /disputes/{id}

Clear
Only 5 documents can be uploaded to a Dispute. If more than 5 items are included in the documents array, or the number of documents uploaded to a Dispute ever exceeds 5, then the TOO_MANY_DOCUMENTS error will return. Note: this error is not yet documented.

Update to accepted parameters in Legal Entity tokenization

Clear
Parameters to describe a Legal Entity's country & year of formation, sanctioned countries of operation, and non-domestic beneficiaries, were recently added, and can now be passed in the Legal Entity tokenization call.

New custom code for Crimea Region: XX

Clear
The Crimea Region does not have a 2-digit ISO code, so WePay implemented a custom 2-digit code. If a merchant has operations in Crimea Region, send XX in the sanctioned_countries_of_operation parameter.

New MCC support

Clear
The following can now be sent on the industry.merchantcategorycode parameter: 8734, 7512, 7361, 7011, 5993, 5969, 5921, 5912, & 5122. Note: These MCCs have not yet been documented.

Input validation for serial_number on Terminals

Card Present
The Terminals API now validates the input value for serial_number, which must: have minimum length of 1, have maximum length of 32, match the regular expression ^[a-zA-Z0-9-]+$.

Documentation Changes
Note on 30-second API request timeout

Link & Clear
The WePay API will timeout if a response cannot be executed after 30 seconds. This has now been documented.

Note on currency support for Merchant IC+

Link & Clear
Merchant IC+ is currently available to merchants based in the U.S., while our APIs were designed for the future when support for CAD and GBP will be added. This currency limitation has now been clearly documented.

Updated definitions for recurring and debit failure Merchant IC+ fees

Link & Clear
The documented descriptions for recurring and debit failure fees in Merchant IC+ have been updated in accordance with card network specifications.

How to set Payment fees

Clear
A new section has been added to the Process Payments article. The Calculate Fees section outlines best practices for setting fees, with an emphasis on accounting for WePay processing fees.

Updates to variables in sample email templates

Clear
The variables found in email sample templates have been updated for uniformity, and a section has been added to define each variable.

New Enable Merchants article

Clear
We wanted the required enablement steps to be easy to consume & find in the documentation, so separated this content out into its own article.

Handle Verifications for CAD merchants

Clear
Supporting merchants in Canada requires a slightly different set of rules, and the Supporting Merchants Outside the United States article has been updated with additional information on Canadian merchants.

Card Present receipt requirements

Card Present
Requirements for Card Present receipts are now publicly documented.

Mobile Card Reader remembered device context

Card Present
The Card Present guides for Mobile Card Readers now outlines how to set up a remembered device function.


09/01/2020

Overview
API Changes Doc Changes
Link & Clear
  • New notification event topic - payments.updated
  • New Plaid functionality for ACH payments
Clear
  • New parameters to verify merchants
Link & Clear
  • New API request retry design guide
  • New refund policy requirement
  • Update to Merchant IC+ fee disclosure requirements
Clear
  • New recommendation for MCC collection
  • New Canada-specific guide
  • New guidance on how to set name values

 

API Changes
New notification event topic - payments.updated

Link & Clear
Subscribe to the payments.updated notification event topic to receive updates when information on the payment updates.

New Plaid functionality for ACH payments

Link & Clear
WePay's Plaid integration now offers easy ACH payments for merchants and bank accounts based in the United States. Leverage the WePay JS to initiate the Plaid pop up, where users can either login to their financial institution or opt for the micro deposit flow.

New parameters to verify merchants

Clear
As a continuation from the merchant verification updates made last month, WePay has added the significant_beneficiaries.affiliations parameter. This is only required to verify high volume NGOs and charities.

Documentation Changes
New API request retry design guide

Link & Clear
In addition to idempotency information in the API Basics article, leverage this new guide to implement a successful API retry strategy for 5XX HTTP errors.

New refund policy requirement

Link & Clear
WePay's Legal Certification now provides requirements for merchant and partner refund policies. Partners and merchants on blended rate pricing can implement their own refund policy, but those on Merchant IC+ pricing must implement the refund policy outlined by WePay.

Update to Merchant IC+ fee disclosure requirements

Link & Clear
Review the updated requirements for fee disclosures, and the required disclosure template.

New recommendation for MCC collection

Clear
The Onboard Merchants article now recommends when to collect MCC. WePay recommends collecting MCC along with the immediate requirements to enable payments.

New Canada-specific guide

Clear
Platforms supporting merchants outside the United States can now leverage this guide for development deltas.

New guidance on how to set name values

Clear
The Onboard Merchants article now provides guidance on how to set name values for Legal Entities and Accounts. For Legal Entities, the entity_name parameter must have the legal name, not the DBA, as the value. For Accounts, the name parameter can have the DBA as the value.


08/07/2020

Overview
API Changes Doc Changes
Link & Clear
  • New ACH verification error
Clear
  • New merchant verification requirements
  • Change in ownership feature
Card Present
  • Limited availability Terminal models
Link & Clear
  • New information on resource IDs
  • Update to CAD fee disclosure sample
Link
  • Update to Link restrictions & permissions-based feature list
Clear
  • Merchant IC+ refund policy
Card Present
  • Terminal custom screen spec guide
  • Mobile card reader pairing guide
  • New guide for processing 1 transaction with 2+ cards

 

API Changes
New ACH verification error

Link & Clear
A new error reason code has been implemented in order to provide more information when attempts to verify an ACH payment method have permanently failed. The new reason code is VERIFICATION_FAILED_PERMANENTLY.

New merchant verification requirements

Clear
To enhance protection of your platform, payers, and merchants, WePay is requiring new verification fields for all merchants onboarded after September 1, 2020.

Change in ownership feature

Clear
When an individual's information (such as address) changes, or when an individual joins/leaves an organization, that information should be updated via the API. Learn more about the restrictions and expectations for this feature below.

Limited availability Terminal models

Card Present
WePay now offers the Ingenico Lane 3000 and XAC AT170R on a limited availability basis. Development is still underway, so these terminal models will only be available in the Stage environment for the time being. Reach out to your WePay integration team or technical account manager for more information.

Documentation Changes
New information on resource IDs

Link & Clear
The API Basics articles for Link & Clear now specifically call out that WePay resource IDs are case-sensitive.

Update to CAD fee disclosure sample

Link & Clear
The sample Canadian fee disclosure box has been updated to provide more comprehensive information.

Update to Link restrictions & permissions-based feature list

Link
As new features have been released, additional items have been added to the Link restrictions & permissions-based features lists. Review these items below.

Merchant IC+ refund policy

Clear
All partners leveraging the Merchant IC+ pricing model must implement the outlined refund policy. Additionally, partners charging fees for refunds must disclose that fee to merchants.

Terminal custom screen spec guide

Card Present
Configure the terminal screens for your merchants with your own custom designs.

Mobile card reader pairing guide

Card Present
This new guide provides a detailed walk through of how to pair both the Moby 5500 and the RP457c AudioJack card readers.

New guide for processing 1 transaction with 2+ cards

Card Present
Review the recommended process for processing a single transaction using multiple authorizations. This case can come up when a customer has a limited balance on one card (like a gift card) and then needs to use a second card to pay the remaining balance.


07/03/2020

New Card Present solution: Mobile Card Readers

Link & Clear
Simplify your Card Present integration and minimize your API usage by eliminating device and configuration management. Note that keyed card entry and receipt printing are not available in the Mobile Card Reader Solution.

New API error: INVALIDEMPLOYERIDENTIFICATION_NUMBER

Clear
More specific information is returned with the INVALID_PARAMS error when the submitted EIN is not in a valid format on Legal Entity requests.

Merchant IC+ fee disclosure

Clear
A legally required component of Merchant IC+, fee disclosures must be presented to merchants prior to acceptance of pricing terms. Save agreements and leverage the document upload JS to meet this requirement.


06/05/2020

Build Payment Support Tools

Build payment-specific support tools for your team as required from Clear partners.

Account Capability for Terminals

Link & Clear
There is now a Capability indicating whether a merchant can leverage a Terminal for Card Present transactions. If your platform has not integrated Card Present transactions, then your merchants' Terminal Capability will never be enabled. This Capability only impacts a merchant's ability to use Terminals, and has no impact on web-based processing.

Merchant IC+ auth, refund, & recurring fees

Clear
Platforms can now charge Merchant IC+ fees for authorizations and refunds, and recurring fees for services rendered by the platform.

Close Accounts

Clear
Close Accounts without a DELETE HTTP method.

Terminal Config deferred_auth is nullable

Card Present
Rather than customizing the deferred_auth options for Terminals, fallback to the defaults by not passing the structure.


05/01/2020

503 HTTP Error

WePay's API will now return 503 HTTP errors when a known error occurs and the request can be tried again at a later time.

Transaction Records custom_data

Transaction Records can now be updated with custom_data to help platforms customize reporting. For instance, create your own custom categories, such as "tips", "subscriptions", and "carts" and then organize transaction records in your own database according to that custom_data tag.

CodePen Assets

WePay's first CodePen is live and embedded in the developer docs.

Transaction Records Descriptions

Transaction Record parameters on other resources now have updated descriptions to provide more context and specificity. For instance, Transaction Record parameters on a Dispute lookup identify more accurately exactly what that portion of the transaction represents.

Merchant IC+ Updates

The Merchant IC+ article has been updated. Deltas include:

  • Enhanced definition of and differentiation between IC+ and Merchant IC+
  • Updated process flow to Bill Merchants
  • Updated process flow to Reconcile Data

04/03/2020

Recovery development guide

Documentation on API Recoveries is now available.

Credit card iFrame styling

The credit card iFrame now supports styling the color of errors.

Restricted regions

The following values will return an error if submitted for entity or controller address.region for US-based merchants:

  1. PR
  2. VI
  3. AA
  4. AE
  5. AP

This restriction is applicable to both Link and Clear merchants, but only partners integrating WePay's Clear solution need to develop against it.

Updated R10 & R11 ACH return codes

NACHA has updated the meaning for R10 and R11 ACH return codes. This update provides more specificity and differentiation, allowing enhanced insight into the status of attempted payments, and next steps.

Recurring and authorization MIC+ fees

MIC+ now supports recurring and authorization fees. Charge merchants recurring fees (i.e. for subscription/membership), as well as fees per authorization (regardless of authorization result).

Level 2 & Level 3 Processing

WePay now supports L2/L3 processing. Reduce Dispute volume for your merchants by providing more transactional information upfront.


03/06/2020

SSL Certificates

The Security Certification now outlines recommendations (not requirements) about the kind of SSL certificate to use.

Credit Card iFrame Styling

More styling options are now available for the credit card iFrames.

Paper Check Payouts

WePay now supports paper check Payouts for merchants in the US.
Important: Using a value of daily on the period parameter when setting up Payouts on an Account and when the Payout Method is paper check is only intended for resolving one-time Payouts for merchants. Sending daily paper check Payouts to a single merchant more than once in a given week will incur additional costs for your platform.

Sane Defaults to Fetch Transaction Records

On GET /transactionrecords, the `createtimestartparameter will default to current time -7 days, and thecreatetimeendparameter will default to the current time. Additionally, the maximum interval betweencreatetimestartandcreatetime_end` is 35 days.

Reference IDs on Individuals

The API now supports adding reference IDs on a Legal Entity's controller and additional representatives. This is intended to help identify unique users in your platform's system.

New Errors

The following API error reasons have been added to the INVALID_PARAMS error code:

  1. AGE_SMALLER_THAN_MINIMUM_REQUIRED
  2. INVALID_PHONE_NUMBER
  3. INVALID_URL
  4. TRANSACTION_TYPE_MISSING_FOR_RECURRING_FEE
  5. Error Reference

2019

 

12/20/2019

Update to Required Emails

TOS and Privacy Policy emails in the “User management, security, and compliance” section of Clear Required Emails has been moved to “Emails Sent By WePay.” These emails are specifically regarding updates to WePay TOS and Privacy Policy.


12/13/2019

KYC iFrame

Clear partners can now use KYC iFrames rather than building out KYC UIs. This alleviates partner effort in developing to regulation with regards to KYC collection, and also removes the need for a partner’s servers to interact with PII data.

Update to CIP/KYC Certification

Updates include:

  • KYC collection sample UIs
  • New sole proprietor and individual requirements
  • Removal of FinCEN information
  • Changed requirements for controller information, government identification number, and merchant entity type

It is recommended to review this certification to ensure that any previous development is still in compliance.

Test Credentials

Platforms integrating with WePay can now leverage test KYC credentials in the stage environment.


12/05/2019

Update to Card Network Rules Certification

Added a new recommendation in addition to the 12 transaction receipt data requirements.


11/27/2019

Guide to Recurring Billing

Recurring billing allows for subscription payments, monthly donations, and other interval-based payment use cases. While WePay supports platforms which rely on recurring billing, platforms must build the infrastructure and manage recurrence.


11/15/2019

MIC+ Limited Launch

MIC+ is available for select platforms. MIC+ allows for cheaper processing by billing exact fees as opposed to using a generic all-encompassing fee.


11/08/2019

Application Block

The API now has a permission-required parameter on POST /accounts/{id}/capabilities. This parameter allows the platform to block either an Account’s Payment or Payout capability.


11/06/2019