Testing and Troubleshooting Payment Tracking

Guides to help you to test payment tracking and figure out next steps if you aren't seeing events from your payment platform show up in PartnerStack.

If you've set up payment tracking with your payment platform and are not seeing any transactions flowing through in PartnerStack, this guide may help diagnose the issue.

📘

Payment tracking support

Please note that we only have payment tracking support for Stripe, Recurly, Chargebee and Chargify. If you are not using one of these platforms, transactions can be recorded via our API or by uploading CSV files (see the introduction to payment tracking for more info)

Testing your payment tracking

Regardless of platform and method of payment tracking (app, webhook), you can test your payment tracking through creating a test customer in PartnerStack, matching it in the payment provider, then creating a test transaction in the payment provider. This allows you to test your integration without the use of actual credit card charges.

A visual walkthrough of these steps is also available on Loom.

1. Configure a testing environment

Whether through the Stripe app or a webhook integration (Stripe, Recurly, Chargify, Chargebee), configuring a testing environment allows you to send test customer and transaction information from your payment provider to PartnerStack.

  • If you’re using the Stripe App, you can access a testing environment within your Stripe account simply from toggling on Test mode.
  • If you’re integrating to a payment provider through webhooks (Stripe, Recurly, Chargify, Chargebee), you will have to configure a testing webhook to integrate between your payment provider and PartnerStack.
    Please ensure only a test webhook is used in the Payment provider.
    In Stripe, ensure that only Test mode is used while operating with a test webhook.

2. Create a test customer in PartnerStack

Test transactions will only match against test customers in PartnerStack. To create a test customer in PartnerStack without the need to configure code:

  • Access our Create Customer API documentation page

  • Fill out all required fields for a new customer

    • Ensure customer_key is set to gstest or the partner key of another test partner

    • Submit the Test Public Key and Test Secret Key as the username and password of the API call

  • Click Try It!

  • Verify that a test customer was created

  • Navigate to Referrals > Customers to find the new test customer created.

3. Match the test customer in your payment provider

In your payment provider, create a new customer with the same name, email, and customer key as the test customer in PartnerStack. Example below is from Stripe.

4. Create a test transaction

In your payment provider, create a new transaction under the test customer. Example below is from Stripe.

5. Verify the test transaction

  • Navigate to Referrals > Customers in PartnerStack again and click on the test customer you created previously.
  • Click on the Activity tab
  • Verify that the transaction sent previously arrived under Activity.

If this test does not complete successfully, consider the troubleshooting techniques below.

Check your webhook URL

Please ensure you're copying your webhook URL from your PartnerStack dashboard, under Settings > Integrations > Webhooks. The URLs look like this:

You can check whether the URL has been added as a webhook from your payment platform:

  • Stripe: On your dashboard, under Developers > Webhooks.
  • Recurly: On your dashboard, under Integrations > Webhooks. You may need to click on "Configure" at the top right to get a list of all webhook URLs.
  • Chargebee: On your dashboard, Settings > Configure Chargebee and click on Webhooks
  • Chargify: On your dashboard, Settings in the top bar > Webhooks

Please follow the platform-specific guide for Stripe, Recurly, Chargebee or Chargify to ensure the correct events are selected to send to PartnerStack. Please use the Production URL as rewards will not generate if you use the Test URL.

Checking if a payload was sent for an event

Depending on your payment platform, you may be able to see a history of events sent through to the webhook. For example, in Stripe, if you click on a webhook endpoint, you can click on "Webhook attempts" to see the payload itself and whether it succeeded:

Check that a customer has the correct metadata (Stripe or Chargebee)

Having the correct metadata on the Stripe/Chargebee customer object allows us to add the Stripe/Chargebee internal customer ID to the customer record in PartnerStack as the provider key, which ensures future payments are tracked.

Stripe

In your Stripe dashboard, you can check the customer in question by going to Customers and checking the Metadata field:

The customer_key value must exist and equal the value used for customer_key when creating the customer in PartnerStack (either using our APIs or PartnerStackJS).

In addition, you can check that the customer.updated / customer.created event sent contained this metadata at the data.object.metadata.customer_key field. This event only needs to go through to PartnerStack once, but is necessary before any payments can be tracked using the charge.succeeded event.

Chargebee

In Chargebee, you'll need to check to make sure the metadata for a customer contains a customer_key attribute equal to the value used for customer_key when creating the customer in PartnerStack (either using our APIs or PartnerStackJS)

Check the customer's account code (Recurly only)

In your Recurly dashboard, you can check the customer's account code by heading to Customers > Accounts.

Then, check to make sure the customer in PartnerStack has a customer key equal to this Account Code. You can check this by going to Referrals in your dashboard, and clicking on the customer record:

Check the customer's customer reference (Chargify)

In PartnerStack, you need to ensure that the customer key for a customer matches the customer reference used in Chargify. More on the customer reference is available at Chargify's documentation