fjbender / simple-php-integration

This is a very simple Payone Integration in PHP
https://www.payone.de/
Other
17 stars 5 forks source link

The difference between request types #7

Closed ahmeddabak closed 6 years ago

ahmeddabak commented 6 years ago

Hi @fjbender ,

I am developing a package for laravel, that should be able to work with payone server api.

ideenkonzept/payone

my problem is that i am not understanding the difference between "preauthorization + capture" and "authorization"

i have read the documentation, and i have checked the diagrams, but still can not understand it, can you please help me understanding when should i use each.

many thanks for the cool work, and the php samples you provided.

fjbender commented 6 years ago

Hi @ahmeddabak,

Great to see that this documentation is somewhat useful :) Really looking forward to your Laravel package!

The main difference between authorization and preauthorization is, that with authorization the funds are due instantly, while with preauthorization it is merely an "arrangement to pay". Funds in the preauthorization mode are due when a capture call is sent. With certain payment methods, the preauthorized funds are reserved (e.g. on a credit card), this is, however, not always the case. The time of the capture has implications on e.g. the dunning process as well.

To make a better example:

Imagine a standard fashion retailer. They would normally use a preauthorization workflow. The amount of the order is preauthorized when the customer finishes their checkout. When the goods are shipped (maybe partially, as not all items might be in stock), a capture API call is sent to indicate the funds are due now. There can be more than one capture call for a single preauthorization.

On the other hand, a merchant of digital content (e.g. e-books) would typically use an authorization flow to be able to make the goods available immediately.

In a typical integration, the merchant would be able to configure in their backend, which mode to use in which setting for which payment method.

ahmeddabak commented 6 years ago

I think this could not be better explained, this answer should be in the documentation 🥇

fjbender commented 6 years ago

Added with 510c082d5baa1d00474fbc3cde7c4098cffb7458

Thanks for your feedback :)