Testing

 Use the following credentials and values to test your integration with WePay's API prior to launch. Test in our staging environment: https://stage.wepay.com/. Staging is an exact copy of our production environment, except that credit cards and bank accounts are not actually charged.

Payment Method Test Credentials Overview

Credit card and bank account payment method test credentials allow you to safely test WePay's API in our stage environment without sending real credit card numbers, bank account numbers, or funds with your calls. The API will treat your stage calls with these credentials just as valid calls in production.

The payment method test credentials can be used as the value in:

  • POST /payment_methods calls on the credit_card.card_number or payment_bank_us.account_number parameters, as appropriate.
  • POST /payments calls on the payment_method.credit_card.card_number or payment_method.payment_bank_us.account_number parameters as appropriate.
  • POST /payout_methods on the payout_bank_ca.account_number or payout_bank_us.account_number parameters as appropriate.

They can also be used in the appropriate parameters with the WePay Helper library.

Notes:

  • Payments require the unique-id header
  • Payments require an existing legal entity, account, and fulfilled capabilities and verifications
  • Payout methods require an existing legal entity
  • After payout methods have been created, payouts require fulfilled capabilities and verifications

Payment Method Test Credentials

Use any CVV/CVV2 number with these credit card numbers:

  • Visa
    • 4003830171874018
    • 4111111111111111
  • Mastercard
    • 5496198584584769
    • 2223000048400011
    • 2223520043560014
  • AmEx (A 4-digit CVV is required)
    • 378282246310005
    • 371449635398431
  • Discover
    • 6011111111111117
    • 6011000990139424
  • JCB
    • 3530111333300000
    • 3566002020360505
  • Diners Club
    • 30569309025904
    • 38520000023237
  • Credit funding source
    • 4242424242424242
  • Debit funding source
    • 4000056655665556
    • 6011981111111113 - prepaid
    • 3566002020360505 - prepaid

Use any 3-17 digit bank account number with these Canadian Transit and Institution numbers:

  • 00257, 596
  • 00202, 899
  • 00212, 369

Use any 3-17 digit bank account number with these US routing numbers:

  • 021000021
  • 011401533
  • 091000019

Card Present Test Credentials

For non-mock, end-to-end testing of keyed entry flows, use the following cards and authorization values.

Use any future expiration date with these testing cards.

full numbers (16 digits)brandnotes
4788 2500 0002 8291Visa5 0 digits
4055 0111 1111 1111MasterCard11 1 digits
6011 0009 9550 0000Discover
3714 4963 5398 431AmericanExpress15 digits expected

Use these authorization amount values with the testing card values above:

BehaviorParameters/HeadersValue
Full approvalAmount203
Partial approval (for 257)Amount278
Decline ("do not honor")Amount966

KYC Test Credentials

In order to fully test a WePay integration end-to-end in the stage environment, you'll need to submit test KYC credentials. We've provided some pre-set test values for certain sensitive details:

US Test SSN:

  • 555667777

Canadian Test SIN:

  • 123–456–782

Test EIN:

  • Any 9-digit number except 123456789

Test ITIN:

  • 999-99-9990

Note, providing full social security number (ssn9) is required, even when the last four digits (ssn4) are provided.


Magic Parameter Values Overview

Magic parameter values are used in the body of API calls and will trigger simulated behavior in the API response for testing purposes. For instance, to test out a payment flow where a payment synchronously fails, use 1020 as the value for the amount parameter in the body of the POST /payments call, and the response will have the status parameter with a value of failed:
Copy
Copied
Argument
POST /payments
 -H "App-Id: 121212" \
 -H "App-Token: prod_MTAwXzk5OWIwZT666LWYwNWItNDU4MS1iZjBiL" \
 -H "Api-Version: 3.0" \
 -H "Content-Type: application/json" \
 -d '{
	"account_id": "e7e06537-0193-4933-949f-7de3e924f4ef",
	"amount": 10661,
	 "currency": "USD",
	  "payment_method": {
	    "type": "token",
	    "token": {
	       "id": "5eb21dff-b917-4bdc-924c-fec4c1b5790f"
	    }
	  }
	}'

