WooshPay OpenAPI
Product DocumentAPI ReferenceJS SDK ReferenceSaaS Platform Integration
Product DocumentAPI ReferenceJS SDK ReferenceSaaS Platform Integration
Back to WooshPay Website
  1. API Reference
  • API Introduction
  • Error Code
  • Payment Intents
    • Create a PaymentIntent
      POST
    • Update a PaymentIntent
      POST
    • Cancel a PaymentIntent
      POST
    • Capture a PaymentIntent
      POST
    • Confirm a PaymentIntent
      POST
    • Retrieve a PaymentIntent
      GET
    • List all PaymentIntents
      GET
    • Search PaymentIntents
      GET
  • Charges
    • Retrieve a charge
      GET
    • List all charges
      GET
  • Payment Methods
    • Create a PaymentMethod
      POST
    • Retrieve a PaymentMethod
      GET
    • Retrieve a Customer's PaymentMethod
      GET
    • Update a PaymentMethod
      POST
    • List PaymentMethods
      GET
    • List a Customer's PaymentMethods
      GET
    • Attach a PaymentMethod to a Customer
      POST
    • Detach a PaymentMethod from a Customer
      POST
  • Refunds
    • Create a refund
      POST
    • Retrieve a refund
      GET
  • Webhooks
    • Create a Webhook
      POST
    • List All Webhooks
      GET
    • Retrieve a Webhook
      GET
    • Delete a Webhook
      DELETE
    • Update a Webhook
      POST
  • Events
    • Types of events
    • Retrieve an event
  • Files
    • Files
    • Create a file
    • Retrieve a file
  • Disputes
    • Retrieve a dispute
    • Update a dispute
    • Close a dispute
    • List all disputes
  • Payouts
    • Beneficiary
      • Create a beneficiary
      • Retrieve a beneficiary
      • List all beneficiaries
      • Update a beneficiary
      • Delete a beneficiary
    • Payouts
      • Create a payout
      • Retrieve a Payout
      • Update a Payout
      • List All Payouts
  • Balance
    • Get balance
  • Products
    • Create a Product
    • Retrieve a product
    • Update a product
    • List all products
  • Prices
    • Create a price
    • Retrieve a price
    • Update a price
  • Payment Links
    • Create a payment link
    • Update a payment link
    • Retrieve payment link
    • List all payment links
    • Retrieve a payment link's line items
  • Checkout
    • Create a Session
    • Expire a Session
    • Retreive a Session
    • List All Checkout Sessions
    • Retrieve a Checkout Session's line items
  • Customers
    • Create a customer
    • Retrieve a customer
    • Update a customer
  • Invoices
    • Setup Intents
      • Create a SetupIntent
      • Retrieve a SetupIntent
      • Cancel a SetupIntent
      • List all SetupIntents
      • List all SetupAttempts
      • Update a SetupIntent
      • Confirm a SetupIntent
    • Create an invoice
    • Retrieve an invoice
    • Finalize an invoice
    • Send an invoice for manual payment
    • Delete a draft invoice
    • Void an invoice
    • List all invoices
    • Pay an invoice
  • Invoice Items
    • Create an invoice item
    • Retrieve an invoice item
  • Invoice Line Item
    • Bulk add invoice line items
  • Subscriptions
    • Create a subscription
    • Retrieve a subscription
    • Update a subscription
    • Cancel a subscription
    • List subscriptions
  • Subscription Items
    • Create a subscription item
    • Retrieve a subscription item
    • Delete a subscription item
  • Issuing
    • Authorizations
      • Retrieve an authorization
      • List all authorization
    • Cardholders
      • Create a cardholder
      • Update a cardholder
      • Retrieve a cardholder
      • List all cardholders
    • Cards
      • Create a card
      • Update a card
      • Retrieve a card
      • List all cards
      • Retrieve card remaining limits
    • Transactions
      • Update a transaction
      • Retrieve a transaction
      • List all transactions
  • Coupons
    • Create a Coupon
    • Retrieve a coupon
    • Delete a coupon
  • Promotion Code
    • Create a promotion code
    • Update a promotion code
  • Accounts
    • Retrieve account's paymentmethods
  • Fx Quote
    • Create an FX Quote
  1. API Reference

