Stripe

How to accept card payments with Stripe

Take card payments on Stripe's own payment page.

Countries

  • Australia
  • Austria
  • Belgium
  • Brazil
  • Bulgaria

Currencies

  • AED
  • AFN
  • ALL
  • AMD
  • ANG
  • AOA
  • ARS
API credentials
  • API key
  • Webhook secret

Set up Stripe so travellers pay by card on Stripe's own payment page and return to a paid booking. You need a bank account in one of the countries listed above.

Stripe restricts some travel businesses

Travel reservation services need extra documents, and Stripe may still refuse them. Airlines, cruises and timeshares are prohibited. Check Stripe's list first.

Want card fields on your own booking page?

Use Stripe Elements instead, or as well: it runs on the same Stripe account.

Create your Stripe account


  1. 1

    Sign up with Stripe

    Create the account at dashboard.stripe.com/register. Choose the business country with care: Stripe cannot change it once the account is live.

  2. 2

    Verify your business

    Complete the application at dashboard.stripe.com/account/onboarding: your business, the people behind it and the bank account for your payouts. Live payments open once Stripe has verified you.

Copy your Stripe secret key


  1. 1

    Open your API keys

    Go to dashboard.stripe.com/apikeys and switch from the sandbox to live mode.

  2. 2

    Copy the secret key

    Under Standard keys, click Reveal live key and copy the Secret key: it starts with sk_live_. Keep it private: anyone who has it can take and refund payments in your name.

Never paste a test key

A test key (sk_test_) gives no error: bookings are marked paid with test money that never reaches your bank.

Add the TourTask webhook in Stripe


The webhook tells TourTask about each payment, even when the money clears days later or the traveller never comes back.

Your TourTask webhook address for Stripe

https://api.tourtask.com/v1/payments/stripe/notifications/booking
  1. 1

    Create an event destination

    Go to dashboard.stripe.com/webhooks in live mode and click Create an event destination.

  2. 2

    Choose your account and Snapshot

    Select Your account and the Snapshot payload format: TourTask cannot read the Thin events Stripe recommends. Leave the API version as it is.

  3. 3

    Select the two events

    Tick checkout.session.completed and checkout.session.async_payment_succeeded, and nothing else.

  4. 4

    Choose a webhook endpoint

    Click Continue and select Webhook endpoint as the destination type.

  5. 5

    Enter the TourTask address

    Click Continue, paste the TourTask address above as the Endpoint URL and create the destination.

  6. 6

    Copy the signing secret

    On the destination's page, click Reveal secret and copy the signing secret: it starts with whsec_.

Add Stripe in TourTask


  1. 1

    Open the Stripe card

    Go to Configuration → Payment options and click the Stripe card under Online payments → Payment gateways. Not there? Choose Show all gateways under the cards.

  2. 2

    Choose the country and currency

    Pick the Country where your Stripe account and its bank account are, and the Currency travellers pay in. Click Add. To change either later, remove Stripe with Remove and add it again.

  3. 3

    Fill in your API credentials

    Under Authentication, the card has a field for each:
    API key
    Webhook secret

    Each field saves when you click out of it.

  4. 4

    Activate Stripe

    Click Activate once every field is filled in. The card turns Active, and travellers can pay with Stripe on your booking page. Every payment goes straight into your own Stripe account: TourTask never holds your money.

Choose the card with the Stripe logo alone: the one with ELEMENTS under the logo is Stripe Elements, another gateway.

Paste the secret key into API key and the signing secret into Webhook secret.

To add a surcharge or reorder your payment methods, see online payments.

Check that Stripe works


TourTask has no test mode for Stripe, and Stripe's terms forbid test payments with real cards.

  1. 1

    Open Stripe's payment page

    On your own booking page, book a tour and choose Stripe. Stripe's payment page opens: close it without paying.

  2. 2

    Cancel the test booking

    Open the booking in TourTask and click Cancel booking.

  3. 3

    Check your first payment

    When a traveller pays with Stripe, the booking shows as paid and the payment appears in your Stripe Dashboard.

  4. 4

    Check the webhook

    In Stripe, open the destination's Event deliveries tab: checkout.session.completed shows as Delivered. If it failed, check the endpoint URL, the Snapshot format and the Webhook secret.

Questions we get asked


The ones switched on in your Stripe Dashboard's payment methods settings. A method that clears later, such as a bank debit, marks the booking paid only when the money arrives.

No. TourTask converts the booking total into the currency you chose for the gateway.

No. Payments go into your own Stripe account, and Stripe pays them out to your bank.

Was this page helpful?