Magic parameter values are outlined in the Magic Values section.


Magic Header Values Overview

On the other hand, magic header values trigger a given behavior by including a magic value for the WePay-Magic-Behavior key in the call header. These calls will return static responses, regardless of the API request body that you send, and are intended to provide the full structure of a response under certain circumstances for you to model additional testing and development against. For instance, test the flow for looking up an adjustment by calling GET /adjustment/{id} using get_adjustment_type_credit as the header value without actually having an adjustment ID in the request:
Copy
Copied
Argument
curl -X (Method) \
 (Path) \
 -H "App-Id: 121212" \
 -H "App-Token: prod_MTAwXzk5OWIwZT666LWYwNWItNDU4MS1iZjBiL" \
 -H "Api-Version: 3.0" \
 -H "Content-Type: application/json" \
 -H "WePay-Magic-Behavior: "get_adjustment_type_credit" \

API calls in WePay's stage environment with magic key-value headers return static responses. If you include data in the body of your API requests, the data will be ignored and your API call will still return a static response.

Magic header values are also outlined in the Magic Values section.


Magic Values

Find the magic values to use in parameters and headers to trigger the behavior you'd like to test according to the resource:


Accounts

BehaviorHeadersValueCalls
See the API response structure to a GET /accounts call that allows your platform to create a new account owned by a legal entity.Header: WePay-Magic-Behaviorget_account_feesGET /accounts
See the API response structure to a POST /accounts call that allows your platform to update a new account owned by a legal entity.Header: WePay-Magic-Behaviorpost_account_feesPOST /accounts
See the API response structure to a GET /accounts/{id} call that returns a single account's pricing strategy.Header: WePay-Magic-Behaviorget_accounts_id_feesGET /accounts/{id}
See the API response structure to a POST /accounts/{id} call that updates a single account's pricing strategy.Header: WePay-Magic-Behaviorpost_accounts_id_feesPOST /accounts/{id}

Verifications

BehaviorParameters/HeadersValueCalls
Raise the additional_documents_required issue flag for the controller or additional_beneficial_owner sub-objects on a GET /legal_entities/{id}/verifications call.Parameters: controller.name.last & additional_representatives.additional_representative_#.name.lastMagicNameDocsRequiredPOST /legal_entities & POST /legal_entities/{id}
Get a documents verified response on GET /legal_entities/{id}/verificationsDocument Name: MagicDocNameDocVerify.png1. Follow the steps above to get the additional_documents_required issue flag. 2. Submit your app ID and a legal entity ID in our mock UI to upload a file called MagicDocNameDocVerify.png
Get a documents rejected response on GET /legal_entities/{id}/verificationsDocument Name: MagicDocNameDocReject.png1. Follow the steps above to get the additional_documents_required issue flag. 2. Submit your app ID and a legal entity ID in our mock UI to upload a file called MagicDocNameDocReject.png
Raise the in_review issue flag for the controller or additional_beneficial_owner sub-objects on a GET /legal_entities/{id}/verifications call.Parameters: controller.name.last & additional_representatives.additional_representative_#.name.lastMagicNameInReviewPOST /legal_entities & POST /legal_entities/{id}
Raise the additional_documents_required issue flag for the entity on a GET /legal_entities/{id}/verifications call.Parameter: entity_nameMagicNameDocsRequiredPOST /legal_entities & POST /legal_entities/{id}
Raise the in_review issue flag for the entity on a GET /legal_entities/{id}/verifications call.Parameter: entity_nameMagicNameInReviewPOST /legal_entities & POST /legal_entities/{id}

Capabilities