Error Code

Error CodeDescription
account_country_invalid_addressThe country of the business address provided does not match the country of the account. Businesses must be located in the same country as the account.
account_error_country_change_requires_additional_stepsYour account has already onboarded as a Connect platform. Changing your country requires additional steps.
account_invalidThe account ID provided as a value for the header is invalid. Check that your requests are specifying a valid account ID.
account_number_invalidThe bank account number provided is invalid (e.g., missing digits). Bank account information varies from country to country. We recommend creating validations in your entry forms based on the bank account formats we provide.
acss_debit_session_incompleteThe ACSS debit session is not ready to transition to complete status yet. Please try again the request later.
alipay_upgrade_requiredThis method for creating Alipay payments is not supported anymore. Please upgrade your integration to use Sources instead.
amount_too_largeThe specified amount is greater than the maximum amount allowed. Use a lower amount and try again.
amount_too_smallThe specified amount is less than the minimum amount allowed. Use a higher amount and try again.
api_key_expiredThe API key provided has expired. Obtain your current API keys from the Dashboard and update your integration to use them.
authentication_requiredThe payment requires authentication to proceed. If your customer is off session, notify your customer to return to your application and complete the payment. If you provided the error_on_requires_action parameter, then your customer should try another card that does not require authentication.
balance_insufficientThe transfer or payout could not be completed because the associated account does not have a sufficient balance available. Create a new transfer or payout using an amount less than or equal to the account’s available balance.
bank_account_declinedThe bank account provided can not be used to charge, either because it is not verified yet or it is not supported.
bank_account_existsThe bank account provided already exists on the specified Customer object. If the bank account should also be attached to a different customer, include the correct customer ID when making the request again.
bank_account_unusableThe bank account provided cannot be used. A different bank account must be used.
bank_account_unverifiedYour Connect platform is attempting to share an unverified bank account with a connected account.
bank_account_verification_failedThe bank account cannot be verified, either because the microdeposit amounts provided do not match the actual amounts, or because verification has failed too many times.
billing_invalid_mandateThe Subscription or Invoice attempted payment on a PaymentMethod without an active mandate. In order to create Subscription or Invoice payments with this PaymentMethod, it must be confirmed on-session with a PaymentIntent or SetupIntent first.
bitcoin_upgrade_requiredThis method for creating Bitcoin payments is not supported anymore. Please upgrade your integration to use Sources instead.
card_decline_rate_limit_exceededThis card has been declined too many times. You can try to charge this card again after 24 hours. We suggest reaching out to your customer to make sure they have entered all of their information correctly and that there are no issues with their card.
card_declinedThe card has been declined. When a card is declined, the error returned also includes the decline_code attribute with the reason why the card was declined.
cardholder_phone_number_requiredYou must have a phone_number on file for Issuing Cardholders who will be creating EU cards. You cannot create EU cards without a phone_number on file for the cardholder.
charge_already_capturedThe charge you’re attempting to capture has already been captured. Update the request with an uncaptured charge ID.
charge_already_refundedThe charge you’re attempting to refund has already been refunded. Update the request to use the ID of a charge that has not been refunded.
charge_disputedThe charge you’re attempting to refund has been charged back. Check the disputes documentation to learn how to respond to the dispute.
charge_exceeds_source_limitThis charge would cause you to exceed your rolling-window processing limit for this source type. Please retry the charge later, or contact us to request a higher processing limit.
charge_expired_for_captureThe charge cannot be captured as the authorization has expired. Auth and capture charges must be captured within a set number of days (7 by default).
charge_invalid_parameterOne or more provided parameters was not allowed for the given operation on the Charge.
clearing_code_unsupportedThe clearing code provided is not supported.
country_code_invalidThe country code provided was invalid.
country_unsupportedYour platform attempted to create a custom account in a country that is not yet supported. Make sure that users can only sign up in countries supported by custom accounts.
coupon_expiredThe coupon provided for a subscription or order has expired. Either create a new coupon, or use an existing one that is valid.
customer_max_payment_methodsThe maximum number of PaymentMethods for this Customer has been reached. Either detach some PaymentMethods from this Customer or proceed with a different Customer.
customer_max_subscriptionsThe maximum number of subscriptions for a customer has been reached. Contact us if you are receiving this error.
debit_not_authorizedThe customer has notified their bank that this payment was unauthorized.
email_invalidThe email address is invalid (e.g., not properly formatted). Check that the email address is properly formatted and only includes allowed characters.
expired_cardThe card has expired. Check the expiration date or use a different card.
idempotency_key_in_useThe idempotency key provided is currently being used in another request. This occurs if your integration is making duplicate requests simultaneously.
incorrect_addressThe card’s address is incorrect. Check the card’s address or use a different card.
incorrect_cvcThe card’s security code is incorrect. Check the card’s security code or use a different card.
incorrect_numberThe card number is incorrect. Check the card’s number or use a different card.
incorrect_zipThe card’s postal code is incorrect. Check the card’s postal code or use a different card.
instant_payouts_unsupportedThis card is not eligible for Instant Payouts. Try a debit card from a supported bank.
insufficient_fundsThe customer’s account has insufficient funds to cover this payment.
intent_invalid_stateIntent is not in the state that is required to perform the operation.
intent_verification_method_missingIntent does not have verification method specified in its PaymentMethodOptions object.
invalid_card_typeThe card provided as an external account is not supported for payouts. Provide a non-prepaid debit card instead.
invalid_charactersThis value provided to the field contains characters that are unsupported by the field.
invalid_charge_amountThe specified amount is invalid. The charge amount must be a positive integer in the smallest currency unit, and not exceed the minimum or maximum amount.
invalid_cvcThe card’s security code is invalid. Check the card’s security code or use a different card.
invalid_expiry_monthThe card’s expiration month is incorrect. Check the expiration date or use a different card.
invalid_expiry_yearThe card’s expiration year is incorrect. Check the expiration date or use a different card.
invalid_numberThe card number is invalid. Check the card details or use a different card.
invalid_source_usageThe source cannot be used because it is not in the correct state (e.g., a charge request is trying to use a source with a pending, failed, or consumed source). Check the status of the source you are attempting to use.
invoice_no_customer_line_itemsAn invoice cannot be generated for the specified customer as there are no pending invoice items. Check that the correct customer is being specified or create any necessary invoice items first.
invoice_no_payment_method_typesAn invoice cannot be finalized because there are no payment method types available to process the payment. Your invoice template settings or the invoice’s payment_settings might be restricting which payment methods are available, or you might need to activate more payment methods in the Dashboard.
invoice_no_subscription_line_itemsAn invoice cannot be generated for the specified subscription as there are no pending invoice items. Check that the correct subscription is being specified or create any necessary invoice items first.
invoice_not_editableThe specified invoice can no longer be edited. Instead, consider creating additional invoice items that will be applied to the next invoice. You can either manually generate the next invoice or wait for it to be automatically generated at the end of the billing cycle.
invoice_on_behalf_of_not_editableYou cannot update the on_behalf_of property of an invoice after the invoice has been assigned a number.
invoice_payment_intent_requires_actionThis payment requires additional user action before it can be completed successfully. Payment can be completed using the PaymentIntent associated with the invoice. See this page for more details.
invoice_upcoming_noneThere is no upcoming invoice on the specified customer to preview. Only customers with active subscriptions or pending invoice items have invoices that can be previewed.
livemode_mismatchTest and live mode API keys, requests, and objects are only available within the mode they are in.
lock_timeoutThis object cannot be accessed right now because another API request is currently accessing it. If you see this error intermittently, retry the request. If you see this error frequently and are making multiple concurrent requests to a single object, make your requests serially or at a lower rate. See the rate limit documentation for more details.
missingBoth a customer and source ID have been provided, but the source has not been saved to the customer. To create a charge for a customer with a specified source, you must first save the card details.
no_accountThe bank account could not be located.
not_allowed_on_standard_accountTransfers and payouts on behalf of a Standard connected account are not allowed.
order_creation_failedThe order could not be created. Check the order details and then try again.
order_required_settingsThe order could not be processed as it is missing required information. Check the information provided and try again.
order_status_invalidThe order cannot be updated because the status provided is either invalid or does not follow the order lifecycle (e.g., an order cannot transition from created to fulfilled without first transitioning to paid).
order_upstream_timeoutThe request timed out. Try again later.
out_of_inventoryOne or more line item(s) are out of stock. If more stock is available, update the inventory’s orderable quantity and try again.
parameter_invalid_emptyOne or more required values were not provided. Make sure requests include all required parameters.
parameter_invalid_integerOne or more of the parameters requires an integer, but the values provided were a different type. Make sure that only supported values are provided for each attribute. Refer to our API documentation to look up the type of data each attribute supports.
parameter_invalid_string_blankOne or more values provided only included whitespace. Check the values in your request and update any that contain only whitespace.
parameter_invalid_string_emptyOne or more required string values is empty. Make sure that string values contain at least one character.
parameter_missingOne or more required values are missing. Check our API documentation to see which values are required to create or modify the specified resource.
parameter_unknownThe request contains one or more unexpected parameters. Remove these and try again.
parameters_exclusiveTwo or more mutually exclusive parameters were provided. Check our API documentation or the returned error message to see which values are permitted when creating or modifying the specified resource.
payment_intent_action_requiredThe provided payment method requires customer actions to complete, but error_on_requires_action was set. If you’d like to add this payment method to your integration, we recommend that you first upgrade your integration to handle actions.
payment_intent_authentication_failureThe provided payment method has failed authentication. Provide a new payment method to attempt to fulfill this PaymentIntent again.
payment_intent_incompatible_payment_methodThe PaymentIntent expected a payment method with different properties than what was provided.
payment_intent_invalid_parameterOne or more provided parameters was not allowed for the given operation on the PaymentIntent. Check our API reference or the returned error message to see which values were not correct for that PaymentIntent.
payment_intent_mandate_invalidThe provided mandate is invalid and can not be used for the payment intent.
payment_intent_payment_attempt_expiredThe latest payment attempt for the PaymentIntent has expired. Check the last_payment_error property on the PaymentIntent for more details, and provide a new payment method to attempt to fulfill this PaymentIntent again.
payment_intent_payment_attempt_failedThe latest payment attempt for the PaymentIntent has failed. Check the last_payment_error property on the PaymentIntent for more details, and provide a new payment method to attempt to fulfill this PaymentIntent again.
payment_intent_unexpected_stateThe PaymentIntent’s state was incompatible with the operation you were trying to perform.
payment_method_bank_account_already_verifiedThis bank account has already been verified.
payment_method_bank_account_blockedThis bank account has failed verification in the past and can not be used. Contact us if you wish to attempt to use these bank account credentials.
payment_method_billing_details_address_missingThe PaymentMethod’s billing details is missing address details. Please update the missing fields and try again.
payment_method_currency_mismatchThe currency specified does not match the currency for the attached payment method. A payment can only be created for the same currency as the corresponding payment method.
payment_method_invalid_parameterInvalid parameter was provided in the payment method object. Check our API documentation or the returned error message for more context.
payment_method_microdeposit_failedMicrodeposits were failed to be deposited into the customer’s bank account. Please check the account, institution and transit numbers as well as the currency type.
payment_method_microdeposit_verification_amounts_invalidYou must provide exactly two microdeposit amounts.
payment_method_microdeposit_verification_amounts_mismatchThe amounts provided do not match the amounts that were sent to the bank account.
payment_method_microdeposit_verification_attempts_exceededYou have exceeded the number of allowed verification attempts.
payment_method_microdeposit_verification_descriptor_code_mismatchThe verification code provided does not match the one sent to the bank account.
payment_method_microdeposit_verification_timeoutPayment method should be verified with microdeposits within the required period.
payment_method_provider_declineThe payment was declined by the issuer or customer. Check the last_payment_error property on the PaymentIntent for more details, and provide a new payment method to attempt to fulfill this PaymentIntent again.
payment_method_provider_timeoutThe payment method failed due to a timeout. Check the last_payment_error property on the PaymentIntent for more details, and provide a new payment method to attempt to fulfill this PaymentIntent again.
payment_method_unactivatedThe operation cannot be performed as the payment method used has not been activated.
payment_method_unexpected_stateThe provided payment method’s state was incompatible with the operation you were trying to perform. Confirm that the payment method is in an allowed state for the given operation before attempting to perform it.
payment_method_unsupported_typeThe API only supports payment methods of certain types.
payouts_not_allowedPayouts have been disabled on the connected account. Check the connected account’s status to see if any additional information needs to be provided, or if payouts have been disabled for another reason.
platform_api_key_expiredThe API key provided by your Connect platform has expired. This occurs if your platform has either generated a new key or the connected account has been disconnected from the platform. Obtain your current API keys from the Dashboard and update your integration, or reach out to the user and reconnect the account.
postal_code_invalidThe postal code provided was incorrect.
processing_errorAn error occurred while processing the card. Try again later or with a different payment method.
product_inactiveThe product this SKU belongs to is no longer available for purchase.
rate_limitToo many requests hit the API too quickly. We recommend an exponential backoff of your requests.
refer_to_customerThe customer has stopped the payment with their bank. Contact them for details and to arrange payment.
resource_already_existsA resource with a user-specified ID (e.g., plan or coupon) already exists. Use a different, unique value for id and try again.
resource_missingThe ID provided is not valid. Either the resource does not exist, or an ID for a different resource has been provided.
routing_number_invalidThe bank routing number provided is invalid.
secret_key_requiredThe API key provided is a publishable key, but a secret key is required. Obtain your current API keys from the Dashboard and update your integration to use them.
sensitive_data_access_expiredThis information is available for a limited amount of time. If you are receiving this error, that window has passed.
sepa_unsupported_accountYour account does not support SEPA payments.
setup_attempt_failedThe latest setup attempt for the SetupIntent has failed. Check the last_setup_error property on the SetupIntent for more details, and provide a new payment method to attempt to set it up again.
setup_intent_authentication_failureThe provided payment method has failed authentication. Provide a new payment method to attempt to fulfill this SetupIntent again.
setup_intent_invalid_parameterOne or more provided parameters was not allowed for the given operation on the SetupIntent. Check our API reference or the returned error message to see which values were not correct for that SetupIntent.
setup_intent_unexpected_stateThe SetupIntent’s state was incompatible with the operation you were trying to perform.
shipping_calculation_failedShipping calculation failed as the information provided was either incorrect or could not be verified.
sku_inactiveThe SKU is inactive and no longer available for purchase. Use a different SKU, or make the current SKU active again.
state_unsupportedOccurs when providing the legal_entity information for a U.S. custom account, if the provided state is not supported. (This is mostly associated states and territories.)
tax_id_invalidThe tax ID number provided is invalid (e.g., missing digits). Tax ID information varies from country to country, but must be at least nine digits.
taxes_calculation_failedTax calculation for the order failed.
terminal_location_country_unsupportedTerminal is currently only available in some countries. Locations in your country cannot be created in livemode.
testmode_charges_onlyYour account has not been activated and can only make test charges. Activate your account in the Dashboard to begin processing live charges.
tls_version_unsupportedYour integration is using an older version of TLS that is unsupported. You must be using TLS 1.2 or above.
token_already_usedThe token provided has already been used. You must create a new token before you can retry this request.
token_in_useThe token provided is currently being used in another request. This occurs if your integration is making duplicate requests simultaneously.
transfers_not_allowedThe requested transfer cannot be created. Contact us if you are receiving this error.
upstream_order_creation_failedThe order could not be created. Check the order details and then try again.
url_invalidThe URL provided is invalid.
Previous
API Introduction
Next
Create a PaymentIntent
Built with