Release Notes

 

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

VersionDate IntroducedUpgrade Guide
3.212/15/2022Adds the closed Beta Apple Pay feature to a released version.
3.1.rc.1.305/01/2023Closed BETA version
3.1.rc.1.19/16/2022Introduces Apple Pay API. Requires access to 3.1.
3.19/15/2022Only request this version if you are implementing Onboarding As A Service.
3.0.rc.2.19/18/2021Introduces Google Pay iFrame and Google Pay API.
3.0.rc.1.19/16/2021Introduces Onboarding As A Service. Decommissioned -- access in v3.1.
3.008/06/2019N/A


2023

August 2023

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added a new CAD provincial business number field
  • Added a new type of dispute: pre-dispute
  • Clarified which failure reasons mean that an ACH payment method will be deleted by WePay
  • Clarified that the tax_amount field is required for L2 data
  • New Release Notes subscription widget
  • N/A
API Changes

Added a new CAD provincial business number field

Clear

We have added a new field, provincial_business_number, to the /legal_entities endpoint. Canadian Legal Entities may optionally provide their CAN provincial business number, but we highly recommend collecting this as merchant verification rates improve when this data point is present. Canadian Legal Entities other than sole_proprietors are still required to provide business_number.

Added a new type of dispute: pre-dispute

Clear

We have added a new type of dispute, pre_dispute, to our /disputes endpoint. When a pre-dispute occurs, the merchant account is debited and the money is credited to the payer. The merchant does not have the option to challenge or concede in accordance to the Visa Rapid Resolution (RDR) program.


Documentation Changes

Clarified which failure reasons mean that an ACH payment method will be deleted by WePay

Clear

We have added a new column to our ACH Payment Failure Details table titled "Notes". This column specifies which failure reason codes mean that the payment method will be deleted by WePay.

Note that this is a documentation change for the API reference, no changes have been made to the existing API.

Clarified that the tax_amount field is required for L2 data

Clear

We have clarified that the tax_amount field is required for L2 data in our Level 2 and Level 3 pricing guide.

Note that this is a documentation change for the API reference, no changes have been made to the existing API.

New Release Notes subscription widget

We have a new method of subscribing to our Release Notes emails! Fill out the google sheet in our Release Notes page to subscribe to our monthly release notes emails. If you were previously subscribed, no need to resubscribe.

To unsubscribe, email us at docs-feedback@wepay.com requesting to unsubscribe from our Release Notes or click on the "Unsubscribe" link at the bottom of the Release Notes email.



July 2023

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added currency field to GET /billing_statements
  • Updates to API errors
  • Added in_validation_review to issue_type list
  • Update information regarding partial refunds
  • Canadian businesses can submit federal registration numbers
  • Update KYC examples for Sole Proprietor
  • Clarified required version number for Convenience fees
  • Updated integration for using our Plaid iFrame in a native mobile app
  • Partner Center New Features
API Changes

Added currency field to GET /billing_statements

A currency field was added to the query parameters for GET /billing_statements to add CAD support on MIC+

Updates to API errors

Clear, Core

Added error codes:

  • ENCODED_PAYMENT_METHOD_IS_EXPIRED -- The encoded payment method is expired. Please create a new token for the payment method and resubmit the request with the encoded payment method that contains a valid token.
  • INVALID_PLAID_ACCOUNT_ID -- Supplied Plaid account ID does not match the Plaid account ID associated with the Plaid Processor Token. Make sure to either set plaid_account_id to null, or pass in the Plaid account ID associated with the Plaid Processor Token.
  • MISSING_AUTH_ASSERTION_FIELD -- %s is missing in the auth_assertion. Please include app ID, account ID and controller's email in the auth_assertion token.
Error code NOT AUTHORIZED has new reason codes:
  • AUTH_CODE_CANNOT_ACCESS_SCOPE -- The authentication code cannot access the requested scopes. Please ensure the authentication code has the requested scopes.
  • AUTH_CODE_EXPIRED -- The authentication code has expired. Please request a new authentication code by calling POST /authentication_codes
  • WRONG_AUTH_ASSERTION_FIELD -- %s provided in the auth_assertion is wrong. Please ensure the email provided is the controller's email and the account ID provided belongs to the app ID.
Removed error code:
  • POINT_OF_SALE_TRANSACTION_NOT_YET_PROCESSED -- This deferred point of sale transaction has not yet been processed. Please try again later. As applicable, either fetch the capture_at time, or send a POST /payments/{id}/capture request.


Documentation Changes

Added in_validation_review to the list issue_type

The /legal_entities/{id}/verifications endpoint has in_validation_review added to the issue_type list in the response data.

Note that this is a documentation change for the API reference, no changes have been made to the existing API.

Update information regarding partial refunds

Update Merchant Center images under the Issue Refunds section.

Canadian businesses can submit federal registration numbers