BehaviorParameters/HeadersValueCalls
Raise the in_review issue flag for the account's payment capability on a GET /accounts/{id}/capabilities call.Parameter: nameMagicNamePaymentCapabilityInReviewPOST /accounts & POST /accounts/{id}
Raise the in_review issue flag for the account's payout capability on a GET /accounts/{id}/capabilities call.Parameter: nameMagicNamePayoutCapabilityInReviewPOST /accounts & POST /accounts/{id}
See the API response structure to a lookup of a platforms capabilities that are not enabled.Header: WePay-Magic-Behavioraccount_blockedGET /accounts/{id}/capabilities

Payments

BehaviorParameters/HeadersValueCalls
Cause a payment to authorize but then be denied for fraud.Parameter: amount361 & 10361POST /payments
Cause a payment to be synchronously denied during authorization.Parameter: amount661 & 10661 & any value between 100000 & 102000POST /payments
Cause a payment to complete but then be reversed due to NSF/chargeback (within 5 minutes).Parameter: amount961 & 10961POST /payments
Cause an un-captured payment to cancel within 120 seconds (only for payments in which the auto_capture flag is set to false). This behavior mimics the situation in which an authorization on a credit card expires because the funds have not been captured via a POST /payments/{id}/capture call within 7 days.Parameter: amount76361 & 176361POST /payments
See end results of the delayed capture feature without first creating a payment requiring capture.Header: WePay-Magic-Behaviorpost_payments_id_capturePOST /payments/{id}/capture
See the API response structure of a payment lookup without first creating a payment.Header: WePay-Magic-Behaviorget_paymentsGET /payments
See the API response structure to a POST /payments call with a credit card payment method submitted manually.Header: WePay-Magic-Behaviorpost_payments_credit_card_manualPOST /payments
See the API response structure to a POST /payments call with a bank account payment method.Header: WePay-Magic-Behaviorpost_payments_payment_bank_usPOST /payments
See the API response structure to a lookup of a payment with a credit card payment method submitted manually.Header: WePay-Magic-Behaviorget_payments_id_credit_card_manualGET /payments/{id}
See the API response structure to a lookup of a payment with a bank account payment method.Header: WePay-Magic-Behaviorget_payments_id_payment_bank_usGET /payments/{id}
See the API response structure to an update of a payment with custom data.Header: WePay-Magic-Behaviorpost_payments_idPOST /payments/{id}
See the API response structure to a cancelation of a payment created with the auto_capture parameter set to false.Header: WePay-Magic-Behaviorpost_payments_id_cancelPOST /payments/{id}/cancel
See the API response structure to a failed cancelation of a payment created with the auto_capture parameter set to false.Header: WePay-Magic-Behaviorerror_could_not_cancelPOST /payments/{id}/cancel
See the API response structure to a capture of a payment created with the auto_capture parameter set to false.Header: WePay-Magic-Behaviorpost_payments_id_capturePOST /payments/{id}/capture
See the API response for successfully creating a Deferred Payment with a valid future capture time.Header: WePay-Magic-Behaviorpost_payments_deferred_capture_validPOST /payments
See the API response for unsuccessfully creating a Deferred Payment due to an invalid capture time.Header: WePay-Magic-Behaviorpost_payments_deferred_capture_invalid_timePOST /payments
See a successful manual capture of a Deferred Payment earlier than the indicated capture_time.Header: WePay-Magic-Behaviorpost_payments_deferred_capture_manual_validPOST /payments/{id}/capture Note: No JSON request body required.
See a look-up API response for a pending Deferred Payment.Header: WePay-Magic-Behaviorget_payments_deferred_captureGET /payments/{id}
See the API response for unsuccessfully creating a Payment due to an invalid card number.Header: WePay-Magic-Behaviorpost_payments_invalid_card_numberPOST /payments/{id}
See the API response for unsuccessfully creating a Payment due to an incorrect CID number.Header: WePay-Magic-Behaviorpost_payments_incorrect_cidPOST /payments/{id}
See the API response for unsuccessfully creating a Payment due to the card declining because it is reported stolen.Header: WePay-Magic-Behaviorpost_payments_decline_card_stolenPOST /payments/{id}
See the API response for unsuccessfully creating a Payment due to the card declining for unknown reasons.Header: WePay-Magic-Behaviorpost_payments_decline_generalPOST /payments/{id}
See the API response for unsuccessfully creating a Payment due to the card expiring.Header: WePay-Magic-Behaviorpost_payments_card_expiredPOST /payments/{id}
See the API response for unsuccessfully creating a Payment due to the card being declined by processor for unknown reasons.Header: WePay-Magic-Behaviorpost_payments_processor_decline_generalPOST /payments/{id}
See the API response for unsuccessfully creating a Payment due to the transaction being declined for suspected fraud.Header: WePay-Magic-Behaviorpost_payments_testingPOST /payments/{id}
See the API response for unsuccessfully creating a Deferred Payment due to an invalid amount.Header: WePay-Magic-Behaviorpost_payments_deferred_capture_invalid_amountPOST /payments/{id}
For the next xxx seconds, all requests will return simulated 500 errors. Subsequent requests that are expected to return a 500 need to have the same unique key as the initial request. After xxx seconds have passed, requests will execute as normal. Define xxx with the amount of seconds of your choosing. Example: idempotency_downtime_60Header: WePay-Magic-Behavioridempotency_downtime_xxxPOST /payments
For the next xxx requests, all requests will return simulated 500 errors. Subsequent requests that are expected to return a 500 need to have the same unique key as the initial request. After xxx requests have executed, requests will execute as normal. Define xxx with the amount of requests of your choosing. Example: idempotency_retry_15Header: WePay-Magic-Behavioridempotency_retry_xxxPOST /payments

