Integrate with Stripe

Stripe is a financial platform that allows businesses to accept payments and handle financial operations over the internet.

To enable payments using Stripe, perform the following tasks:

  1. Obtain a Stripe API key
  2. Subscribe to Stripe checkout events
  3. Configure the Stripe gateway
  4. Define payment methods
  5. Confirm event delivery

Before you begin

Obtain a Stripe API key

To connect DreamApply with Stripe, you need to create and copy a secret API key in your Stripe Dashboard. For detailed instructions, see the Stripe documentation.

Ensure the API key you create is for the production (live) environment. Sandbox (test) API keys cannot be used for live payment transactions in DreamApply.

Creating an API key for Stripe integration

Subscribe to Stripe checkout events

To ensure that Stripe successfully communicates payment results and synchronizes payment statuses with DreamApply, you must subscribe to checkout events in the Stripe Dashboard.

  1. In the bottom left corner of the Stripe Dashboard, click Developers.

  2. Under Workbench, select Webhooks.

    Adding a Stripe webhook
  3. Under Trigger reactions in your integration with Stripe events, click Add destination.

    Adding a Stripe destination
  4. In the Events from section, select Your account.

  5. From the API version list, select the basil or clover version.

    Defining webhook settings
  6. In the Events section, select to listen to all Checkout events:

    • checkout.session.async_payment_failed
    • checkout.session.async_payment_succeeded
    • checkout.session.completed
    • checkout.session.expired
  7. Click Continue.

    Selecting Stripe events
  8. At the Choose where you want to send events step, select Webhook endpoint and click Continue.

    Selecting a webhook type
  9. At the Configure destination step, define the following settings:

    • Destination name: Provide a name for the DreamApply destination

    • Endpoint URL: Specify the endpoint to which Stripe checkout events must be sent:

      https://dream-pay.svcs.dreamapply.com/static-notify/stripe

    • Description: Provide the endpoint description

  10. Click Create destination.

Specifying destination settings

Configure the Stripe gateway

To configure a Stripe payment gateway in DreamApply:

  1. In the main menu, under Finance, select Payment gateways.

  2. In the gateway list, select Stripe.

  3. Specify the gateway settings:

    1. In the Name field, specify the gateway name. This name will be used for internal reference only and will not be displayed to applicants.

    2. In the Call to action field, specify the text to display on the payment button on financial documents, for example, Pay with Stripe.

    3. In the Invoice series section, select check boxes next to the invoice series that must be processed through the Stripe gateway. If a specific series is not selected, DreamApply will not display the payment button on documents that use this series.

      You can link the same invoice series to several payment gateways to allow applicants to choose their preferred payment option.

    4. In the Stripe API Key field, specify the secret API key you created in the Stripe Dashboard.

  4. At the top of the form, click Save changes.

Integrating with Stripe

Define payment methods

To define which payment methods applicants can use when paying with Stripe, you must enable them in your Stripe Dashboard. DreamApply will display the methods you activated to applicants at checkout. For details, see the Stripe documentation.

Some payment methods are supported only in certain regions or currencies.

Activating Stripe payment methods

Confirm event delivery

After setting up the gateway, we recommend performing one or more test payments to verify that the integration works and DreamApply receives the checkout events.

  1. In the bottom left corner of the Stripe Dashboard, click Developers.
  2. Under Workbench, select Webhooks.
  3. Use the Overview and Event deliveries tabs to confirm that Stripe events are successfully delivered to DreamApply.
Testing event delivery

Payment processing

Stripe follows a synchronous payment processing model. When an applicant completes the payment, Stripe immediately sends a confirmation back to DreamApply, and DreamApply updates the payment status in real time.