WePay

API Change Log

To receive API change notifications via email, please subscribe to WePay Status updates.


  • * 2015-06-17
    - Added "expiration_month", "expiration_year" and "last_four" response parameters to /credit_card/.
  • * 2015-06-03
    - Added "input_source" response parameter to /credit_card/.
    - Added "payment_method_type" response parameter to /checkout/.
    - Added "payment_method_id" response parameter to /checkout/.
  • * 2015-02-25
    - Renamed user/resend_confirmation call to /user/send_confirmation/.
  • * 2014-08-27
    - Added optional "state" parameter to /withdrawal/find/.
  • * 2014-06-18
    - Added "owner_user_id" parameter to /account response.
  • * 2014-04-23
    - Successful /checkout/create now returns the full checkout object.
    - Added "callback_uri" parameter to /user response.
    - Updated WePay Python SDK version number, added "error_code" parameter before "message" parameter (when the WePayError is raised), and added changelog file.
  • * 2014-03-12
    - In our 2014-04-02 release, we will be rolling out a new UI for merchants on wepay.com to get information about withdrawals to answer the question: "Where is my money?" Read more in our support docs.
  • * 2014-02-12
    - Added optional "tos_acceptance_time" parameter to /user/register.
    - Removed the title on iFrame versions of the /account/get_update_uri page.
    - When passing the "email_message" parameter to /user/resend_confirmation it will remove the default text provided by WePay.
  • * 2014-02-05
    - Simplifying checkout, subscription_charge and withdrawal states by removing state "settled". All checkouts will now go to a final state "captured". We will migrate existing checkouts on 02/19/2014 from state "settled" to state "captured". You can find more info here.
  • * 2014-01-08
    - Released new WePay API Version 2014-01-08 with backwards-incompatible changes. Upgrade soon to get the latest and greatest WePay API functionality.
    - Added optional "country" and "currencies" parameters to /account/create call and returning them for /account, /account/find calls.
    - Added optional "currency" parameter to /checkout/create, /preapproval/create, /withdrawal/create, and /subscription_plan/create calls. Returning "currency" for /withdrawal, /withdrawal/find, /subscription_plan, /subscription_plan/find, and /subscription_charge calls.
  • * 2013-12-11
    - Added ability to delete Google Analytic domains associated with an account by submitting an empty array for gaq_domains parameter to /account/modify call.
  • * 2013-11-13
    - Added "fallback_uri" parameter to /withdrawal/create call.
  • * 2013-11-06
    - Added "original_ip" and "original_device" parameters to /credit_card/create call.
    - Added "capture_time" parameter to the /withdrawal call. This parameter shows the time this withdrawal was sent to the user's bank account.
    - Simplifying withdrawal states to only include 6 instead of 9 states. Removed states "authorized", "cancelled" and "refunded".
  • * 2013-10-30
    - Added "amount_charged_back" and "amount_refunded" parameters to /subscription_charge call.
    - Added batch call tutorial.
    - Added iframe tokenization tutorial.
    - Added iframe section to withdraw tutorial.
    - Released WePay iOS SDK.
  • * 2013-10-23
    - Added "amount_charged_back" parameter to /checkout call.
    - Added "state" parameter to /app call.
    - Added subscriptions related error_codes on error responses to /developer/reference/errors.
    - Renamed "transition_expire_time" parameter to "transition_expire_days" /subscription_plan/modify call.
    - Renamed "transition_expire_time" parameter to "transition_expire_days" /subscription/modify call.
  • * 2013-10-16
    - Added Subscriptions related magic numbers $22.61, $222.61, $2622.61 to help with testing: see testing page.
    - Launching zip-only billing address for US payments. You can enable this option on your app dashboard -> configure tab.
  • * 2013-10-09
    - Added "prorate" parameter to /subscription/modify call.
    - Added "transition_prorate", "transition_quantity" and "transition_subscription_plan_id" parameters to /subscription call.
    - Returning a new type "prorated_charge" for /subscription_charge.
    - Added "end_time", "prorate_time" and "amount_refunded" parameters to /subscription_charge.
    - Changed "state" parameter returned by /subscription_plan, /subscription, /subscription_charge calls to be lowercase. It was incorrectly returning Proper case. Example: state will now be returned as "active" instead of "Active".
  • * 2013-10-02
    - Released WePay Java SDK.
    - Mobile iframe optimizations - wider and taller input fields on mobile screens. Only available for iframe size 300px by 600px.
  • * 2013-09-25
    - Added "soft_descriptor" as a new response parameter for /checkout lookup call. It shows the descriptor that will appear on the payer's credit card statement.
  • * 2013-09-18
    - Introduced the new Subscriptions API (beta release).
    - Added an ability to whitelist application IP addresses on the app dashboard's Configure tab to provide additional security protection.
    - Added new "Event" column to IPN data tab on app dashboard.
    - Added throttle limits for API calls on the app dashboard.
  • * 2013-09-04
    - Added create_time as a return parameter for /account lookup call.
  • * 2013-08-21
    - Added WePay Status website to notify developers about upcoming releases, scheduled maintenance, and un-scheduled issues with stage/production environment.
  • * 2013-08-14
    - Added "mode" response parameter to /checkout and /preapproval calls.
    - Added splash screen when users verify their email after registering using OAuth2
  • * 2013-07-24
    - Added "callback_uri" parameter to /user/register call.
    - Returning state for /account, /account/modify, /account/delete and /account/find calls: active, disabled or deleted.
    - Sending IPN for account state changing to active, disabled or deleted.
  • * 2013-07-17
    - Added "last_checkout_id" and "last_checkout_time" as new response parameters for the /preapproval call.
    - Added "last_checkout_id" paramater to /preapproval/find call.
    - Added "shipping_fee" paramater to /preapproval/find and /checkout/find calls.
    - Started using the "pending" value for verification_state for /account calls.
    - Enforced automatic refunds/cancellation for checkouts with auto_capture=false.
    - Responsive withdrawal flow
  • * 2013-07-10
    - Added "sort_order" parameter to all /xxx/find calls. This allows you to sort the results of the search by time created.
  • * 2013-07-03
    - Added "dispute_uri" response parameter for the /checkout call. Users can visit that uri to dispute a captured or settled checkout.
    - Added new API call: /batch. This allows you to make up to 50 API calls within a single API call.
    - Expanded the /preapproval/find call to allow you to search for preapprovals on an application level instead of just an account level.
    - Added a "Charge a customer" tutorial specifically for platforms.
  • * 2013-06-26
    - Added 3 more retries for IPNs 6, 12 and 24 hours.
    - Added "mcc" parameter to /account/create call. Read more about the mcc parameter at the mcc reference page.
    - Added "payee_from_app" and "payer_from_app" as options for the fee_payer parameter for the /checkout/create and /preapproval/create calls.
  • * 2013-06-19
    - Added new /account call: /account/add_bank. This allows a user to directly add a bank to their account. Also lets a user change their bank account if one was previously set.
    - Added "reason" parameter to /account/delete call so that you can now specify a reason for why you are deleting an account.
  • * 2013-06-12
    - Added "start_time" and "end_time" parameters to /checkout/find call so that you can find all checkouts within a time range.
    - Added more magic numbers to help with testing: see testing page.
  • * 2013-03-13
    - Releasing a popup version of the OAuth2 flow that will allow you to register your users without them ever leaving your site.
  • * 2013-02-27
    - If a charge fails on an auto_recur preapproval we will now automatically retry the payment one day later before sending the failure email to the payer and putting the payment into state stopped. While the preapproval is waiting to be retried, it will be in the new "retrying" state.
    - Payers can now make payments with a bank account in the iframe payment flow.
  • * 2013-02-20
    - Added fallback_uri to /preapproval/create and /checkout/create. The uri that the payer will be redirected to if cookies cannot be set in the iframe; will only work if mode is iframe.
    - Added mode paramater for /withdrawal/create to allow withdrawing in iframe mode. This feature is currently in beta mode.
  • * 2013-02-13
    - Credit card payment descriptors will now be WPY-account_name instead of WePay-account_name to give more space to the account name to increase payment recognition. Please make sure your account names are something recognizable by the payer!
    - We are now exposing specific error_codes on all error responses. This feature is in beta. /developer/reference/errors
    - Adding "disputed_amount" response parameters to the /account/balance call that will let you track the amount of money an account has that is disputed (ex. in chargeback process).
  • * 2013-02-06
    - Adding the /credit_card/find call.
    - The shipping_address will now be persisted from the preapproval object to checkouts created with /checkout/create and a preapproval_id.
    - Onsite checkout and preapproval flow will now support themes.
  • * 2013-01-16
    - Adding a "type" response parameter to the /withdrawal call so you can tell whether the withdrawal is a check or ach withdrawal.
    - Adding "pending_amount" and "reserved" amount response parameters to the /account/balance call.
  • * 2012-12-05
    - Access tokens have prefixes depending on the environment. Existing access tokens will still work and should not be affected.
  • * 2012-11-21
    - Preapprovals will be put into state "completed" once their end_time has passed to indicate that they can no longer be used.
  • * 2012-11-07
    - Added refund_reference_id parameter to /checkout/refund call to provide idempotence guarantee for the call.
  • * 2012-10-31
    - Happy Halloween! - Customers who are registered on WePay, now have the ability to use saved payment methods inside the iframe. The "Log In" link in the iframe will now let customers log in via a popup rather than a full redirect.
  • * 2012-10-24
    - The /account call now returns a verification_uri that you can send the user to to verify their account. - Adding country, region, and postcode parameters to the standard prefill_object. - Adding app_fee parameter to checkout/refund.
  • * 2012-10-17
    - Adding an EVENT type parameter for checkout objects.
  • * 2012-10-10
    - If you do not pass a redirect_uri on the /checkout/create call, we will no longer redirect to your app's homepage. Instead we will show a "payment confirmation" page in the iframe and send your app a postMessage indicating that the payment is complete (so you can close the iframe or take some action). This change is to help JS heavy apps that don't want a full redirect on payment completion.
    - Moderators with edit access on an account can now use their access_token to create checkouts/preapprovals for that account.
    - New magic number $6.61 that can be used to test synchronous authorization failures.
  • * 2012-09-12
    - Added "type" response parameter to /account call. This will be "business", "personal", or "nonprofit".
  • * 2012-08-29
    - Adding "funding_sources" request parameter to the /preapproval/create call.
    - Adding "verification_state" response parameter to the /account and /account/find calls.
    - Adding IPNs to users and accounts.
    - Adding ability to change callback_uri on users, accounts, checkouts, preapprovals, and withdrawals.
    - The "amount" parameter on the /preapproval/create call is now optional.
  • * 2012-08-21
    - By default apps that make more than 150 API calls over 5 seconds will now be throttled.
    - Analytics tab for the API dashboard. - New streamlined withdrawal flow (this change won't affect API calls at all but includes a better user experience).
  • * 2012-08-08
    - Released the new Credit Card Tokenization API
    - The WePay API application fees have been changed
  • * 2012-08-01
    - Standardized the name of all events fired by Google Analytics. All event labels are now in JSON for easy parsing.
  • * 2012-07-25
    - Added user_name parameter to the /user call.
  • * 2012-07-18
    - IPN search now supported in the app management data tab.
  • * 2012-07-11
    - The correct API endpoint is now enforced on stage. https://stage.wepay.com/developer/reference/endpoints We are not enforcing the correct endpoint on production because we do not want to break production apps.
    - App management data tab search and CSV export functionality now supported.
  • * 2012-06-20
    - Released new app management dashboard.
  • * 2012-06-06
    - The /preapproval/create call now supports custom email messages.
    - All incoming HTTP requests now require a user-agent header.
  • * 2012-05-02
    - Publicly releasing our customization engine. See the tutorial for more info.
    - Publicly releasing the new Google Analytics support feature.
    - Fix the /account/balance pending_balance and available_balance response parameters to correctly be of type Number
  • * 2012-04-18
    - Added manage_uri parameter to the /preapproval call. You can send the user to this url to let them update their payment method for the preapproval.
    - Added a link to the preapproval manage_uri to payer checkout confirmation emails if the checkout was created from a preapproval.
  • * 2012-04-11
    - Added create_time parameter to /checkout, /checkout/find, /preapproval and /preapproval/find API calls.
    - Added preapproval_id parameter to /checkout API call for checkouts attached to a preapproval.
  • * 2012-04-04
    - Added payer_name and payer_email parameters to the /preapproval call.
  • * 2012-03-21
    - Renamed email_message parameter on /checkout/create call to payer_email_message (this call will still accept email_message for backwards compatibility).
    - Added payee_email_message parameter to /checkout/create so you can pass a custom message to the payment recipient as well.
    - The /checkout/create call now allows you to charge tax without a shipping address. Tax amount will be based off of billing address.
    - Added "create_time" and "recipient_confirmed" parameters to /withdrawal and /withdrawal/find responeses
  • * 2012-03-14
    - Updated buttons in the iframe checkout flow.
  • * 2012-03-07
    - Added ability to search by preapproval_id on the /checkout/find call.
  • * 2012-02-22
    - API preapprovals can now be auto-recurring (if you pass "auto_recur":true then we will execute the payments automatically every period). This is meant for subscription use cases so you don't need a cron job
  • * 2012-02-15
    - Added new API email template. This template is customizable with the API customization system
    - The withdrawal flow is now customizable as well
  • * 2012-02-08
    - Adding prefill_info parameter to the onsite checkout flow, and to the preapproval flows
    - Allow no-redirect on user completion of iframe checkout, if you pass a URL fragment in your redirect_uri. Make sure you handle this case correctly
    - Final deprecation of v1 API
  • * 2012-02-01
    - Prevent account admins from changing ownership of accounts created by an API app.
  • * 2012-01-11
    - Partial refunds support for /checkout/refund call
    - Allow /withdrawal/find to search for non-api initiated withdrawals
  • * 2011-12-28
    - Updated error message for invalid account_id
  • * 2011-12-21
    - Support for customization in Oauth2 and checkout flows
  • * 2011-11-24
    - Fixed & decoding in redirect_uri (/user/register call)
    - Allow /user/resend_confirmation call even if user access token is revoked
  • * 2011-11-16
    - Added ability to prefill user information in the checkout flow
    - Added /user/resend_confirmation call
    - Updated error message when making calls from an app that was not yet approved
  • * 2011-11-09
    - Fixed html entity decoding in redirect_uri (/user/register call)
  • * 2011-11-02
    - Change /account/find to return all user accounts if the user is the app owner