Skip to content

Conversation

@Azdaroth
Copy link
Member

No description provided.

@Azdaroth Azdaroth self-assigned this May 19, 2017
@Azdaroth Azdaroth requested a review from ZenCocoon May 19, 2017 18:00

## Preface

If you have an integration with BookingSync and you create bookings on your side according to the instant booking flow (i.e. a booking gets confirmed only when the credit card payment is executed successfully) and you don't have PCI DSS compliant platform for collecting credit card payments, you can use our Secure Payments By BookingSync flow for this purpose.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should still require at least PCI-DSS 3.1+ SAD-A when using a full client side process (JS SDK) and SAQ-D (server-to-server integration) otherwise.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point.


To handle integration with Secure Payments By BookingSync you need to have an application with `payments_write` or `payments_write_owned` scope. We recommend using `payments_write_owned` for this purpose to make sure the payment is not editable by anyone else, only by your application.

Also, the rental for which the booking will be created requires to be instantly bookable and the it needs to have a payment gateway assigned (which will be used for executing the credit card payment) which supports the currency that is set for the rental.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo and the it

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


* Create a tentative booking
* Create a tentative instant booking payment
* Send credit card data and payment id to our PCI DSS platform for executing payment, which will confirm both booking and payment if the payment is successfully executed
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for executing payment > for executing the payment

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


## Creating A Tentative Booking

Instant Booking flow requires payment to confirm the booking, so we recommend creating a tentative booking and leaving the confirmation to our PCI DSS platform. The confirmation process should take up to few minutes, so we recommend to set tentative expire date to 5 or 10 minutes from now. To create a tentative booking you need to provide 2 params (besides the requires one):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what about? confirmation to our PCI DSS platform > confirmation to our PCI DSS payment platform

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hoo, right, looks odd without the payment

* tentative_expires_at - to set the expiry date
* booked - set it to `false`

You can find more about the bookings' attributes and how to create them [here](/reference/endpoints/bookings/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not fan of here links, what about on the [bookings endpoint documentation](/reference/endpoints/bookings/).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine for me

Another step would be creating a tentative payment (i.e. not confirmed payment) of `instant-booking` kind for the given booking. This payment will get confirmed once the successful credit card payment is executed. Here the essential attributes you need to provide for such payment:

* amount_in_cents - amount in cents for the payment that will be charged
* currency - currency of the payment
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to mention that it should be the same as the booking currency.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


We also recommend including more details like `fullname`, `email`, `zip` and other address related field.

You can find more about the payments' attributes and how to create them [here](/reference/endpoints/payments/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

"card_number": 4111111111111111,
"cardholder_name": "John Doe",
"expires_at_month": "12",
"expires_at_year": "2020"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing comma

"address1": "some address 1 / 10",
"zip": "12312",
"city": "San Francisco",
"country_code": "US"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to provide state if using a US example.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


## Executing Payment

Once you have created a payment, you need to take its id and collect the credit card data.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Odd wording regarding credit card data collection. What about?

Once you have created a payment, you need to execute the payment using its id and the credit card data.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, looks sounds better.

@Azdaroth
Copy link
Member Author

@ZenCocoon Done.

@Azdaroth Azdaroth changed the title [WIP] Secure Payments By BookingSync Secure Payments By BookingSync May 22, 2017
We also recommend including more details like `fullname`, `email`, `zip` and other address related field.

You can find more about the payments' attributes and how to create them [here](/reference/endpoints/payments/).
You can find more about the payments' attributes and how to create themin the [payments endpoint documentation](/reference/endpoints/payments/).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo

@Azdaroth Azdaroth merged commit af490bb into master May 23, 2017
@Azdaroth Azdaroth deleted the secure-payments-by-bookings-sync branch May 23, 2017 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants