This shows you the differences between two versions of the page.
en:girocheckout:sofortuw:start [2018/11/16 15:07] thorstenmarx [Initialization of a SOFORT payment] |
en:girocheckout:sofortuw:start [2021/04/12 14:33] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== SOFORT Überweisung ====== | ||
- | |||
- | You may find further information on the payment method " | ||
- | |||
- | ===== Test data ===== | ||
- | |||
- | {{page> | ||
- | |||
- | ===== Workflow ===== | ||
- | <uml> | ||
- | hide footbox | ||
- | |||
- | participant " | ||
- | participant " | ||
- | participant " | ||
- | participant " | ||
- | |||
- | autonumber | ||
- | |||
- | customer -> shop: | ||
- | shop -> girocheckout: | ||
- | girocheckout -> sofort: | ||
- | sofort -> girocheckout: | ||
- | girocheckout -> shop: | ||
- | shop -> customer: | ||
- | customer -> sofort: | ||
- | sofort -> customer: | ||
- | customer -> sofort: | ||
- | sofort -> sofort: | ||
- | sofort -> girocheckout: | ||
- | girocheckout -> customer: | ||
- | sofort -> girocheckout: | ||
- | girocheckout -> shop: | ||
- | shop -> shop: | ||
- | shop -> girocheckout: | ||
- | |||
- | center footer (c)2016 by GiroSolution AG | ||
- | </ | ||
- | |||
- | - Customer selects payment method Sofortüberweisung | ||
- | - Shop initiates transaction for Sofortüberweisung ([[en: | ||
- | - GiroCheckout initializes transaction at SOFORT | ||
- | - SOFORT transmits payment URL to GiroCheckout | ||
- | - Shop receives response with payment URL (transaction ends in case of error) | ||
- | - Shop sends payment URL to customer browser | ||
- | - Customer browser redirects to Sofortüberweisung | ||
- | - Sofortüberweisung requests payment data from customer | ||
- | - Customer enters payment data and authorizes transaction | ||
- | - SOFORT carries out transaction | ||
- | - SOFORT calls Girocheckout for customer redirect | ||
- | - Girocheckout redirects customer to result page | ||
- | - SOFORT informs GiroCheckout about transaction outcome | ||
- | - GiroCheckout notifies Shop about transaction outcome ([[en: | ||
- | - Shop processes transaction outcome | ||
- | - Shop sends HTTP status code to GiroCheckout | ||
- | |||
- | ===== API-Functions ===== | ||
- | |||
- | ==== Overview ===== | ||
- | |||
- | As shown in the workflow diagram above, there are several API calls during a Sofortüberweisung transaction. | ||
- | |||
- | - Initialize transaction | ||
- | - Transmit payment information to merchant | ||
- | - Payment information with redirect of customer browser back to merchant (triggered by customer after payment) | ||
- | |||
- | Below, the API fields and calls are explained in detail. | ||
- | |||
- | |||
- | ==== Initialization of a SOFORT payment ==== | ||
- | |||
- | A successful initialization creates a reference number and transmits a redirection link to the merchant. The link leads to the SOFORT website where the customer carries out the payment process. The customer must be redirected to this URL. This may happen by means of an HTTP redirect header, an HTML page with a corresponding meta tag or through Javascript. | ||
- | |||
- | === Request === | ||
- | **URL:** https:// | ||
- | **Provided by:** GiroCheckout \\ | ||
- | **Called by:** Merchant | ||
- | |||
- | == POST Parameters == | ||
- | ^Name | ||
- | |merchantId | ||
- | |projectId | ||
- | |merchantTxId | ||
- | |amount | ||
- | |currency | ||
- | |purpose | ||
- | |bic |Optional | ||
- | |urlRedirect | ||
- | |urlNotify | ||
- | |hash | ||
- | |||
- | == Example == | ||
- | {{page> | ||
- | |||
- | === Response === | ||
- | The response contains a JSON Object. The field rc returns an error code. If rc = 0 is returned, the transaction was successfully initialized. The response contains a transaction number and the redirection URL to the SOFORT payment page. | ||
- | |||
- | == Parameters == | ||
- | ^Name | ||
- | |rc | ||
- | |msg |Yes | ||
- | |reference | ||
- | |redirect | ||
- | ^HEADER Parameters^^^^ | ||
- | |hash | ||
- | |||
- | == Example in case of success == | ||
- | {{page> | ||
- | |||
- | == Example in case of error == | ||
- | {{page> | ||
- | |||
- | |||
- | ==== Notification about transaction outcome ==== | ||
- | |||
- | The outcome of a SOFORT payment is sent to the URL specified in the parameter // | ||
- | |||
- | Because of the workflow in SOFORT transactions, | ||
- | |||
- | === Request === | ||
- | **URL:** notifyUrl from transaction initialization \\ | ||
- | **Provided by:** Merchant \\ | ||
- | **Called by:** GiroCheckout | ||
- | |||
- | == GET Parameters == | ||
- | ^Name | ||
- | |gcReference | ||
- | |gcMerchantTxId | ||
- | |gcBackendTxId | ||
- | |gcAmount | ||
- | |gcCurrency | ||
- | |gcResultPayment | ||
- | |gcHash | ||
- | |||
- | === Response === | ||
- | As a response to the GET request, one of the following HTTP status codes is expected: | ||
- | |||
- | ^HTTP status code ^Description | ||
- | |200 (OK) |The notification was processed correctly. | | ||
- | |400 (Bad Request) | ||
- | |All others | ||
- | |||
- | ==== Redirection of customer to merchant ==== | ||
- | After completion of the SOFORT payment, the customer may return to the merchant via a link. A redirection occurs only once the customer has clicked either the " | ||
- | |||
- | === Request === | ||
- | **URL:** redirectUrl from transaction initialization \\ | ||
- | **Provided by:** Merchant \\ | ||
- | **Called by:** GiroCheckout | ||
- | |||
- | == GET Parameters == | ||
- | ^Name | ||
- | |gcReference | ||
- | |gcMerchantTxId | ||
- | |gcBackendTxId | ||
- | |gcAmount | ||
- | |gcCurrency | ||
- | |gcResultPayment | ||
- | |gcHash | ||