This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:girocheckout:giropay:start [2016/06/13 16:40] michaelheumann |
en:girocheckout:giropay:start [2024/03/13 20:36] michaelheumann |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== giropay/ giropay-ID | + | ====== giropay ====== |
- | Information about giropay can be found under [[https:// | + | |
**giropay can only process EURO payments.** | **giropay can only process EURO payments.** | ||
+ | |||
- | ===== Test Data ===== | + | <WRAP center round info 70%> |
- | {{page> | + | **Important information** \\ |
+ | During the coming months, we will be gradually ending our support for the existing giropay API (see [[/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | <WRAP center round info 70%> | ||
+ | **API change** \\ | ||
+ | The following change is being made to the API in the following days: \\ | ||
+ | The parameter merchantReconciliationReferenceNumber is replaced by merchantOrderReferenceNumber, | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Test data giropay | ||
+ | {{page> | ||
===== Workflow ===== | ===== Workflow ===== | ||
Line 21: | Line 34: | ||
buyer -> shop: | buyer -> shop: | ||
- | shop -> girocheckout: | ||
- | girocheckout -> shop: | ||
shop -> girocheckout: | shop -> girocheckout: | ||
girocheckout -> giropay: | girocheckout -> giropay: | ||
Line 28: | Line 39: | ||
girocheckout -> shop: | girocheckout -> shop: | ||
shop -> buyer: | shop -> buyer: | ||
- | buyer -> bank: | + | buyer -> giropay: |
+ | giropay | ||
bank -> buyer: | bank -> buyer: | ||
buyer -> bank: | buyer -> bank: | ||
Line 40: | Line 52: | ||
giropay -> shop: | giropay -> shop: | ||
- | center footer (c)2016 by GiroSolution AG | + | center footer (c)2021 by GiroSolution AG |
</ | </ | ||
- | - buyer/ customer chooses | + | - buyer/ customer chooses giropay/ giropay-ID |
- | - merchant checks the bankstatus ([[en: | + | |
- | - merchant receives a reply, if bank supports | + | |
- merchant initialises giropay/ | - merchant initialises giropay/ | ||
- GiroCheckout initialises request at giropay | - GiroCheckout initialises request at giropay | ||
Line 51: | Line 61: | ||
- merchant gets response about initialisation (if an issue occurs the transaction is finished) | - merchant gets response about initialisation (if an issue occurs the transaction is finished) | ||
- merchant sends redirect URL to buyer/ customer | - merchant sends redirect URL to buyer/ customer | ||
- | - the buyer' | + | - the buyer' |
+ | - giropay redirects to the customer' | ||
- bank shows login page | - bank shows login page | ||
- buyer/ customer authorises giropay payment/ giropay-ID | - buyer/ customer authorises giropay payment/ giropay-ID | ||
Line 67: | Line 78: | ||
==== Overview ===== | ==== Overview ===== | ||
- | As shown in the workflow there are different API calls during a giropay transaction | + | As shown in the workflow there are different API calls during a giropay transaction. |
- | - check bankstatus | ||
- initialise transaction | - initialise transaction | ||
- payment result notification to merchant | - payment result notification to merchant | ||
- | - buyer redirection to the merchant (triggered by buyer) | + | - buyer redirection to the merchant (triggered by buyer after the payment or automatically after a few seconds) |
- | |||
- | ==== Check bankstatus ==== | ||
- | This API call checks if a bank supports the giropay payment method or giropay-ID verification. Therefore the BIC of the buyer' | ||
- | |||
- | === API call === | ||
- | **URL:** https:// | ||
- | **provided by:** GiroCheckout \\ | ||
- | **called by:** merchant | ||
- | |||
- | == POST parameter == | ||
- | ^parameter | ||
- | |merchantId | ||
- | |projectId | ||
- | |bic |yes | ||
- | |hash | ||
- | |||
- | == Example == | ||
- | {{page> | ||
- | |||
- | === Reply === | ||
- | The reply contains an encoded JSON string. An response code is submitted in the field rc. If the response contains **rc = 0**, the bank supports giropay. Additional information which feature of giropay is supported can be found in the //giropay// and // | ||
- | |||
- | == JSON parameter == | ||
- | ^name | ||
- | |rc | ||
- | |msg |yes | ||
- | |bankcode | ||
- | |bic |optional | ||
- | |bankname | ||
- | |giropay | ||
- | |giropayid | ||
- | ^HEADER parameter^^^^ | ||
- | |hash | ||
- | |||
- | == Example in case of success == | ||
- | {{page> | ||
- | |||
- | == Example in case of error == | ||
- | {{page> | ||
- | |||
- | ==== giropay issuer bank request ==== | ||
- | Returns a list which contains all supported giropay issuer banks. The buyer has to choose his one. | ||
- | |||
- | **URL:** https:// | ||
- | **provided by:** GiroSolution AG \\ | ||
- | **called by:** Händler | ||
- | |||
- | == POST parameter == | ||
- | ^name | ||
- | |merchantId | ||
- | |projectId | ||
- | |hash | ||
- | |||
- | == Example == | ||
- | {{page> | ||
- | |||
- | === Reply === | ||
- | The reply contains an encoded JSON string. An response code is submitted in the field rc. If the response contains **rc = 0**, the request was successful. | ||
- | |||
- | == JSON parameter == | ||
- | ^name | ||
- | |rc | ||
- | |msg |yes | ||
- | |issuer | ||
- | |||
- | == Example == | ||
- | {{page> | ||
Line 153: | Line 96: | ||
**called by:** Merchant | **called by:** Merchant | ||
- | == POST parameter | + | == POST parameters |
- | ^Name | + | ^Name |
- | ^ | + | |merchantId |
- | |merchantId | + | |projectId |
- | |projectId | + | |merchantTxId |
- | |merchantTxId | + | |amount |
- | |amount | + | |currency |
- | |currency | + | |purpose |
- | |purpose | + | |shoppingCartType |
- | |bic | + | |shippingAddresseFirstName |(see descr.) |
- | |iban |optional |optional |optional | + | |shippingAddresseLastName |
- | |info1Label|optional |optional |optional | + | |shippingCompany |
- | |info1Text | + | |shippingAdditionalAddressInformation |
- | |info2Label|optional |optional |optional | + | |shippingStreet |
- | |info2Text | + | |shippingStreetNumber |
- | |info3Label|optional |optional |optional | + | |shippingZipCode |
- | |info3Text | + | |shippingCity |
- | |info4Label|optional |optional |optional | + | |shippingCountry |
- | |info4Text | + | |shippingEmail |
- | |info5Label|optional |optional |optional | + | |merchantOrderReferenceNumber |
- | |info5Text | + | |cart |Optional |
- | |urlRedirect | + | |deliveryType |
- | |urlNotify | + | |urlRedirect |
- | |hash |yes | + | |urlNotify |
- | + | |kassenzeichen | |
- | + | |giropayCustomerId | |
- | <WRAP center round info 60%> | + | |hash |
- | Through the info parameter you can display additional information on the payment form of the bank. There are up to info 5 elements possible. One info element consists of one label and one infotext. | + | |
- | </ | + | |
== Example == | == Example == | ||
Line 194: | Line 135: | ||
^name | ^name | ||
|rc | |rc | ||
- | |msg |yes | + | |msg |yes |
- | |reference | + | |reference |
- | |redirect | + | |redirect |
^HEADER parameter^^^^ | ^HEADER parameter^^^^ | ||
- | |hash | + | |hash |
== Example in case of success == | == Example in case of success == | ||
Line 205: | Line 146: | ||
== Example in case of error == | == Example in case of error == | ||
{{page> | {{page> | ||
+ | |||
+ | === SEPA compliant characters === | ||
+ | {{page> | ||
+ | |||
+ | === cart field === | ||
+ | JSON array with item objects: | ||
+ | |||
+ | ^Name | ||
+ | |name | ||
+ | |ean |Optional | ||
+ | |quantity | ||
+ | |grossAmount | ||
+ | |||
+ | == Example == | ||
+ | < | ||
+ | [ { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } ] | ||
+ | </ | ||
Line 211: | Line 178: | ||
The result of a initialised transaction will be submitted to the prior in the // | The result of a initialised transaction will be submitted to the prior in the // | ||
- | The result of a giropay payment is contained in the field // | + | The result of a giropay payment is contained in the field // |
- | Due to the internal giropay process, a redirection | + | At the end of the payment process on giriopay-side, |
=== Request === | === Request === | ||
Line 223: | Line 190: | ||
^name | ^name | ||
^ | ^ | ||
- | |gcReference | + | |gcReference |
- | |gcMerchantTxId | + | |gcMerchantTxId |
- | |gcBackendTxId | + | |gcBackendTxId |
|gcAmount | |gcAmount | ||
- | |gcCurrency | + | |gcCurrency |
- | |gcResultPayment | + | |gcResultPayment |
- | |gcResultAVS | + | |gcHash |
- | |gcObvName | + | |
- | |gcHash | + | |
=== Reply === | === Reply === | ||
Line 242: | Line 207: | ||
==== Redirection of the customer to merchant ==== | ==== Redirection of the customer to merchant ==== | ||
- | After completing the payment, the customer may return to the merchant through a link. This return | + | After completing the payment, the customer may return to the merchant through a link. After 5 seconds, there is an automatic redirect. |
=== Request === | === Request === | ||
**URL:** redirectUrl of the prior init transaction call \\ | **URL:** redirectUrl of the prior init transaction call \\ | ||
- | **provided | + | **Provided |
- | **called | + | **Called |
== GET parameter == | == GET parameter == | ||
^name ^ mandatory | ^name ^ mandatory | ||
^ ^ giropay^giropay-ID^giropay+giropay-ID | ^ ^ giropay^giropay-ID^giropay+giropay-ID | ||
- | |gcReference | + | |gcReference |
- | |gcMerchantTxId | + | |gcMerchantTxId |
- | |gcBackendTxId | + | |gcBackendTxId |
|gcAmount | |gcAmount | ||
- | |gcCurrency | + | |gcCurrency |
- | |gcResultPayment | + | |gcResultPayment |
- | |gcResultAVS | + | |gcHash |
- | |gcObvName | + | |
- | |gcHash | + | ===== Retrieve sender information ===== |
+ | This service allows the retrieval of the information associated to the sender of a completed transaction. As a response to the given reference number, the account holder, IBAN and BIC of the customer are returned. | ||
+ | |||
+ | === API call === | ||
+ | **URL:** https:// | ||
+ | **Provided by:** GiroCheckout \\ | ||
+ | **Called by:** Merchant | ||
+ | |||
+ | == POST Parameters == | ||
+ | ^Name | ||
+ | |merchantId | ||
+ | |projectId | ||
+ | |reference | ||
+ | |hash | ||
+ | |||
+ | == Example == | ||
+ | {{page> | ||
+ | |||
+ | === Response === | ||
+ | The response is a JSON object. The rc field returns an error code. If **rc = 0** is returned, the corresponding fields contain the sender information. | ||
+ | |||
+ | == JSON Parameters == | ||
+ | ^Name | ||
+ | |rc |yes |Integer | ||
+ | |msg | ||
+ | |accountholder | ||
+ | |iban | ||
+ | |bic |Optional | ||
+ | ^HEADER parameter^^^^ | ||
+ | |hash |yes | ||
+ | |||
+ | == Example in case of success == | ||
+ | {{page> | ||
+ | |||
+ | == Example in case of error == | ||
+ | {{page> | ||
- | ===== Bank selection widget ===== | ||
- | {{page> | ||