Payment Methods

BehaviorHeaderValueCalls
See results of a payment method credit card look up without first creating a credit card.WePay-Magic-Behaviorcredit_card_resultsGET /payment_methods
See results of a payment method bank account look up without first creating a payment bank.WePay-Magic-Behaviorpayment_bank_us_resultsGET /payment_methods
See results of a payment method lookup with no results. Note: API request body must be empty.WePay-Magic-Behaviorempty_resultsGET /payment_methods
See results of a payment method lookup with multiple results.WePay-Magic-Behaviormultiple_resultsGET /payment_methods
See results of a payment method credit card look up where the credit card status is unverified without first creating a credit card. Note: API request body must be empty.WePay-Magic-Behaviorcredit_card_unverifiedGET /payment_methods/{id}
See results of a payment method credit card look up where the credit card status is verified without first creating a credit card. Note: API request body must be empty.WePay-Magic-Behaviorcredit_card_verification_successfulGET /payment_methods/{id}
See results of a payment method credit card look up where the credit card status is verification_failed without first creating a credit card. Note: API request body must be empty.WePay-Magic-Behaviorcredit_card_verification_failedGET /payment_methods/{id}
See results of a payment method credit card look up where the status is deleted without first creating a credit card. Note: API request body must be empty.WePay-Magic-Behaviorcredit_card_deletedGET /payment_methods/{id}
See results of a payment method bank account look up where the status is unverified without first creating a payment bank. Note: API request body must be empty.WePay-Magic-Behaviorpayment_bank_us_unverifiedGET /payment_methods/{id}
See results of a payment method bank account look up where the status is verified without first creating a payment bank. Note: API request body must be empty.WePay-Magic-Behaviorpayment_bank_us_verification_successfulGET /payment_methods/{id}
See results of a payment method bank account look up where the status is failed without first creating a payment bank. Note: API request body must be empty.WePay-Magic-Behaviorpayment_bank_us_verification_failedGET /payment_methods/{id}
See results of a payment method bank account look up where the status is deleted without first creating a payment bank. Note: API request body must be empty.WePay-Magic-Behaviorpayment_bank_us_deletedGET /payment_methods/{id}
See results of creating a credit card payment method without sending a valid API request. Note: API request body must be present.WePay-Magic-Behaviorcredit_cardPOST /payment_methods/{id}
See results of creating a bank account payment method without sending a valid API request. Note: API request body must be present.WePay-Magic-Behaviorpayment_bank_usPOST /payment_methods/{id}
See results of deleting a credit card payment method without first creating an object. Note: API request body must be empty.WePay-Magic-Behaviorcredit_card_deletedDELETE /payment_methods/{id}
See results of deleting a bank account payment method without first creating an object. Note: API request body must be empty.WePay-Magic-Behaviorpayment_bank_us_deletedDELETE /payment_methods/{id}
See results of a payment method lookup with mixed results.WePay-Magic-Behaviormixed_resultsGET /payment_methods