Add another condition that BN9 is an additional option for all provinces.
New text reads:

"For merchants other than sole proprietors, we expect their provincial business registration number, as opposed to their federal business registration number. That said, sole proprietors can submit any business registration number available, including federal registration numbers. Each province has a different pattern to expect, as outlined here."

Update KYC examples for Sole Proprietor

Clear

Updated the UI example to illustrate the current KYC flow.

Clarified required version number for Convenience fees

Clear

Clarified that your app must have access to API version 3.1.rc.1.3 to use convenience fees.

Updated integration for using our Plaid iFrame in a native mobile app

Clear

Added a new section on how to Use Plaid In A Native Mobile App.


Product Changes

Partner Center New Features

Partner Center

Partner Level Payout Report
In Reporting-Payouts, Partners can now access their balance information and a chronological history of payouts data back to 2 years. Every record contains specifics such as payout date, amount, recipient bank account, and status.
Merchant-level Payout Reconciliation Modal
In Merchants-Payout, Partners can review comprehensive payout histories for each of their merchants and the transactions associated with each payout to promptly identify and resolve any discrepancies for their merchants.
API Logs Key Work Search
In Developments-API Logs, besides searching by Path, HTTP Method, Date, and Response Status, Partners can now search for API records by key words to accelerate troubleshooting and optimize workflow.



June 2023

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added new API errors
  • Updated field requirement for Sole Proprietors
  • Added new required fields to verify high volume NGOs
  • Fixed styling of code snippets with URLs
  • Added dispute document upload example
  • Added MasterCard rules for Property Rental Surcharge
  • Added new Unreferenced Refunds feature in closed BETA
  • Added new card funding feature
  • Updated acceptable documents to verify a Legal Entity
  • Release-ready Java SDK for our server-side APIs
API Changes

Added new API errors

Clear, Core

The following errors have been added:

  • Error code ACCOUNT_CANNOT_PROCESS_PAYOUTS with the following reason codes:
    • ACCOUNT_NO_BALANCE -- Indicates that the payout failed to process because the account has no balance
    • ALREADY_DELETED -- Indicates that the payout failed to process because the resource has already been deleted
    • BLACKLISTED_ACCOUNT -- Indicates that the payout failed to process because the account is blacklisted
  • Reason code FEE_TYPE_INCOMPATIBLE_WITH_PAYMENT_METHOD under INVALID_PARAMS -- Indicates that the payment failed to process because the fee type is incompatible with the payment method
  • Reason code PAYOUT_REFERENCE_ID_ALREADY_USED under INVALID_PARAMS -- Indicates that the payout failed to process because the payout reference ID has already been used

Updated field requirement for Sole Proprietors

Clear

When onboarding US-based sole proprietors via the API (not the Merchant Center), their full SSN must be provided on the social_security_number field. The last 4 digits of their SSN is no longer sufficient. Find more information here.

Added new required fields to verify high volume NGOs

Clear

For merchants you collect KYC for via the APIs, you'll need to collect additional information from them if they meet certain criteria and have processed $1.2M. Additional fields are now required for this. Find more information here.


Documentation Changes

Fixed styling of code snippets with URLs

Code snippets with a URL now have blue text to help identify them as such. For example.

Added dispute document upload example

Clear

To help illustrate how to tokenize documents, we have provided an interactive example with the dispute document use case. Find the example here.

Added Visa and MasterCard rules for Property Rental Surcharge

Property Rental Surcharge

The Property Rental Surcharge feature is supported for Visa and MasterCard cards, and they have specific rules respectively that must be followed. We have updated the article to include the MasterCard rules. Find MasterCard rules here.


Product Changes

Added new Unreferenced Refunds feature in closed BETA

Clear

Unreferenced Refunds allow you to return funds not associated with a specific payment to a client. Find out more here.

Added new card funding feature

Clear

Specify the type of card funding (i.e. debit or credit) to accept during payment method creation, or identify an existing card's funding source. Find more information here.

Updated acceptable documents to verify a Legal Entity

Clear

We are now only able to manually verify a Legal Entity with government-issued documents. Find more information here.

Release-ready Java SDK for our server-side APIs

Use our newly released Java SDK to integrate with our APIs faster and more easily. Keep in mind this SDK is for server-side capabilities, not a mobile SDK. Find more information here.



May 2023

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added DIGITAL_WALLETS_CERTIFICATE_ERROR
  • Added optional fields to /legal_entities
  • Added Partner Interchange Plus guide as a pricing option
  • Added Property Rental Surcharge Fee guide
  • Added Standard rBits for Leasing Platforms guide
  • Added Disable Prepaid/Gift Card Payment Methods guide
  • Clarified that Google Pay and Apple Pay are closed Beta offerings
  • Clarified that Google Pay does not support CAD at this time
  • Enhanced Apple Pay iFrame guide
  • Added a certification requirements guide for Card on File transactions
  • Added status descriptions to /refunds
  • Added a bug notice to KYC in Merchant Center
  • Updated L2/L3 Pricing commodity_code requirements
