csob / paymentgateway

English documentation of the ČSOB Payment Gateway that offers an API for credit card payments, Apple Pay, Google Pay, mallpay and ČSOB Payment Button.
https://platbakartou.csob.cz/platebni-brana
GNU General Public License v3.0
121 stars 67 forks source link

Recurring payments in v19 [help wanted] #690

Open Darlynnnn opened 3 months ago

Darlynnnn commented 3 months ago

Are recurring payments supported? The wiki states endpoint but the recurring payment is not mentioned anywhere else, not even in the examples. Or are they not supported anymore?

And is recurring payment same as autopay in this context? E.g payments used for subscription services and automatic payments in regular intervals until canceled.

Thanks.

jgrmelova commented 3 months ago

Hello, 

you can use OneClick payments  - Payments without the customer's presence (“Merchant Initiated Payment”). 

More information about this payments: https://github.com/csob/paymentgateway/wiki/OneClick-Payment#authenticating-oneclick-payments

Methods for OneClick Payment: https://github.com/csob/paymentgateway/wiki/Methods-for-OneClick-Payment

If you have questions, let us know. Have a nice day.


Jana Grmelová

Darlynnnn commented 3 months ago

Hi,

thanks for the reply.

According to the link you have provided

If the customer wants to pay the next time they visit the e-shop, the merchant offers OneClick payment saved by card

Which indicates further manual action from customer for renewal of the payment, i'm looking for automatic subscription style renewal - if it is supported.

jgrmelova commented 3 months ago

Hello,

I meant this part of the documentation:

Payments without the customer's presence (“Merchant Initiated Payment”)

Payment without the customer's presence takes place on the basis of an agreement between the merchant and the customer that the same or different amounts will be regularly or irregularly deducted from their card. It can be, for example, a subscription payment or a payment in a taxi application, where the final price is calculated without the customer's presence. Such payment does not have to be authenticated.

More information: https://github.com/csob/paymentgateway/wiki/OneClick-Payment#authenticating-oneclick-payments-


Jana Grmelová

Darlynnnn commented 3 months ago

Hi @jgrmelova

Thanks for answers.

I seem not to understand the correct flow for the recurring oneclick payment.

In the API the flow is as follows:

1) oneclick/echo - to validate template 2) oneclick/init - to init payment 3) oneclick/process - to process the payment

oneclick/init requires origPayId as param, however where do i get this ?

Using the java example provided in the repository , i tried to:

1) first make basic payment - payment/init and payment/process 2) pass payId returned from these calls to oneclick payments

But it doesnt work and still return status code 700 - template not found. So what is the process of obtaining the origPayId / creating it?

Thanks.

jgrmelova commented 2 months ago

Hello,

At first you create a OneClick payment template.

Create a OneClick payment template

The initial payment is very similar to a regular card payment at the payment gateway. The only difference is that in the e-shop the customer chooses to store the card for the next payment. It is absolutely necessary to obtain this consent and at the same time it is not allowed to hide the consent - the consent must always take place by active customer selection ("check boxes checked by default" are not allowed). After obtaining approval, you indicate to the payment gateway when creating the payment that you want to create a template for OneClick payment (see also the API documentation of the payment/init). If this initial payment is successfully authorised, the payment gateway creates a template, which it identifies using the payID of the initial payment.

payment/init method (choose oneclickPayment)

Item: payOperation Type: String Description: Type of payment operation. Allowed values: payment, oneclickPayment, customPayment. Optional parameter since version 1.9, default value: payment.

This transaction's PayID (OneClick payment template) is "origPayId", which you use for next transactions in oneclick/init method.

image


Jana Grmelová