Refunds

BehaviorHeaderValueCalls
See API response structure of a refunds collection look up with status as completed.WePay-Magic-Behaviorfind_refunds_by_status_completedGET /refunds
See API response structure of a refunds collection look up with status as pending.WePay-Magic-Behaviorfind_refunds_by_status_pendingGET /refunds
See API response structure of a refunds collection look up with status as failed.WePay-Magic-Behaviorfind_refunds_by_status_failedGET /refunds
See API response structure of a USD refund without first creating a payment to refund.WePay-Magic-Behaviorcreate_refund_usd_currencyPOST /refunds
See API response structure of a CAD refund without first creating a payment to refund.WePay-Magic-Behaviorcreate_refund_cad_currencyPOST /refunds
See API response structure of a refund to a credit card without first creating a payment to refund.WePay-Magic-Behaviorcreate_refund_credit_cardPOST /refunds
See API response structure of a refund to a payment bank without first creating a payment to refund.WePay-Magic-Behaviorcreate_refund_payment_bank_usPOST /refunds
See API response structure of a completed refund without first creating a payment to refund.WePay-Magic-Behaviorcreate_refund_status_completedPOST /refunds
See API response structure of a pending refund without first creating a payment to refund.WePay-Magic-Behaviorcreate_refund_status_pendingPOST /refunds
See API response structure of a failed refund without first creating a payment to refund.WePay-Magic-Behaviorcreate_refund_status_failedPOST /refunds
See API response structure of a USD refund lookup without first creating a refund.WePay-Magic-Behaviorget_refund_usd_currencyGET /refunds/{id}
See API response structure of a CAD refund lookup without first creating a refund.WePay-Magic-Behaviorget_refund_cad_currencyGET /refunds/{id}
See API response structure of a lookup of a refund to a credit card without first creating a refund.WePay-Magic-Behaviorget_refund_credit_cardGET /refunds/{id}
See API response structure of a lookup of a refund to a payment bank without first creating a refund.WePay-Magic-Behaviorget_refund_payment_bank_usGET /refunds/{id}
See API response structure of a completed refund without first creating a refund.WePay-Magic-Behaviorget_refund_status_completedGET /refunds/{id}
See API response structure of a pending refund without first creating a refund.WePay-Magic-Behaviorget_refund_status_pendingGET /refunds/{id}
See API response structure of a failed refund without first creating a refund.WePay-Magic-Behaviorget_refund_status_failedGET /refunds/{id}
See API response structure of an update refund request with custom_data.WePay-Magic-Behaviormodify_refund_with_custom_dataGET /refunds/{id}
See API error when a refund fails due to time limit.WePay-Magic-Behaviorerror_payment_too_oldPOST /refunds

Payouts

BehaviorHeaderValueCalls
See API response structure of a payout collection lookup without first creating a collection of payouts.WePay-Magic-Behaviorget_payoutsGET /payouts
See API response structure of a payout lookup without first creating a payout.WePay-Magic-Behaviorpost_payouts_idGET /payouts/{id}
See API response structure of a single payout lookup.WePay-Magic-Behaviorget_payouts_idGET /payouts/{id}

Payout Methods