API Changes

Added DIGITAL_WALLETS_CERTIFICATE_ERROR

Digital Wallets

We have added a new DIGITAL_WALLETS_CERTIFICATE_ERROR error code to PAYMENT_METHOD_CANNOT_BE_CREATED that returns when your certificates are either expired or incorrect. You can find this error documented here.

Added optional fields to /legal_entities

We have added new optional fields to /legal_entities. These fields include:

  • annual_sales_volume
  • annual_sales_volume_currency
  • average_ticket_size

Please note these fields are not yet ready for use. We will provide more information when available.


Documentation Changes

Added Partner Interchange Plus guide as a pricing option

Pricing

We have created a guide for Partner Interchange Plus, a pricing feature that offers you a more transparent pricing structure. Read more about this option here.

Added Property Rental Surcharge Fee guide

Pricing

We have created a guide for Property Rental Surcharge Fees. Property Rental Surcharge Fees allows you to collect a rental fee directly from the card holder. You can read more about this closed Beta offering here.

Added Standard rBits for Leasing Platforms guide

Risk

We have created a guide for Standard rBits for Leasing Platforms. This feature is currently only available for prerelease version 3.1.rc.1.3. You can read more about this closed Beta offering here.

Added Disable Prepaid/Gift Card Payment Methods guide

Clear

We have created a guide for Disabling Prepaid/Gift Card Payment Methods. This feature is currently only available for prerelease version 3.1.rc.1.3. You can read more about this closed Beta offering here.

Clarified that Google Pay and Apple Pay are closed Beta offerings

Digital Wallets

We have updated our Google Pay and Apple Pay guides to clarify that the payment method types are currently closed Beta offerings.

Clarified that Google Pay does not support CAD at this time

Digital Wallets

We have updated our Google Pay guide to clarify that Google Pay does not support CAD at this time.

Enhanced Apple Pay iFrame guide

Digital Wallets

We have enhanced our Apple Pay iFrame guide with more detail about how to implement the Apple Pay iFrame and what to do with the token.

Added a certification requirements guide for Card on File transactions

Clear

We have added a guide detailing the certification requirements for Card on File transactions. You can find this guide here.

Added status descriptions to /refunds

The /refunds endpoint now includes a list of status enums. The values are as follows:

  • pending: The refund is processing, but the amount has not yet moved from the merchant to the payer's balance. Find more information in the pending_reason structure.
  • completed: The refund is complete, and will now be processed by the payer's banking institution.
  • failed: The refund has failed to process, and the amount remains in the merchant's balance. Find more information in the failure_reason structure.

Product Changes

Added a bug notice to KYC in Merchant Center

Merchant Center

We have added a notice to our Merchant Center documentation that the Resolve Errant Fields feature is temporarily unavailable. For the time being, any KYC resets will prompt the merchant to go through full KYC entry. We apologize for any inconvenience.

Updated L2/L3 Pricing commodity_code requirements

Level 2 and Level 3 Pricing

commodity_code is now a required parameter for Visa transactions when compiling L3 data. You can find a list of required parameters here.



April 2023

Overview
API ChangesDocumentation ChangesProduct Changes
  • Updated the AmEx OptBlue onboarding and offboarding flow
  • Documented more issue_type values
  • Clarified the statement_description behavior
  • Primary URL No Longer Required for KYC
API Changes

Updated the AmEx OptBlue onboarding and offboarding flow

Core

This change is applicable to Core (PayFac) Partners certifying AmEx OptBlue after April 2023.

The sub-merchant can now indicate that they are an AmEx OptBlue partner simply with the presence of the opt_blue object in program in a POST /accounts/id call here. To offboard sub-merchants, you must send another POST /accounts/id request for the appropriate sub-merchant with none as the value for program, rather than the previous behavior of setting opt_blue to null.

Follow this guide for more details on the new flow. For Core (PayFac) Partners certifying AmEx OptBlue before April 2023, you can continue to follow the Legacy Solution.


Documentation Changes

Clarified the statement_description behavior

Payments 101

We have clarified that when statement_description is not set during a POST /accounts call, the default value will set it to null and the charges will display as WPY* [name_of_merchant] in the cardholder's statement. For more information, see the Avoid Disputes section in our Disputes Deep Dive.

Documented more issue_type values

The issue_type field returned after making a POST /accounts/{id}/capabilities call helps identify why a capability was not enabled. The newly documented values include:

  • docs_not_provided: WePay has closed this account due to required docs pending for 30 days.
  • in_validation_review: This account was not auto-validated and it will need a manual review by Wepay.
  • no_method_of_payments_enabled: Processing is rejected due to no method of payments being enabled.
  • underwriting_not_completed: Processing is rejected due to underwriting not being completed.

