Release Notes
Find updates to WePay's API and other products/features here in the Release Notes.
Version | Date Introduced | Upgrade Guide |
---|---|---|
3.2 | 12/15/2022 | Adds the closed Beta Apple Pay feature to a released version. |
3.1.rc.1.3 | 05/01/2023 | Closed BETA version |
3.1.rc.1.1 | 9/16/2022 | Introduces Apple Pay API. Requires access to 3.1 . |
3.1 | 9/15/2022 | Only request this version if you are implementing Onboarding As A Service. |
3.0.rc.2.1 | 9/18/2021 | Introduces Google Pay iFrame and Google Pay API. |
3.0.rc.1.1 | 9/16/2021 | Introduces Onboarding As A Service. Decommissioned -- access in v3.1. |
3.0 | 08/06/2019 | N/A |
2023
August 2023
OverviewAPI Changes | Documentation Changes | Product Changes |
---|---|---|
|
|
|
Added a new CAD provincial business number field
ClearWe 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
ClearWe 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
ClearWe 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
ClearWe 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
OverviewAPI Changes | Documentation Changes | Product 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, CoreAdded 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.
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_codesWRONG_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.
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 thecapture_at
time, or send aPOST /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
ClearUpdated the UI example to illustrate the current KYC flow.
Clarified required version number for Convenience fees
ClearClarified 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
ClearAdded a new section on how to Use Plaid In A Native Mobile App.
Product Changes
Partner Center New Features
- 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
OverviewAPI Changes | Documentation Changes | Product Changes |
---|---|---|
|
|
|
Added new API errors
Clear, CoreThe 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 balanceALREADY_DELETED
-- Indicates that the payout failed to process because the resource has already been deletedBLACKLISTED_ACCOUNT
-- Indicates that the payout failed to process because the account is blacklisted- Reason code
FEE_TYPE_INCOMPATIBLE_WITH_PAYMENT_METHOD
underINVALID_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
underINVALID_PARAMS
-- Indicates that the payout failed to process because the payout reference ID has already been used
Updated field requirement for Sole Proprietors
ClearWhen 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
ClearFor 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
ClearTo 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 SurchargeThe 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
ClearUnreferenced Refunds allow you to return funds not associated with a specific payment to a client. Find out more here.
Added new card funding feature
ClearSpecify 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
ClearWe 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
OverviewAPI Changes | Documentation Changes | Product Changes |
---|---|---|
|
|
|
Added DIGITAL_WALLETS_CERTIFICATE_ERROR
Digital WalletsWe 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
PricingWe 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
PricingWe 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
RiskWe 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
ClearWe 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 WalletsWe 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 WalletsWe have updated our Google Pay guide to clarify that Google Pay does not support CAD at this time.
Enhanced Apple Pay iFrame guide
Digital WalletsWe 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
ClearWe 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 thepending_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 thefailure_reason
structure.
Product Changes
Added a bug notice to KYC in Merchant Center
Merchant CenterWe 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 Pricingcommodity_code
is now a required parameter for Visa transactions when compiling L3 data. You can find a list of required parameters here.
April 2023
OverviewAPI Changes | Documentation Changes | Product Changes |
---|---|---|
|
|
|
Updated the AmEx OptBlue onboarding and offboarding flow
CoreThis 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 101We 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
ClearThe 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
OverviewAPI Changes | Documentation Changes | Product 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 incard_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
OverviewAPI Changes | Documentation Changes | Product 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
OverviewAPI Changes | Documentation Changes | Product 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
ClearThe chargeback lifecycle diagram is now a sequence diagram that users can click on for a closer look.
2022
- December 2022
- November 2022
- October 2022
- September2022
- August 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
December 2022
OverviewAPI Changes | Documentation Changes | Product 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
ClearPartners using CAD platforms can now perform partial captures for payments.
Updated ACH refund guidelines
ClearAny 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
CoreOur Core partners can now sign up for Partner Center to generate app tokens.
November 2022
OverviewAPI Changes | Documentation Changes | Product Changes |
---|---|---|
|
|
|
Added 6300 as a supported MCC for Onboarding As A Service
Onboarding As A ServiceMCC 6300 (Insurance Sales, Underwriting, and Premiums) is now supported for Full Liability Submitter (FLS) submerchants.
Account status tab now Generally Available in Partner Center
ClearThe 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
OverviewAPI Changes | Documentation Changes | Product Changes |
---|---|---|
|
|
|
Specified that primary_exchange
is a required field when creating a legal entity for onboarding-as-a-service -- OaaS
Onboarding as a ServiceThe 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 ServiceFor 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 ServiceThe 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
ClearThe 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
ClearClear'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
ClearClear'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
ClearFor 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
ClearClear 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 WalletsWe have specified 5 steps to creating a test payment with Google Pay.
Created a guide on how to get started with our Postman collection
PostmanThe 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 PresentCard present now provides an image for reference when pairing a Moby 5500 card reader.
Updated the test Employer Identification Number (EIN) Value
ClearThe test EIN value has changed from 123456789 to any 9-digit number except 123456789.
Included a new magic behavior: Underwriting
ClearNew magic values for Upfront Underwriting in the staging environment.
September 2022
OverviewAPI Changes | Documentation Changes | Product 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
CoreCore's Get Started page now includes a review of API basics.
Provided a hardware comparison for Card Present
Card PresentCard 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 PresentThe Store and Forward cookbook now includes instructions on how to use the manual entry function for terminals.
Updated Payment Lifecycles diagrams
Payments 101The 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 CenterThe 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 WalletsPartners 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 CenterA 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
ClearA 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
ClearThe Clear documentation now includes example code on how to embed Merchant Center into your user interface.
Audited Clear documentation for improved accuracy and detail
ClearOur team has been auditing our Clear documentation to check for any typos, broken links, and inaccurate or outdated information.
August 2022
OverviewAPI Changes | Documentation Changes | Product 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 LinkThe 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 PresentCard Present now includes a Store and Forward cookbook.
Added Bar Tabs cookbook
Card PresentCard Present now includes a Bar Tabs cookbook.
Included details on differing dispute and transaction amounts
Payments 101The Disputes Deep Dive now includes information on partial disputes and exchange rate fluctuations.
Updated Google Pay iFrame documentation
Digital WalletsThe 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
ClearContent-Type
is no longer a required header for every API call.It has been removed from the table here.
July 2022
OverviewAPI Changes | Documentation Changes | Product Changes |
---|---|---|
|
|
|
Added error to POST /payments
endpoint
Card PresentThe 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
CoreWePay 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
ClearThe 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 PresentThe documentation has been updated with steps to order Smart POS devices.
Clarified capture requests for Card Present
Card PresentThe documentation now notes that capture requests can only be made once per payment.
Emphasized integrating with session tokens for telemetry
Card PresentThe 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
CoreThe 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
OverviewAPI Changes | Documentation Changes | Product Changes |
---|---|---|
|
|
Clarified the TTL (Time to Live) for micro deposits
ClearThe description of micro deposits now clarifies that micro deposits are only valid for 30 days.
Updated Clear documentation for creating payment methods without iFrames
ClearTokenize 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
ClearThe 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
OverviewAPI Changes | Documentation Changes |
---|---|
Pre-Release
| The New Documentation Has Launched |
New Pre-Release Version 3.0.rc.5.1
ClearUse 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 ServiceOnce 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
April 2022
Overview
API Changes | Documentation Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
New optional Legal Entity field preferred_locale
Link & ClearThe 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-ReleaseThe 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
GatedThe 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 & ClearThe description for this API Notification event topic now clarifies that it can be especially useful for cards enrolled in auto update. When the card issuer indicates that the card no longer exists, then this topic will fire, alerting your platform to the fact that the Payment Method no longer exists.
Upcoming changes to dev.wepay.com
- Refreshed navigation to easily find the content you're looking for
- Reformatted endpoint documentation, with all the parameters for an endpoint on a single page that can be linked to directly while still having the context of the entire request body
- Unified search across articles and the API reference
- Versioned API reference to showcase pre-release versions alongside the latest version (and eventually a historical catalogue of past API versions)
March 2022
No External Releases
February 2022
Overview
API Changes | Documentation Changes |
---|---|
Link & Clear
|
|
API Changes
New failure reason code for POST /refunds
: PAYMENT_IS_DISPUTED
Link & ClearA 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
ClearTo 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-ReleaseNew methods of payment are available in the
accepted_methods_of_payment
structure.RC.1.1 - Updated Canadian methods of payment structure for Interac
Pre-ReleaseThe 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
Clearidentity_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 PresentThe 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-ReleaseGoogle 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 & ClearPayers must accept NACHA rules and WePay Terms of Service for payments with a bank account payment method. If WePay does not send payments-related end-user emails for your platform, then you are responsible for collecting this acceptance.
January 2022
Overview
API Changes | Documentation Changes |
---|---|
Link & Clear
|
|
API Changes
Added PAYMENT.MANUAL_REVIEW_PASSED
notification topic
Link & ClearSubscribe 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 PresentEnhanced 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 & ClearAll 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
ClearUpdated the boolean to be false for
IS_PUBLICALY_TRADED
for legal entities who are subsidiaries for publicly traded companies.2021
- December 2021
- November 2021
- October 2021
- September-2021
- August 2021
- July 2021
- June 2021
- May 2021
- April 2021
- March 2021
- February 2021
- January 2021
December 2021
Overview
API Changes | Documentation Changes |
---|---|
Link & Clear
|
|
API Changes
New detail code for the REVIEW
failed reason code
Link & ClearThe
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-ReleaseThe
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 & ClearThe
object_type
and object_id
descriptions on GET /notifications
have been clarified to indicate that they refer to the changed API object which the Notification describes, as opposed to the Notification itself. These parameters allow you to fetch Notifications which describe a type of API object (with object_type
) or a specific API object (with object_id
).November 2021
Overview
API Changes | Documentation Changes |
---|---|
Link & Clear
|
|
API Changes
New rBit types
Link & ClearRBits can now describe
project
and revenue
types of information.Documentation Changes
Updated example in the 3.0.rc.1.1 API Reference
Pre-ReleaseThe 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 & ClearWhen calling
GET /transaction_records
with the payout_id
query parameter, the default behavior for create_time_start
and create_time_end
are ignored. All transaction records associated with the provided payout_id
will be returned, regardless of when they were created.October 2021
Overview
API Changes | Documentation Changes |
---|---|
Link & Clear
|
|
API Changes
Enhanced constraints for the id
parameter on Notifications
Link & ClearFor 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 PresentBefore, 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-ReleasesFor
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-ReleasesAt 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
GeneralTo 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 & ClearPartial capture is only available for USD transactions. This restriction has been noted throughout the documentation.
Enhanced Card Present documentation for XAC devices
Card PresentFurther detail has been provided in the following areas:
September 2021
Overview
API Changes | Documentation Changes |
---|---|
Card Present
|
|
API Changes
Updated retryable 400 HTTP error
Card PresentThe POINT_OF_SALE_TRANSACTION_NOT_YET_PROCESSED error is now a retryable error.
Pre-Release 3.0.rc.1.1
Pre-ReleaseWePay 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 & ClearWhen 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 ClientsGuides on how to use Onboarding as a Service for payment facilitators and full liability submitters are now available.
August 2021
Overview
API Changes | Documentation Changes |
---|---|
Link & Clear
|
|
API Changes
New Payment Method API Notifications
Link & ClearSubscribe 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 & ClearFind 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 & ClearA 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 & ClearThe
phone
rBit must now include a value for country_code
.Updated SDK & JS handling of duplicate parameters
Link & ClearBefore, 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 & ClearThe
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 & ClearOn the
POST /payments
and POST /payment_methods
, the trigger_verification
parameter creates a $1.00 authorization in the card holder's bank account when set to true
.July 2021
Overview
API Changes | Documentation Changes |
---|---|
Link & Clear
|
|
API Changes
Updated the data format of UNIX timestamps to int64
Link & ClearAll 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 & ClearResolved 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 & ClearThe
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 & ClearCharge merchants a fee per Dispute / chargeback they receive.
New Notification behavior on failed credit card verification
Link & ClearWhen a credit card fails verification, the
payment_methods.updated
API Notification will fire.Updated API errors with the PARAM_IS_REPEATED
reason code
Link & ClearAny API error with the
PARAM_IS_REPEATED
reason code will now include the details
object.New validation of currency permissions
Link & ClearPassing 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 & ClearReceive 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 & ClearAPI 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
ClearValidations 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)
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
ClearThe 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
ClearIndividuals 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 & ClearFetch 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
|
API Changes
New GET /session_tokens
method
Link & ClearFetch a specific
session_token
that has already been created with the GET method.New PARAM_VALUE_MUTUALLY_EXCLUSIVE_BOOLEAN
API Error reason code
Link & ClearThe
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
ClearThe 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
|
API Changes
New MCC Support
Link & ClearAdded 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 & ClearWhen 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 PresentThe
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 PresentPOST /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 PresentThe XAC AT170R device is now available as part of the BETA Smart POS offering.
April 2021
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
Removed card holder address PO Box constraint
Link & ClearBilling 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 & ClearCreating tokens will no longer count agains API throttle limits.
Documentation coming soon
Support for Government Entities and Publicly Traded Companies
Link & ClearGovernment Entity legal forms and public ownership indicators are now supported for Legal Entities.
New KYC Attestation API
ClearProvide attestation details on the Legal Entity when KYC data is submitted, and each time it is updated.
Updated /session_tokens
Schema
Card PresentFor 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 & ClearBehavior 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 & ClearSSN collection for sole proprietors works a bit differently from other entity types and legal forms. Specifics can now be found on the sole_proprietor description in the API reference.
March 2021
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Clear
|
API Changes
New parameters on GET /payments
Link & ClearUse 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 & ClearUse the
expand
query parameter to include Payment Method details for each Refund in the response.New parameters on the Order
s API resource
Link & ClearUse 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 & ClearIf the
Unique-Key
header is not included, the following details will be present in the API error:{
"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 & ClearIf 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
ClearThe new default Clear offering leverages pre-built components to minimize integration effort. Partners who are already integrating are not impacted by this new default, and your product selections will remain the same. Custom components cover items where your platforms owns the user experience and depends on the API exclusively.
February 2021
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Clear
|
API Changes
New Magic Header for 500 HTTP Responses
Link & ClearTo 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
ClearThe 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
ClearTo 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
ClearFor the
operates_in_sanctioned_countries
Legal Entities field, leave the value null
to indicate that the question has not been answered. Send an empty array to indicate that the question has been answered, and that none of the possible country values are applicable to the merchant.January 2021
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
New parameters on the Orders resource
Link & ClearUse 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 anull
value
/orders
- The
account_id
,short_description
, andtype
request parameters are no longer required onPOST /orders/id
- The
delivery_type
(nullable) response parameter may return with anull
value if you did not previously define it
phone.type
(nullable) field, even if it's null
because it was not previously definedNew notification event topic: payout_methods.deleted
ClearWePay 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
ClearAny 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
ClearThis parameter now accepts any regex word characters.
New parameter to specify a printable name for Terminals
Card PresentUse 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 & ClearThe 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 & ClearThe 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
- 12/08/2020
- 11/03/2020
- 10/05/2020
- 09/01/2020
- 08/07/2020
- 07/03/2020
- 06/05/2020
- 05/01/2020
- 04/03/2020
- 03/06/2020
December 2020
Find changes deployed in December 2020 here. Note that previous Release Notes had headers according to when the Release Notes themselves were published.
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
New API Throttle Implementation
Link & ClearAPI 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 & ClearInstead 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 & ClearThe 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
ClearWhen 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
ClearIf 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
ClearThe
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 PresentThe maximum value allowed for percentage guides is 100%.
Currency Structures Only Allow USD
Card PresentCard 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 & ClearMost 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 & ClearThe descriptions for Notification event topics now include links to sample Notification JSON for each.
Updated the description for the paper_check
parameter
ClearPaper check payouts require permission from WePay to implement.
12/08/2020
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
New notification event topics for Merchant IC+
Link & ClearSubscribe 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 PresentEach encoded payment method from the Card Present SDK can only be used on a single Payment API resource.
China Union Pay support
Card PresentChina Union Pay is now a supported card brand for Card Present transactions.
Documentation Changes
AmEx prohibited merchant lists for US and Canada
Link & ClearDue 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 Changes | Doc Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
Updated API Rate Throttling
Link & ClearThe 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 & ClearThe
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 & ClearThe 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
ClearConstraints 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+
ClearThe 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
ClearIt 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
ClearWhen 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
ClearProvide a merchant's business email address on the
email
parameter of the Legal Entities resource.Documentation Changes
Plaid Lightbox Customization
Link & ClearDocumentation for ACH payments now clarifies how to configure the name which gets applied to the Plaid lightbox.
TTL Note (24 hours) on Document Tokens
ClearTypically, 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
ClearTo 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 PresentOnce 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 PresentThe 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 PresentOccasionally, 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 PresentWhile other card brands allow any auth amount for a success, AmEx has specific success values for testing. There is also an error in some of their published documentation, so we have called this out.
10/05/2020
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
Retry-After response header
Link & ClearWhen a 503 HTTP error occurs, WePay will send a Retry-After header.
New issue type for Account Capabilities
Link & ClearA 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 & ClearWhen 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
ClearIf too many documents are added to a given resource, the API error reason
TOO_MANY_DOCUMENTS
will return.maxItems
constraint on POST /disputes/id
ClearOnly 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
ClearParameters 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
ClearThe 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
ClearThe 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 PresentThe 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 & ClearThe 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 & ClearMerchant 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 & ClearThe 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
ClearA 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
ClearThe 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
ClearWe 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
ClearSupporting 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 PresentRequirements for Card Present receipts are now publicly documented.
Mobile Card Reader remembered device context
Card PresentThe Card Present guides for Mobile Card Readers now outlines how to set up a remembered device function.
09/01/2020
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
New notification event topic - payments.updated
Link & ClearSubscribe to the payments.updated notification event topic to receive updates when information on the payment updates.
New Plaid functionality for ACH payments
Link & ClearWePay'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
ClearAs 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 & ClearIn 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 & ClearWePay'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 & ClearReview the updated requirements for fee disclosures, and the required disclosure template.
New recommendation for MCC collection
ClearThe 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
ClearPlatforms supporting merchants outside the United States can now leverage this guide for development deltas.
New guidance on how to set name values
ClearThe Onboard Merchants article now provides guidance on how to set name values for Legal Entities and Accounts. For Legal Entities, the entity_name parameter must have the legal name, not the DBA, as the value. For Accounts, the name parameter can have the DBA as the value.
08/07/2020
Overview
API Changes | Doc Changes |
---|---|
Link & Clear
| Link & Clear
|
API Changes
New ACH verification error
Link & ClearA 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
ClearTo 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
ClearWhen 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 PresentWePay 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 & ClearThe API Basics articles for Link & Clear now specifically call out that WePay resource IDs are case-sensitive.
Update to CAD fee disclosure sample
Link & ClearThe sample Canadian fee disclosure box has been updated to provide more comprehensive information.
Update to Link restrictions & permissions-based feature list
LinkAs 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
ClearAll 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 PresentConfigure the terminal screens for your merchants with your own custom designs.
Mobile card reader pairing guide
Card PresentThis 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 PresentReview 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 & ClearSimplify 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
ClearMore 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
ClearA 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 & ClearThere 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
ClearPlatforms can now charge Merchant IC+ fees for authorizations and refunds, and recurring fees for services rendered by the platform.
Close Accounts
ClearClose Accounts without a DELETE HTTP method.
Terminal Config deferred_auth
is nullable
Card PresentRather 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 controlleraddress.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, thecreate_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 theINVALID_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.
- Developer guide
- GET /billing_statements
- GET /billing_statements/id
- GET /billing_statements/{id}/fees_summary
- GET /billing_statements/{id}/transactions_summary
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.