BehaviorHeaderValueCalls
See API response structure of a payout method collection lookup without first creating a collection of payout methods.WePay-Magic-Behaviorget_payout_methodsGET /payout_methods
See API response structure to a request creating an ACH payout method without having to create a payout method.WePay-Magic-Behaviorcreate_payout_methods_bankPOST /payout_methods
See the currency mismatch API error response to a request creating a payout method without having to create a payout method.WePay-Magic-Behaviorerror_currency_mismatchPOST /payout_methods
See API response structure to an ACH payment method lookup request.WePay-Magic-Behaviorget_payout_methods_id_bankGET /payout_methods/{id}
See API response structure to a request updating a payout method.WePay-Magic-Behaviorpost_payout_methods_idPOST /payout_methods/{id}

Adjustments

BehaviorHeaderValueCalls
See API response structure of a credit adjustment lookup request without having an adjustment ID to look up.WePay-Magic-Behaviorget_adjustment_type_creditGET /adjustments/{id}
See API response structure of a debit adjustment lookup request without having an adjustment ID to look up.WePay-Magic-Behaviorget_adjustment_type_debitGET /adjustments/{id}

Disputes

BehaviorHeaderValueCalls
See API response structure of a dispute collection lookup request with type set to chargeback.WePay-Magic-Behaviorfind_disputes_by_type_chargebackGET /disputes
See API response structure of a dispute collection lookup request with type set to inquiry.WePay-Magic-Behaviorfind_disputes_by_type_inquiryGET /disputes
See API response structure of a dispute collection lookup request with status set to resolved.WePay-Magic-Behaviorfind_disputes_by_status_resolvedGET /disputes
See API response structure of a dispute collection lookup request with status set to pending_wepay_review.WePay-Magic-Behaviorfind_disputes_by_status_pending_wepay_reviewGET /disputes
See API response structure of a dispute collection lookup request with status set to awaiting_merchant_response.WePay-Magic-Behaviorfind_disputes_by_status_awaiting_merchant_responseGET /disputes
See API response structure of a dispute collection lookup request with status set to awaiting_chargeback_decision.WePay-Magic-Behaviorfind_disputes_by_status_awaiting_chargeback_decisionGET /disputes
See API response structure of a dispute lookup request with dispute's type set to chargeback.WePay-Magic-Behaviorget_dispute_type_chargebackGET /disputes/{id}
See API response structure of a dispute lookup request with dispute's type set to inquiry.WePay-Magic-Behaviorget_dispute_type_inquiryGET /disputes/{id}
See API response structure of a dispute lookup request with dispute's status set to awaiting_merchant_response.WePay-Magic-Behaviorget_dispute_status_awaiting_merchant_responseGET /disputes/{id}
See API response structure of a dispute lookup request with dispute's status set to pending_wepay_review.WePay-Magic-Behaviorget_dispute_status_pending_wepay_reviewGET /disputes/{id}
See API response structure of a dispute lookup request with dispute's status set to resolved_won.WePay-Magic-Behaviorget_dispute_status_resolved_wonGET /disputes/{id}
See API response structure of a dispute lookup request with dispute's status set to resolved_lost.WePay-Magic-Behaviorget_dispute_status_resolved_lostGET /disputes/{id}
See API response structure of a concede dispute request without having a dispute ID.WePay-Magic-Behaviordispute_concede_resolved_lostPOST /disputes/{id}/concede

Recoveries

BehaviorHeaderValueCalls
See API response structure of a recovery collection lookup request with status set to completed.WePay-Magic-Behaviorfind_recoveries_by_status_completedGET /recoveries
See API response structure of a recovery collection lookup request with status set to pending.WePay-Magic-Behaviorfind_recoveries_by_status_pendingGET /recoveries
See API response structure of a recovery collection lookup request with status set to failed.WePay-Magic-Behaviorfind_recoveries_by_status_failedGET /recoveries
See API response structure of a recovery lookup request with currency set to USD.WePay-Magic-Behaviorget_recovery_usd_currencyGET /recoveries/{id}
See API response structure of a recovery lookup request with currency set to CAD.WePay-Magic-Behaviorget_recovery_cad_currencyGET /recoveries/{id}
See API response structure of a recovery lookup request with status set to completed.WePay-Magic-Behaviorget_recovery_status_completedGET /recoveries/{id}
See API response structure of a recovery lookup request with status set to pending.WePay-Magic-Behaviorget_recovery_status_pendingGET /recoveries/{id}
See API response structure of a recovery lookup request with status set to failed.WePay-Magic-Behaviorget_recovery_status_failedGET /recoveries/{id}
See API response structure of an update recovery request with custom_data.WePay-Magic-Behaviormodify_recovery_with_custom_dataPOST /recoveries/{id}