Note that this is only a documentation change. There is no change in the current API behavior.


Product Changes

Primary URL No Longer Required for KYC

Clear

The primary_url field is no longer required during Know Your Customer (KYC). We will only capture the merchant's website if they indicate that they have one. This change also applies to Partners doing KYC for their merchants via our API.



March 2023

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added v3.1.rc.1.3 as a closed Beta version
  • Added new errors
  • Updated session token Time-To-Live (TTL)
  • Added an optional organization field to POST /accounts
  • Added Property Rental Surcharge Fees pricing policy
  • N/A
API Changes

Added v3.1.rc.1.3 as a closed Beta version

We have added v3.1.rc.1.3 as a closed Beta version. You can find the API reference here.

Added new errors

We added the following errors, which you can find documented in our errors page:

  • PAYOUT_METHOD_CANNOT_BE_VERIFIED: This payout method cannot be verified.
  • TRANSFER_CANNOT_BE_CAPTURED: This transfer cannot be captured.
  • TRANSFER_CANNOT_BE_CREATED: This transfer cannot be created.
  • CARD_FUNDING_VALIDATION_MISMATCH: The card funding information (debit or credit) does not match the expected funding source you defined in card_funding.
  • INVALID_BUSINESS_NUMBER: The business number provided is invalid. Expected the business number for the province '%s' to be in '%s' format.
  • INVALID_INSTITUTION_NUMBER: The institution number is invalid.
  • INVALID_TRANSIT_NUMBER: The transit number is invalid.
  • PREPAID_VALIDATION_MISMATCH: Card type prepaid validation failed.
  • REFUND_HOLD_PERIOD: Failed to process the refund. Refunds of ACH/eCheck payments may only be initiated after %s days from the creation of payment.

Updated session token Time-To-Live (TTL)

Session tokens now have a TTL of 30 minutes, differing from the previous TTL of 24 hours.

Added an optional organization field to POST /accounts

We have added organization as an optional field to POST /accounts. This is a nullable field that allows you to differentiate between types of merchants within your organization's hierarchy. You can find it documented in our v3.1.rc.1.3 API reference.

Note: This field is currently available in closed Beta.


Documentation Changes

Added Property Rental Surcharge Fees pricing policy

We added a Property Rental Surcharge Fees section to Card Network Rules. You can find the pricing policy here.

Note: Property Rental Surcharge Fees is currently a closed Beta feature.



February 2023

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added address_verification field
  • Added a retail merchant transaction type
  • Added new status field for payout_method
  • Changed CAD business number to provincial
  • Added an Apple Pay iFrame guide
  • Fixed a KYC iFrame demo bug
  • Added a 3.2 download option
  • Updated accounts/{id}/capabilities description
  • Added API Notifications to Partner Center
API Changes

Added address_verification field

We added the address_verification field to POST/ payments responses. Possible enum response values include:

  • FULL_MATCH: Address verification was a complete match.
  • PARTIAL_MATCH: Address verification was a partial match.
  • FULL_MISMATCH: Address verification was a mismatch.
  • SKIPPED: Address verification check could not be performed.
  • UNKNOWN: Currently, Unknown AVS code.

Added a retail merchant transaction type

retail is now a possible transaction type for merchant accounts. See the API reference here.

Added new status field for payout_method

We added a new status field to the payout_method endpoint. This new field allows you to see the status of a payout_method verification, with possible values including:

  • active
  • verified
  • unverified
  • pending_verification
  • disabled
  • deleted

Changed CAD business number to provincial

CAD merchants need to provide their provincial business registration number; we no longer expect the federal business verification number. Any existing CAD merchants who provided a federal Canadian business number and who make any updates to their Legal Entity details will need to provide their provincial business number. You can find more information here.


Documentation Changes

Added an Apple Pay iFrame guide

We created an Apple Pay iFrame guide, which you can find here.

Fixed a KYC iFrame demo bug

We fixed a bug that was affecting the use of the KYC iFrame demo. You can use the iFrame here.

Added a 3.2 download option

You can now download our 3.2 version here.

Updated accounts/{id}/capabilities description

The POST /accounts/{id}/capabilities description has been updated to reflect that this endpoint requires permission from WePay to use.


Product Changes

Added API Notifications to Partner Center

You can now receive API notifications in Partner Center. Note that this is currently a Beta feature. You can find more information here.



January 2023

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added status field on payout methods
  • Added new document types
  • v3.1 has two new rbit types: landlord and property
  • Release Notes has a new look!
  • Updated the chargeback life cycle diagram
  • N/A
API Changes

Added status field on payout methods

When calling GET /payout_methods/id, the response payload now includes a status variable that describes the status of the specific payout method. Possible values include active, disabled, and deleted.

