Stripe: Difference between revisions

Jump to navigation Jump to search
Lesley (talk | contribs)
Lesley (talk | contribs)
 
(51 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Apps]]
[[Category:Marketplace]]
[[Category:Payments]]
[[Category:Payments]]
[[Category:Payment_Gateways]]
[[Category:Payment_Gateways]]
Line 5: Line 5:
  This page is about the menu {{#fas:cog}} (SETTINGS) > PAYMENTS > PAYMENT GATEWAYS > STRIPE
  This page is about the menu {{#fas:cog}} (SETTINGS) > PAYMENTS > PAYMENT GATEWAYS > STRIPE
__TOC__
__TOC__
== Setup ==
=Summary=
<div class="summarybox">
Beds24 integrates with several payment providers through which you can
*collect payments for direct bookings
*send payment requests which works for all bookings including bookings made on OTAs
 
'''Beds24's partner Stripe is a reliable payment processor that offers the best and widest range of functionalities'''. With Stripe you can also  '''auto charge guest credit cards and  virtual cards from OTAs'''  when the payments are due.
 
Beds24 and Stripe together help to automate all your payment processing needs.
</div>
 
= Setup =
To use this payment option you will need an account with Stripe.  
To use this payment option you will need an account with Stripe.  


Line 20: Line 31:
If you set "Save all cards to Stripe" = Yes all credit cards  including cards supplied by all channels will be sent directly to Stripe and not stored at Beds24.
If you set "Save all cards to Stripe" = Yes all credit cards  including cards supplied by all channels will be sent directly to Stripe and not stored at Beds24.


Credit card details can also be sent manually to Stripe using the send to Stripe button.
 
Credit card details can also be sent manually to Stripe using the send to Stripe button. '''(Depreciated)'''


[[Image:stripe2.png|600px|link=]]
[[Image:stripe2.png|600px|link=]]
Line 56: Line 68:
|STRIPEAUTHORIZE
|STRIPEAUTHORIZE
| payment has been authorised by Stripe
| payment has been authorised by Stripe
|-
|STRIPEREFUND
| refund has been processed at Stripe
|-
|-


Line 63: Line 79:


|}
|}
<span style="color: #f3e504;" >{{#fas:lightbulb}} </span> You can use an Auto Action to mark bookings where the charging failed. A template is available which you can further customize.  Use the context help (?Icons) in the Auto Action and  on the help page (click on HELP in the top right menu) for further  instructions.


=== Collect deposit for direct bookings at time of the booking ===
=== Collect deposit for direct bookings at time of the booking ===
Line 86: Line 104:
*Discover 30 days
*Discover 30 days
*American Express 7 days
*American Express 7 days
The template variable [AUTHORIZEUNTIL] returns the date until which a card is authorized.


<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span>  The extended authorization period beyond 7 days may only be available if your Stripe account business type is for a "hotel" or "lodging", other business types may be limited to 7 days.
<span class="" style="color: #f3e504; font-size: 150%;" >{{#fas:lightbulb}} </span>  The extended authorization period beyond 7 days may only be available if your Stripe account business type is for a "hotel" or "lodging", other business types may be limited to 7 days.
Line 114: Line 135:
Some channels send virtual cards which are often only valid for a certain period. Virtual cards can be charged automatically when they become valid. This is how you activate this option:
Some channels send virtual cards which are often only valid for a certain period. Virtual cards can be charged automatically when they become valid. This is how you activate this option:


*Go to SETTINGS->CHANNEL MANAGER and set "Channel Collect Invoice" = Charges and Pending Payments
*Go to {{#fas:cog}} (SETTINGS)->CHANNEL MANAGER and set "Channel Collect Invoice" = Charges and Pending Payments
*Go to the channel settings (for example SETTINGS->CHANNEL MANAGER->BOOKING.COM) and set "Virtual Cards" = Yes
*Go to the channel settings (for example {{#fas:cog}} (SETTINGS)->CHANNEL MANAGER->BOOKING.COM) and set "Virtual Cards" = Yes


====Error when charging Booking.com and Expedia Virtual Cards  ====  
====Error when charging Booking.com and Expedia Virtual Cards  ====  
Line 122: Line 143:
Possible reasons:  
Possible reasons:  


*'''Merchant Code''': The merchant code reflects your type of business (hotel, restaurant, grocery shop etc.). You can only charge a virtual card for a booking if you merchant code category (MCC) is relating to accommodation – 7011. Contact Stripe support and ask them to let your MCC code to reflect 7011.
*'''Merchant Code''': The merchant code reflects your type of business (hotel, restaurant, grocery shop etc.). You can only charge a virtual card for a booking if your merchant code category (MCC) is relating to accommodation – 7011. Contact Stripe support and ask them to set your MCC code to 7011.


*'''Missing CVC''': Booking.com and Expedia do not always send a CVC for virtual cards. Ask the channel to provide a CVC for the virtual card and manually reenter it. For Expedia virtual cards you can try to add the generic CVC codes:
*'''Missing CVC''': Booking.com and Expedia do not always send a CVC for virtual cards. Ask the channel to provide a CVC for the virtual card and manually reenter it. For Expedia virtual cards you can try to add the generic CVC codes:
Line 129: Line 150:


*'''Incorrect amount''': Double-check you charge the exact amount sent by the channel from the booking.
*'''Incorrect amount''': Double-check you charge the exact amount sent by the channel from the booking.
== Local Payment Methods ==
Stripe allows payment via many local payment methods based on the payers location.
'''Step 1: In Stripe'''
Local payment options can be enabled when available at the following Stripe menu:
https://dashboard.stripe.com/settings/payment_methods
Select the platform called "Payment Gateway" and you will see the payment methods available to you, these can be shown on your booking page and payment request page.
You can enable and disable each method as you wish. Note each payment method can have different fees and conditions and not all methods are instantly confirmed meaning the payment is not completed until some time after the booking is made.
'''Step 2: In Beds24'''
Set "Stripe Checkout Version" = Hosted
The guest will be redirected from the check-out page to a Stripe payment page where they can select with payment method they want to use.
If a payment method is selected where you do not receive payment immediately, the info code STRIPEPENDING is added to the booking. When the payment is made, this is deleted and replaced by STRIPEPAYMENT.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> Google wallet will not work in an iFrame, if activating Google wallet please make sure your payment page is not within an iFrame.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span>Apple pay is whitelisted for the beds24.com domain, it will not work on other domains so please do not use it if you have your booking page on a white label domain.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span>Bancontact, if you activate this, there can be delays and it can take a few weeks before it is made available in your Stripe account.


== Refund of Payments in Stripe ==
== Refund of Payments in Stripe ==
Line 148: Line 198:
<span style=color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> '''You must be disconnected from Stripe to begin.'''
<span style=color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> '''You must be disconnected from Stripe to begin.'''


Open the Stripe menu at SETTINGS > PAYMENTS  -> PAYMENT GATEWAYS  -> STRIPE
Open the Stripe menu at {{#fas:cog}} (SETTINGS) PAYMENTS  > PAYMENT GATEWAYS  > STRIPE


Add the following to the end of the URL '''&showkeys'''
Add the following to the end of the URL '''&showkeys'''
Line 164: Line 214:
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> Do not use API keys to connect in live mode, Stripe considers this insecure and will limit functionality.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> Do not use API keys to connect in live mode, Stripe considers this insecure and will limit functionality.


==Disputes==
When account holders dispute a payment with their bank, they must provide evidence and substantiate their claim. In many cases, the bank's aim is to protect its customers from having to pay for something that they did not authorise or that they believe has been misrepresented or damaged.


== Scenarios ==
As the seller, you have the right to dispute the account holder's claim and provide evidence to support your argument. Stripe has no control over the bank's decision, but our goal is to help you protect yourself from payment disputes. Our best practices provided here are based on our experience in resolving payment disputes.


=== Direct Bookings - Collect Deposit at time of booking, then Balance XX days before arrival ===
Here Stripe provides guidance on how to deal with disputes:
*[https://docs.stripe.com/disputes  General Information about disputes]
*[https://docs.stripe.com/disputes/best-practices Best practices for disputes]
*[https://docs.stripe.com/disputes/responding  How to react to disputes (accept or dispute)]


A number of considerations are required when setting up Pending Payments on your Bookings.  
== Change of Stripe Account ==
If you have had to change your Stripe account and have Bookings with Credit Cards already stored/authorised, you will need to clear the initial authorisation so you can send a new card to Stripe.  


*Refundable/Non Refundable bookings, could the booking details change, if modifications are allowed, then the values in Charges & Payments tab could change, therefore consider setting the Auto Action to trigger just prior to the payment being collected, otherwise the Pending Payment could be set for an invalid amount, as it is not recalculated when changes are made to the booking.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> '''ONLY USE THIS IF YOU HAVE CHANGED YOUR STRIPE ACCOUNT'''


*If you have Refundable bookings, then consider adding the Pending Payment at the time when the payment is due to be collected/after the cancellation period, minimizing the number of refunds you may have to make.  
In Beds24 -
*Go to ACCOUNT MANAGEMENT > MANAGE ACCOUNT > MANAGE PROPERTY > MANAGE ROOM > BOOKINGS.
   
   
==== Step 1 : Set Payment Collection Details ====
*Tick the appropriate bookings,


'''Acitvate Deposit Collection'''
*Select from the drop down box - 'Modify All Selected Bookings'  
Go to  {{#fas:cog}} (SETTINGS) PAYMENTS > PAYMENT COLLECTION
**Select 'Remove Payment Auth'  


*Select the "Non Payment Booking Status".
this will remove the authorisation from the initial account and allow new cards to be sent to the new Stripe Account.
**'''Request''': When the guest clicks "Confirm Booking" the room gets reserved for the guest and will not be available for other guests to book. When they make a successful payment the status of the booking will automatically change to confirmed. If the payment is aborted or not successful the status of the room will still be blocked with the request status. You will then either need to change the status manually to cancelled or use an auto action to automatically change the status of Request bookings to Cancelled after a preset time. Auto Actions can be set up in  {{#fas:cog}} (SETTINGS) > GUEST MANAGEMENT > AUTO ACTIONS.
**'''Cancelled''':  When the guest clicks "Confirm Booking" the room will not be reserved until the payment has completed. Other guests can still book the room until a successful payment has been made leaving a small risk of double bookings.  


*Set the required amount. It can be a fixed amount, a percentage of the total or the value of the first nights accommodation.
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}} </span> '''Please ensure you select only the bookings you need to have the credit card details cleared, it is NOT possible to restore if you erase by mistake.'''
*The currency used by will be the currency you have set in the  {{#fas:cog}} (SETTINGS) PROPERTIES > DESCRIPTION''' currency to receive payments setting.


[[File:Payment2.png]]
==Examples and Use Cases==
{| class="wikitable"
! scope="col"| Use Case
! scope="col"| Link to help page
|-


|You want to collect a deposit at time of booking and the balance via Stripe prior to the Guest arriving.
|[[Stripe_deposit_and_balance|Deposit collected at time of booking and balance before Checkin]]
|-


'''Add payment instructions or information for your guests'''
|For bookings made within 14 days of arrival, you want to collect the full amount at the time of booking.
|[[Stripe_full_amount|Full payment collected at time of booking]]
|-


To add general information to the header section of the payment screen click on "Deposit Payment Header" and enter the information there.
|You want to collect the full amount at the time of booking.
|[[Stripe_full_amount|Full payment collected at time of booking]]
|-


==== Step 2 : Setup Booking page Booking Rules ====
|You want to collect a refundable security deposit from the guest before arrival.
|[[Stripe_Security_Deposit_capture | Capture a refundable security deposit]]
|-


'''Adjust your booking rule'''
|You want to send a payment request to your guest so they can make the payment directly to Stripe.
*Go to {{#fas:cog}} (SETTINGS) > PROPERTIES > BOOKING RULES
|[[Stripe_Payment_Request|Send a payment request]]
*Set "Booking Type" to either the Deposit Collection 1 or Deposit Collection 2.
|-


Each of Deposit Collection 1 and Deposit Collection 2 can collect different deposit amounts.  
|You have received a telephone booking and need to send a payment request to your guest so they can make the payment.
|[[Stripe_Payment_Request|Send a payment request]]
|-


Individual rules can be set for Normal, Near term and Exceptional period bookings. Individual rules can also be set directly within rates or offers.
|Your property/guests need to comply with EU 3DSecure rules. The guest needs to make the payment.  
|[[Stripe_Payment_Request|Send a payment request]]
|-


This allows you for example to take a different deposit in high and low season or for normal and last minute bookings.  
|You want to collect the guest credit card details at the time of booking to be charged later.
|[[Stripe_Credit_Card|Collect Credit card details to be charged later]]
|-


[[File:Payment1.png]]
|Refundable bookings, you do not want to collect the payment/balance of the booking if the booking is cancelled during the cancellation period.
|[[Stripe_deposit_and_balance|Refundable bookings, payment not collected if cancelled]]
|-


<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> The booking rules for rates will override rules for rooms and booking rules for offers will override property booking rules.
| You receive Virtual cards from the channels and you want to auto process the payments.  
|[[Stripe_Channel_Virtual_Cards|Auto Process Virtual Cards from the Channels]]
|-


==== Step 3 : Setup Payment Rules (Optional) ====
|You have set up a payment schedule with VRBO and want to collect the payments when due.
|[[Stripe_Payment_Schedule |Collect payments with payment schedule]]
|-


'''Cancelled Bookings - Delete Pending Payments OR Set Pending Payment to Manual '''
|}
 
Go to {{#fas:cog}} (SETTINGS) > PAYMENTS > PAYMENT RULES
 
Click 'Add Payment Rule'
 
Payment Rule :
 
*Name = Enter your title - Not Cancelled (for example)
*Action = Auto
 
Payment Trigger :
 
*Booking Status = All not cancelled
*Any Booking Info Code = (Optional)
*All Booking Info Codes = (Optional)
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)
 
Payment Action :
 
*Capture = Yes - immediately charged (Capture=Yes)
*Add info code on success = add a Booking Info item to the booking on success (Optional)
*Add info code on failure = add a Booking Info item to the booking on failure (Optional)
 
Payment Limit :
 
*Limit payment value - select an option to prevent accidental overcharging
 
Payment Action :
 
*Capture - YES, use this option to collect the payment
 
Prevent Auto Payment :
 
*Prevent payment if booking status = Cancelled
*Prevent payment after check-out (days) = 7
*Prevent payment action = Manual/Delete
 
 
'''Capture Refundable Security Deposit - Payment Action - Capture = NO '''
 
Go to {{#fas:cog}} (SETTINGS) > PAYMENTS > PAYMENT RULES
 
Click 'Add Payment Rule'
 
Payment Rule :
 
*Name = Enter your title - Security Deposit (for example)
*Action = Auto
 
Payment Trigger :
 
*Booking Status = All Not Cancelled (select from the drop down list)
*Any Booking Info Code = optional
*All Booking Info Codes = optional
*Exclude Booking Info Code = optional (can exclude Virtual Credit cards, find the Booking info code in the booking)
 
Payment Limit :
 
*Limit payment value - select an option to prevent accidental overcharging
 
Payment Action :
 
*Capture = NO,
*Add info code on success = add a Booking Info item to the booking on success (Optional)
*Add info code on failure = add a Booking Info item to the booking on failure (Optional)
 
Prevent Auto Payment :
 
*Prevent payment if booking status = Cancelled
*Prevent payment after check-out (days) = 7
*Prevent payment action = Manual/Delete
 
 
==== Step 4 : Setup Auto Actions ====
 
''' Setup Auto Actions to meet your business workflow'''
 
If you have setup your booking page to collect a deposit at the time of booking, then you can setup an Auto Action to collect the balance XX days before arrival.
 
https://wiki.beds24.com/index.php/Auto_Actions#Collect_outstanding_booking_balance_3_days_prior_to_arrival.28_Credit_card_details_were_collected_at_time_of_booking.29
 
 
==== Step 5 : Activate Stripe ====
 
'''Activate Stripe.'''
*Go to ( {{#fas:cog}} (SETTINGS) PAYMENTS > PAYMENT GATEWAYS > STRIPE and enter the required account information to connect your payment system to your STRIPE account.  Use the 'CONNECT to Stripe' button to use Pending payments.
 
To override the default title which the guest sees enter your custom text in the  "Title" field.
*In "Instruction" you can enter a custom information to display under the payment button.
 
=== Capture Refundable Security Deposit on Check-in date ===
 
Step 1 : Setup Payment Rules
*Capture Refundable Security Deposit
**Payment Action - Capture = NO
 
=== Send Payment request link to the guest to make direct payment - 3DS2 compliant ===
 
== Change of Stripe Account ==
 
If you have had to change your Stripe account and have Bookings with Credit Cards already stored/authorised, you will need to clear the initial authorisation so you can send a new card to Stripe.
 
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> '''ONLY USE THIS IF YOU HAVE CHANGED YOUR STRIPE ACCOUNT'''
 
In Beds24 - Go to ACCOUNT MANAGEMENT > MANAGE ACCOUNT > MANAGE PROPERTY > MANAGE ROOM > BOOKINGS.
Tick the appropriate bookings, this will remove the authorisation from the initial account and allow new cards to be sent to the new Stripe Account.
 
<span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> '''Please ensure you select only the bookings you need to have the credit card details cleared, it is NOT possible to restore if you erase by mistake.'''


== Troubleshooting and Issues ==
== Troubleshooting and Issues ==


  '''Pending payment did not trigger '''
'''Pending payment did not trigger'''
  Pending payments will not work with the Stripe ApiKey connection method (i.e. test mode).
  Pending payments will not work with the Stripe ApiKey connection method (i.e. test mode).


  '''Stripe payment form does not show"
'''Stripe payment form does not show"
  It has been reported that Browser IE 11 does not show the Stripe payment form when the booking page (and Stripe form) is in an iFrame unless the following Meta tag is included on the parent page.
  It has been reported that Browser IE 11 does not show the Stripe payment form when the booking page (and Stripe form) is in an iFrame unless the following Meta tag is included on the parent page.
  <meta http-equiv="x-ua-compatible" content="IE=edge">
  <meta http-equiv="x-ua-compatible" content="IE=edge">
Line 340: Line 310:
  Tick the appropriate bookings, this will remove the authorisation from the initial account and allow new cards to be sent to the new Stripe Account.
  Tick the appropriate bookings, this will remove the authorisation from the initial account and allow new cards to be sent to the new Stripe Account.
  <span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> '''Please ensure you select only the bookings you need to have the credit card details cleared, it is NOT possible to restore if you erase by mistake.'''
  <span style="color:#fe746c;“ >{{#fas:exclamation-triangle}}  </span> '''Please ensure you select only the bookings you need to have the credit card details cleared, it is NOT possible to restore if you erase by mistake.'''
'''Virtual cards not accepted''': The merchant code reflects your type of business (hotel, restaurant, grocery shop etc.). You can only charge a virtual card for a booking if your merchant code category (MCC) is relating to accommodation – 7011. Contact Stripe support and ask them to set your MCC code to 7011.