Tokens

BehaviorHeaderValueCalls
See structure of the API response to a request to create a payment method token.WePay-Magic-Behaviorcreate_payment_methods_tokenPOST /tokens
See structure of the API response to a request to create a payout method token.WePay-Magic-Behaviorcreate_payout_methods_tokenPOST /tokens
See structure of the API response to a request to create a legal entity token.WePay-Magic-Behaviorcreate_legal_entities_tokenPOST /tokens
See structure of the API response to a request that generates a session token which associates a mobile card reader with a merchant account.WePay-Magic-Behaviorcreate_session_tokenPOST /session_tokens

Transaction Records

BehaviorHeaderValueCalls
See API response structure to a transaction records collection lookup request.WePay-Magic-Behaviorget_transaction_recordsGET /transaction_records
See API response structure to a transaction record lookup request.WePay-Magic-Behaviorget_transaction_records_idGET /transaction_records

Notifications

Your stage WePay application must be subscribed to notification event topics in order to test notifications. Send a POST /notification_preferences request with a publicly accessible URL as the callback_uri for each notification event topic.
Notification Event TopicTrigger
adjustments.createdSend 12262 in the amount parameter of a POST /payments request to trigger an adjustments.created notification with type=credit, create_time of when the magic value was sent, amount of 500, and with a payload message (detail_code, detail_message, reason_code, reason_message) related to revenue share disbursement.
refunds.failed1. Create a Payment with amount greater than 100. 2. Send a POST /refunds request for that Payment with an amount value of 101 to trigger a refunds.failed notification.
payment_methods.microdeposit_sent1. Send a POST /payment_methods request with type set to payment_bank_us and payment_bank_us.account_number set to 55555555. 2. Fetch the microdeposit amounts from the Notification and use in a POST /payment_methods/{id}/verify_bank_deposits request.
payouts.in_review1. Create an account with a minimum balance of 1. 2. Call POST /payout_methods with payout_bank_us.account_number as 44444444 and account_type as checking. 3. Attach the Payout Method to the Account with a POST /accounts/{id} request and the payout.currencies.US.period parameter set to daily.
payouts.failed1. Create an account with a minimum balance of $3.61. 2. Call POST /payout_methods with payout_bank_us.account_number as 44444444 and type set to savings. 3. Attach the Payout Method with payout.currencies.US.period set to either weekly or monthly.
disputes.createdSend a POST /payments request with amount as 109 and type as credit_card. This magic value does not support ACH payments.
disputes.resolved1. Create a dispute using the magic parameter listed above. 2. Send a POST /disputes/{id}/concede request with that Dispute ID to resolve the Dispute for the payer. Alternative: Send a POST /disputes/{id} request with the WePay-Magic-Behavior header set to explanation to resolve the dispute for the merchant.
recoveries.createdSend a POST /payments request with amount set to 161.
recoveries.failedSend a POST /payments request with amount set to 369.
recoveries.completedSend a POST /payments request with amount set to 261.
accounts.capabilities.updated1. Send a POST /accounts/{id}/capabilities request. Note: This notification will also send on a POST /accounts request since it activates the account's capabilities.
accounts.created1. Send a POST /accounts request.
accounts.negative_balance1. Create at least one payment for an account. 2. Set up payouts for the account with a daily payout period 3. After the payout is complete, create a refund for at least one of the payments.
accounts.updated1. Create an account. 2. Send a POST /accounts/{id} request.
disputes.funds_withdrawn1. Reach out to your WePay integration team or API Support api@wepay.com in order to test this notification.
disputes.funds_reinstated1. Reach out to your WePay integration team or API Support api@wepay.com in order to test this notification.
disputes.updated1. Reach out to your WePay integration team or API Support api@wepay.com in order to test this notification.
legal_entities.created1. Send a POST /legal_entities request.
legal_entities.updated1. Send a POST /legal_entities/{id} request.
legal_entities.verifications.updated1. Send a POST /legal_entities request with "controller.name.last": "MagicNameDocsRequired" Note: This notification will also trigger on a POST /legal_entities request since it activates the legal entity's verifications.
payment_methods.created1. Send a POST /payment_methods request.
payment_methods.deleted1. Create a payment method. 2. Send a DELETE /payment_methods/{id} request.
payment_methods.updated1. Create a payment method. 2. Send a POST /payment_methods/{id} request.
payment_methods.verified1. Send a POST /payment_methods request with the credit_card type and "trigger_verification": true
payments.created1. Send a POST /payments request.
payments.completed1. Send a POST /payments request without any magic parameters or headers.
payments.failed1. Send a POST /payments request with "amount": 361
payments.in_review1. Send a POST /payments request with "amount": 361
payments.canceled1. Create a payment with "auto_capture": false and "amount": 76361
payouts.created1. Send a POST /payout_methods request. 2. Send a POST /accounts/{id} request with payout.currencies.currency.payout_method_id and a period of daily.
payouts.completed1. Send a POST /payout_methods request. 2. Send a POST /accounts/{id} request with payout.currencies.currency.payout_method_id and a period of daily. Note: The notification will send out when the Payout automatically gets triggered.
payout_methods.created1. Send a POST /payout_methods request
refunds.created1. Create a payment. 2. Send a POST /refunds request.
refunds.completed1. Create a payment. 2. Send a POST /refunds request.