Added new document types

25 new document types have been added to the type parameter in the GET /accounts/id response payload. This describes the type of document uploaded and associated with the account. The new values include:

  • drivers_license
  • passport
  • evidence_of_corporate_registration
  • evidence_of_authority
  • current_bank_statement
  • evidence_of_nonprofit_registration
  • social_security_card
  • current_utility_bill
  • other_government_issued_photo_id
  • current_lease_contract
  • birth_certificate
  • not_applicable
  • certificate_of_citizenship
  • permanent_resident_card
  • employment_authorization_card
  • benefits_card
  • social_insurance_number_card
  • miscellaneous_compliance_doc
  • business_report
  • negative_media_searches
  • person_report
  • mortgage_statement
  • certified_copy_of_court_order
  • current_local_tax_bill
  • certificate_of_naturalization

v3.1 has two new rbit types: landlord and property

In v3.1, two new rbit types have been added to the /rbits endpoint's type variable: landlord and property.


Documentation Changes

Release Notes has a new look!

Our Release Notes page is now color-coordinated: API changes are blue, Documentation changes are green, and Product changes are purple for a better visual user experience.

Updated the chargeback life cycle diagram

Clear

The chargeback lifecycle diagram is now a sequence diagram that users can click on for a closer look.



2022

December 2022

Overview
API ChangesDocumentation ChangesProduct Changes
  • API Version 3.2 is now available in Beta
  • Added tracking and invoice as documentation types to the account endpoint
  • Added debit_adjustment value to types of possible disputes
  • Updated ENTERPRISE_CUSTOMER_ID_CANNOT_BE_MODIFIED behavior
  • Partial Capture is now available to CAD Platforms
  • Updated ACH refund guidelines
  • Added note about last_four behavior for bank accounts verified via Plaid
  • Added a list of Merchant Category Codes (MCC) not supported by WePay
  • Added documentation on how to disable AmEx OptBlue registration
  • Clarified merchant account disablement
  • Partner Center is now available for Core partners
API Changes

API Version 3.2 is now available in Beta

Our API Version 3.2 is now available in Beta. This version adds the Apple Pay and Google Pay features. Speak to your WePay integration team to request access.

Added tracking and invoice as documentation types to the account endpoint

We added the values tracking and invoice as documentation types to the account endpoint to fix a bug where these types weren't supported.

Added debit_adjustment value to types of possible disputes

We updated our values of possible dispute types to include debit_adjustment.

Updated ENTERPRISE_CUSTOMER_ID_CANNOT_BE_MODIFIED behavior

We have updated the ENTERPRISE_CUSTOMER_ID_CANNOT_BE_MODIFIED behavior to allow the following use cases:

  • Additional representatives can be added, updated, and deleted
  • Controller details can be updated
  • A legal entity can be created without adding additional representatives, and a later request can add those representatives


Note: enterprise_customer_id is a restricted field.


Documentation Changes

Partial Capture is now available to CAD Platforms

Clear

Partners using CAD platforms can now perform partial captures for payments.

Updated ACH refund guidelines

Clear

Any ACH refund request must be made 7 days after the capture. Any request made within 7 days will be denied.

Added note about last_four behavior for bank accounts verified via Plaid

If you have verified your bank account via Plaid, the last_four variable might return the last four numbers of your tokenized bank account number (TAN) rather than the last four numbers of your actual bank account number. This note is documented here.

Added a list of Merchant Category Codes (MCC) not supported by WePay

Our MCC documentation now includes a list of prohibited account types.

Added documentation on how to disable AmEx OptBlue registration

We have updated our OptBlue documentation to include information on disabling AmEx OptBlue registration. This includes an example request to offboard a sub-merchant from the OptBlue program.

Clarified merchant account disablement

A merchant must complete KYC and settlement information within 30 days of processing a Payment or before reaching $100,000 in processing, otherwise their Payment capability will be disabled.

The merchant then has an additional 30 days to provide their KYC and settlement information before their account is disabled.

This process is documented here.


Product Changes

Partner Center is now available for Core partners

Core

Our Core partners can now sign up for Partner Center to generate app tokens.



November 2022

Overview
API ChangesDocumentation ChangesProduct Changes
  • N/A
  • Added 6300 as a supported MCC for Onboarding As A Service
  • Account status tab is now Generally Available in Partner Center
  • Added context on how to set initiated_by for recurring payments
Documentation Changes

Added 6300 as a supported MCC for Onboarding As A Service

Onboarding As A Service

MCC 6300 (Insurance Sales, Underwriting, and Premiums) is now supported for Full Liability Submitter (FLS) submerchants.

Product Changes

Account status tab now Generally Available in Partner Center

Clear

The Account Status Tab in Partner Center is now Generally Available. Use this feature to quickly understand any issues your merchant may be facing with their KYC status, verification documents, as well as upcoming and current issues.

