User Tools

Site Tools


en:girocheckout:sofortuw:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 "SOFORT Überweisung" here: https://www.girosolution.de/girocheckout/fuer-haendler/. 
- 
-===== Test data ===== 
- 
-{{page>en:testdata:sofortuw&noheader&nofooter}} 
- 
-===== Workflow ===== 
-<uml> 
-hide footbox 
- 
-participant "Customer" as customer 
-participant "Shop" as shop 
-participant "GiroCheckout" as girocheckout 
-participant "Sofort" as sofort 
- 
-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 
-</uml> 
- 
-  - Customer selects payment method Sofortüberweisung 
-  - Shop initiates transaction for Sofortüberweisung ([[en:girocheckout:sofortuw:start#initialization_of _a_sofort_payment|Initialization]]) 
-  - 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:girocheckout:sofortuw:start#notification_about_transaction_outcome|Notification]]) 
-  - 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://payment.girosolution.de/girocheckout/api/v2/transaction/start \\ 
-**Provided by:** GiroCheckout \\ 
-**Called by:** Merchant 
- 
-== POST Parameters == 
-^Name           ^Mandatory  ^Type        ^Description   ^ 
-|merchantId     |Yes       |Integer     |Merchant ID of a SOFORT project | 
-|projectId      |Yes       |integer     |Project ID of a SOFORT project | 
-|merchantTxId   |Yes       |String(255) |Unique transaction ID of the merchant | 
-|amount         |Yes       |Integer     |Amount in cents\\ If kind = 2, then specify an amount of 0 | 
-|currency       |Yes       |String(3)   |Currency of the transaction\\ EUR = Euros (default) | 
-|purpose        |Yes       |String(27)  |Purpose of the SOFORT Überweisung | 
-|bic            |Optional  |String(11)  |BIC (8 or 11-digits) | 
-|urlRedirect    |Yes       |String      |URL to redirect the customer to after the payment. | 
-|urlNotify      |Yes       |String      |URL for notification of the payment outcome. | 
-|hash           |Yes       |String      |HMAC MD5 hash on all the values of the call. See  [[en:girocheckout:general:start#hash_generation|hash generation]] | 
- 
-== Example == 
-{{page>codesamples:sofortuw#transactionstart.request&noheader&nofooter}} 
- 
-=== 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           ^Mandatory  ^Type      ^Description   ^ 
-|rc             |Yes       |Integer   |[[en:girocheckout:errorcodes|Error code]] | 
-|msg            |Yes       |String    |Additional information in case of error | 
-|reference      |Yes       |String    |Unique GiroCheckout transaction ID | 
-|redirect       |Yes       |String    |Redirect URL to lead the customer to the SOFORT payment page| 
-^HEADER Parameters^^^^ 
-|hash           |Yes       |String    |HMAC MD5 hash on all values of the response. See [[en:girocheckout:general:start#hash_generation|Response hash]] | 
- 
-== Example in case of success == 
-{{page>codesamples:sofortuw#transactionstart.response.true&noheader&nofooter}} 
- 
-== Example in case of error == 
-{{page>codesamples:sofortuw#transactionstart.response.false&noheader&nofooter}} 
- 
- 
-==== Notification about transaction outcome ==== 
- 
-The outcome of a SOFORT payment is sent to the URL specified in the parameter //urlNotify//. This notification serves the purpose of informing the merchant about the transaction result. This information enables the merchant to modify his transaction status accordingly. The payment result of the SOFORT transaction can be found in the field gcResultPayment.  
- 
-Because of the workflow in SOFORT transactions, there is **no automatic redirection of the customer** to the URL specified in the //urlRedirect// parameter. A redirection occurs only once the customer has clicked either the "Cancel" or the "Back to Shop" button. 
- 
-=== Request === 
-**URL:** notifyUrl from transaction initialization \\ 
-**Provided by:** Merchant \\ 
-**Called by:** GiroCheckout 
- 
-== GET Parameters == 
-^Name             ^Mandatory    ^  Type        ^Description   ^ 
-|gcReference      |Yes       |String      | GiroCheckout transaction ID | 
-|gcMerchantTxId   |Yes       | String     | Merchant transaction ID | 
-|gcBackendTxId    |Yes       |String      | Payment processor transaction ID | 
-|gcAmount         |Yes       |Integer     | For currencies with decimals, specify amount in the smallest currency unit, e.g. Cent | 
-|gcCurrency       |Yes       |String      | Currency | 
-|gcResultPayment  |Yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Result codes of the SOFORT payment]]| 
-|gcHash           |Yes       |String      | HMAC MD5 hash on all values of the call. See  [[en:girocheckout:general:start#hash_generation|Hash generation]] | 
- 
-=== 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)  |The merchant didn't process the notification and doesn't want to be notified again. | 
-|All others         |The notification is repeated every 30 minutes for a maximum of 10 times, until the merchant either returns HTTP status code 200 or 400. | 
- 
-==== 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 "Cancel" or the "Back to Shop" button. This redirection is not done automatically.  
- 
-=== Request === 
-**URL:** redirectUrl from transaction initialization \\ 
-**Provided by:** Merchant \\ 
-**Called by:** GiroCheckout 
- 
-== GET Parameters == 
-^Name             ^Mandatory  ^Type        ^Description   ^ 
-|gcReference      |Yes       |String      | GiroCheckout transaktion ID | 
-|gcMerchantTxId   |Yes       | String     | Merchant transaktion ID | 
-|gcBackendTxId    |Yes       |String      | Payment processor transaction ID | 
-|gcAmount         |Yes       |Integer     | For currencies with decimals, specify amount in the smallest currency unit, e.g. Cent | 
-|gcCurrency       |Yes       |String      | Currency | 
-|gcResultPayment  |Yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Result codes of the SOFORT payment]]| 
-|gcHash           |Yes       |String      | HMAC MD5 hash on all values of the call. See  [[en:girocheckout:general:start#hash_generation|Hash generation]] | 
  
en/girocheckout/sofortuw/start.txt · Last modified: 2021/04/12 14:33