Merchant Interchange

BehaviorHeaderValueCalls
Get a sample response for a Billing Statements look up.WePay-Magic-Behaviorget_billing_statements_idGET /billing_statements/{id} Note: Use any number in the ID parameter for the billing statement.
Get a sample response for a fetching a collection of Billing Statements related to a specific Account.WePay-Magic-Behaviorget_billing_statementsGET /billing_statements?account_id=account_id
Get a sample response for a Transaction Summary look up related to a specific Billing Statement.WePay-Magic-Behaviorget_billing_statements_id_transactions_summaryGET /billing_statements/{id}/transactions_summary Note: Use any number in the ID parameter for the billing statement.
Get a sample response for a Fee Summary look up related to a specific Billing Statement.WePay-Magic-Behaviorget_billing_statements_id_fees_summaryGET /billing_statements/{id}/fees_summary Note: Use any number in the ID parameter for the billing statement.

Underwriting

BehaviorParameterValueCalls
Automatically sets underwriting_result.status to complete and underwriting_result.method to automatic for this legal entity.entity_nameMagicNameUnderwritingAutomaticCompletePOST /legal_entities & POST /legal_entities/{id}
Automatically sets underwriting_result.status to in_progress and underwriting_result.method to automatic for this legal entity.entity_nameMagicNameUnderwritingAutomaticInProgressPOST /legal_entities & POST /legal_entities/{id}
Automatically sets underwriting_result.status to rejected and underwriting_result.method to automatic for this legal entity.entity_nameMagicNameUnderwritingAutomaticRejectedPOST /legal_entities & POST /legal_entities/{id}
Automatically sets underwriting_result.status to complete and underwriting_result.method to manual for this legal entity.entity_nameMagicNameUnderwritingManualCompletePOST /legal_entities & POST /legal_entities/{id}
Automatically sets underwriting_result.status to in_progress and underwriting_result.method to manual for this legal entity.entity_nameMagicNameUnderwritingManualInProgressPOST /legal_entities & POST /legal_entities/{id}
Automatically sets underwriting_result.status to rejected and underwriting_result.method to manual for this legal entity.entity_nameMagicNameUnderwritingManualRejectedPOST /legal_entities & POST /legal_entities/{id}