Added context on how to set initiated_by for recurring payments

Old Description: Indicates who initiated a payment. Possible values include: `customer`, `merchant`, null. **Note:** This parameter defaults to none when creating a payment unless a credit card payment method has "card_on_file": "true". "Card on file" payments default to customer.

New Description: Indicates who initiated a payment. Possible values include: `customer`, `merchant`, null. **Note:** This parameter defaults to none when creating a payment unless a credit card payment method has "card_on_file": "true". "Card on file" payments default to customer. For recurring credit card payments: this parameter should be set to `customer` on the first transaction, and then on subsequent recurring transactions, this parameter should be set to `merchant`. This parameter is not used for recurring ACH payments.",



October 2022

Overview
API ChangesDocumentation ChangesProduct Changes
  • N/A
  • Specified that primary_exchange is a required field when creating a legal entity for onboarding-as-a-service (OaaS)
  • Provided a table of unsupported MCCs for Full Liability Submitter (FLS) Submerchants
  • Provided a table to specify what values to assign certain fields for Publicly Traded Companies (PTCs) vs. Subsidiaries
  • Added a note that when filling out the KYC, progress is not saved.
  • Added a note on how to create recurring ACH transactions and specify the Recurring ACH Payments Policy
  • Published a new cookbook: Card on File
  • Updated images in Clear Get Started to be more accurate to the current flow
  • Clarified that the merchant will have 14 calendar days to submit information before they will be disabled from accepting payments.
  • Specify steps on how to create a test payment with Google Pay
  • Created a guide on how to get started with our Postman collection
  • Included a photo of the Moby 5500 card reader device
  • Updated the test Employer Identification Number (EIN) Value
  • Included a new magic behavior: Underwriting
  • N/A
Documentation Changes

Specified that primary_exchange is a required field when creating a legal entity for onboarding-as-a-service -- OaaS

Onboarding as a Service

The OaaS guide for creating a legal entity now specifies that primary_exchange is a required field. Note that this is a documentation change, no changes have been made to the existing behavior.

Provided a table of unsupported MCCs for Full Liability Submitter (FLS) Submerchants

Onboarding as a Service

For FLS submerchants, we now provide a list of unsupported MCCs.

Note that this is a documentation change, no changes have been made to the existing behavior.

Provided a table to specify what values to assign certain fields for Publicly Traded Companies (PTCs) vs. Subsidiaries

Onboarding as a Service

The table of required legal entity fields for OaaS specifies the primary_exchange field when public_ownership.is_publicly_traded is true.

Added a note that when filling out the KYC, progress is not saved

Clear

The Clear Get Started page now reminds users that when filling out the KYC, progress is not saved.

Note that this is a documentation change, no changes have been made to the existing behavior.

Updated images in Clear Get Started to be more accurate to the current flow

Clear

Clear's Get Started page now has updated images to accurately reflect Partner Center.

Clarified that the merchant will have 14 calendar days to submit information before they will be disabled from accepting payments

Clear

Clear's Onboard Merchants page specifies that merchants will have 14 calendar days to submit information before they will be disabled from accepting payments. After disablement, the merchant will have 30 days to submit the information before we close the Account and issue refunds for any and all payments made up to that point.

Added a note on how to create recurring ACH transactions and specify the Recurring ACH Payments Policy

Clear

For recurring ACH transactions, use the same payment_method_id in the `POST /payments` call for each recurring transaction.

Note that this is only a document change. No new changes have been made to Partner Center as this is already an existing behavior.

Published a new cookbook: Card on File

Clear

Clear now has a Card on File cookbook that discusses some notes when constructing the UI for Card on File.

Specify steps on how to create a test payment with Google Pay

Digital Wallets

We have specified 5 steps to creating a test payment with Google Pay.

Created a guide on how to get started with our Postman collection

Postman

The download page now provides a step-by-step guide on how to get started with our Postman collection.

Included a photo of the Moby 5500 card reader device

Card Present

Card present now provides an image for reference when pairing a Moby 5500 card reader.

Updated the test Employer Identification Number (EIN) Value

Clear

The test EIN value has changed from 123456789 to any 9-digit number except 123456789.

Included a new magic behavior: Underwriting

Clear

New magic values for Upfront Underwriting in the staging environment.



September 2022

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added a new ITIN magic number for testing
  • Published v3.1 API reference
  • New Pre-Release Version v3.1.rc.1.1
  • Updated the 3.0 API reference for /terminals to reflect that last_call_home and terminal_application_version can be null.
  • Included a review of API basics in Core documentation
  • Provided a hardware comparison for Card Present
  • Added instructions on how to use the manual entry function for Store and Forward terminals
  • Updated Payment Lifecycles diagrams
  • Updated our Merchant Center documentation to support the revised Merchant Center
  • Added a new Apple Pay API Implementation guide
  • Specified that data in Partner Center is only stored for 2 years.
  • Specified that we currently have a soft limit of 6 accounts per Legal Entity
  • Added example code for connecting Merchant Center to your custom user interface
  • Audited Clear documentation for improved accuracy and detail
  • N/A
API Changes

Added a new ITIN magic number for testing

We now have a test ITIN magic number: 999-99-9990. You can include this in your KYC credentials when testing in the stage environment.

Published v3.1 API reference

For partners using v3.1, we have now published an API reference for our v3.1 API.


New Pre-Release Version v3.1.rc.1.1

Use our Pre-Release v3.1.rc.1.1 to begin exploring Apple Pay APIs (must have access to 3.1 API).


Documentation Changes

Updated the 3.0 API reference for /terminals to reflect that last_call_home and terminal_application_version can be null.

The 3.0 API reference now reflects that last_call_home can be null if the terminal has never done so. terminal_application_version can also be null.

Note that this is a documentation change for the API reference, no changes have been made to the existing API.


Included a review of API basics in Core documentation

Core

Core's Get Started page now includes a review of API basics.


Provided a hardware comparison for Card Present

Card Present

Card Present now includes a hardware comparison where we compare the dimensions, processor, interface, connectivity, receipt printer, and card interface of different terminals.


Added instructions on how to use the manual entry function for Store and Forward terminals

Card Present

The Store and Forward cookbook now includes instructions on how to use the manual entry function for terminals.


Updated Payment Lifecycles diagrams

Payments 101

The flowcharts previously in Payment Lifecycles have been replaced with sequence diagrams for improved detail.


Updated our Merchant Center documentation to support the revised Merchant Center

Merchant Center

The Merchant Center documentation has been updated to match the revised Merchant Center with up-to-date images to better follow along.


Added a new Apple Pay API Implementation guide

Digital Wallets
Partners who have access to the 3.1 API can follow along the Apple Pay API Implementation guide.

Specified that data in Partner Center is only stored for 2 years.

Partner Center

A note has been added that data will only be stored in Partner Center for two years. If you would like to access the data for longer than two years, you should plan to export it.

Note that this is only a document change. No new changes have been made to Partner Center as this is already an existing behavior.


Specified that we currently have a soft limit of 6 accounts per Legal Entity

Clear

A note has been added to the Clear documentation that there is a current soft limit of 6 accounts per legal entity.

Note that this is only a document change. No new changes have been made to the existing API as this is already an existing behavior.


Added example code for connecting Merchant Center to your custom user interface

Clear

The Clear documentation now includes example code on how to embed Merchant Center into your user interface.


Audited Clear documentation for improved accuracy and detail

Clear

Our team has been auditing our Clear documentation to check for any typos, broken links, and inaccurate or outdated information.



August 2022

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added credit card manual entry function to Store and Forward terminals
  • Added new ACH return fee for Merchant Interchange Plus (MIC+)
  • Updated refund_fee_for_transaction_markup to default to true for MIC+
  • Added enterprise_customer_id fields to the Legal Entity object
  • Added details about calculating fees
  • Added Store and Forward cookbook
  • Added Bar Tabs cookbook
  • Included details on differing dispute and transaction amounts
  • Updated Google Pay iFrame documentation
  • Updated Google Pay API documentation
  • Updated Content-Type header requirements
  • N/A
API Changes

Added credit card manual entry function to Store and Forward terminals

All existing and future Store and Forward terminals will now be able to enter credit card information with the manual entry function and successfully complete offline transactions.


Added new ACH return fee for Merchant Interchange Plus (MIC+)

MIC+ has been updated to allow partners to create a set ACH return fee. The documentation will be updated with this new fee soon.


Updated refund_fee_for_transaction_markup to default to true for MIC+

The refund_fee_for_transaction_markup now defaults to true for MIC+.

Added enterprise_customer_id fields to the Legal Entity object

The Legal Entity object now includes enterprise_customer_id fields.
Documentation Changes

Added details about calculating fees

Clear and Link

The Clear and Link documentation now include examples for charging a variable fee. The documentation also details calculating fees for partners on Interchange Plus (IC+).


Added Store and Forward cookbook

Card Present

Card Present now includes a Store and Forward cookbook.


Added Bar Tabs cookbook

Card Present

Card Present now includes a Bar Tabs cookbook.


Included details on differing dispute and transaction amounts

Payments 101

The Disputes Deep Dive now includes information on partial disputes and exchange rate fluctuations.


Updated Google Pay iFrame documentation

Digital Wallets

The documentation now details different configurations for Google Pay iFrame. It also includes some API request and response examples.


#### Updated Google Pay API documentationDigital Wallets

The Google Pay API documentation no longer instructs partners to send WePay a Google Pay Token to complete the integration certification.


Updated Content-Type header requirements

Clear
Content-Type is no longer a required header for every API call.

It has been removed from the table here.



July 2022

Overview
API ChangesDocumentation ChangesProduct Changes
  • Added error to POST /payments endpoint
  • Added ITIN (Individual Taxpayer Identification Number) support
  • Updated MCC (Merchant Category Code) requirement information
  • Added details about ordering Smart POS devices
  • Clarified capture requests for Card Present
  • Emphasized integrating with session tokens for telemetry
  • Clarified that MATCH screening is mandatory for Core merchants
  • Added instructions on setting up Postman Collection
  • Updated trigger_verification description
  • Updated URLs and fixed formatting issues
  • N/A
API Changes

Added error to POST /payments endpoint

Card Present

The new reason code ENCODED_PAYMENT_METHOD_IS_NOT_INTENDED_FOR_MERCHANT_ACCOUNT has been added to the list of reason codes to account for situations where the terminal or payment method does not match the onboarded merchant account.


Added ITIN (Individual Taxpayer Identification Number) Support

Core
WePay now supports ITINs in the social_security_number field. This change is reflected in the Core documentation and Onboarding as a Service.
Documentation Changes

Added MCC (Merchant Category Code) requirement information

Clear

The documentation now indicates that MCC is immediately required on accounts to enable payments. This change also details using the KYC form to submit MCC information. This change can be found here.


Added details about ordering Smart POS devices

Card Present

The documentation has been updated with steps to order Smart POS devices.


Clarified capture requests for Card Present

Card Present

The documentation now notes that capture requests can only be made once per payment.


Emphasized integrating with session tokens for telemetry

Card Present

The instructions for implementing telemetry have been updated to emphasize the importance of first integrating with session tokens.


Clarified that MATCH screening is mandatory for Core merchants

Core

The Core documentation now reflects that MATCH screening is mandatory for partners.


Added instructions on setting up Postman Collection

The API download documentation has been updated with instructions on how to set up a Postman collection.


Updated trigger_verification description

The description for the trigger_verfication endpoint has been updated to reflect that its behavior changes based upon the situation. The updated descriptions can be found here and here.

Updated URLs and fixed formatting issues

The documentation has been updated for broken URLs and formatting issues. Please contact us with more feedback at docs-feedback@wepay.com.



June 2022

Overview
API ChangesDocumentation ChangesProduct Changes
  • Clarified the TTL (Time to Live) for micro deposits
  • Updated Clear documentation for creating payment methods without iFRames
  • Added retryable errors
  • Updated URLs and fixed formatting issues
  • Clarified that Partner Center's Account Status is in Beta
Documentation Changes

Clarified the TTL (Time to Live) for micro deposits

Clear

The description of micro deposits now clarifies that micro deposits are only valid for 30 days.


Updated Clear documentation for creating payment methods without iFrames

Clear

Tokenize Payment Methods in Clear Permissioned Options has been updated to describe how to create a payment without the credit card iFrame or Plaid integration.


Added retryable errors

Clear
The errors INVALID_PARAMS.CONCURRENT_UNIQUE_KEY_REQUEST_IS_PROCESSING and INVALID_PARAMS.POINT_OF_SALE_TRANSACTION_NOT_YET_PROCESSED have been added to the list of retryable errors.

Updated URLs and fixed formatting issues

The documentation has been updated for broken URLs and formatting issues. Please contact us with more feedback at docs-feedback@wepay.com.


Product Changes

Clarified that Partner Center's Account Status is in Beta

Partner Center's documentation now reflects that the Account Status feature is in Beta.



May 2022

Overview
API ChangesDocumentation 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
API ChangesDocumentation 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
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

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 ChangesDocumentation 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 ChangesDocumentation 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 ChangesDocumentation 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 ChangesDocumentation 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 ChangesDocumentation 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 ChangesDocumentation 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 POINT_OF_SALE_TRANSACTION_NOT_YET_PROCESSED 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 ChangesDocumentation 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 ChangesDocumentation 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 /refundsid 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 ChangesDoc 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.in_review event topic depends on the capture flow of the Payment. These behaviors are now discussed in the description for payments.in_review 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 ChangesDoc 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 ChangesDoc 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 ChangesDoc 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 discount_program_name 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 following phone structure: WePay will always return the phone.type (nullable) field, even if it's null because it was not previously defined

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 ChangesDoc 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 ChangesDoc 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.

11/03/2020

Overview
API ChangesDoc 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 ChangesDoc 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.merchant_category_code 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 ChangesDoc 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 ChangesDoc 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: INVALID_EMPLOYER_IDENTIFICATION_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 /transaction_records, the create_time_start parameter will default to current time -7 days, and the create_time_end parameter will default to the current time. Additionally, the maximum interval between create_time_start and create_time_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`

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

Launched Clear demo app