This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:girocheckout:paypage:start [2017/03/20 15:27] michaelheumann |
en:girocheckout:paypage:start [2025/06/04 14:44] (current) michaelheumann |
||
---|---|---|---|
Line 1: | Line 1: | ||
~~NOCACHE~~ | ~~NOCACHE~~ | ||
====== Payment Page ====== | ====== Payment Page ====== | ||
+ | |||
This document describes all flows and interfaces that are required for an integration of the GiroCheckout Payment Page. | This document describes all flows and interfaces that are required for an integration of the GiroCheckout Payment Page. | ||
Line 7: | Line 8: | ||
**Example** | **Example** | ||
- | {{: | + | {{: |
+ | |||
+ | |||
+ | <WRAP center round info> | ||
+ | ==== Indication regarding the purpose field ==== | ||
+ | Depending on the payment method that is selected by the buyer, not all characters in the purpose fields may be passed on, because the maximum lengths differ among the payment methods (for example, 27 characters in case of giropay). | ||
+ | |||
+ | The final purpose text may be adapted by the payment page to fit the requirements, | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Notes on 3-D Secure 2.0 ==== | ||
+ | |||
+ | Since January 21st 2021, the security procedure for credit card payments "3D Secure 2.0" - introduced within the PSD2 efforts - has been mandatory for all payment providers. This API documentation already contains the fields necessary for this (field names beginning with " | ||
+ | |||
+ | **Please keep in mind**: The parameters related to 3D Secure 2.0 are subject to changes due to modifications in the EMVCo 3-D Secure specs. | ||
+ | ===== Supported payment methods ===== | ||
The following payment methods are currently supported: | The following payment methods are currently supported: | ||
- | * giropay | + | |
- | | + | ^ Payment method ^ Code ^ |
- | | + | | eps | 2 | |
- | * credit | + | | iDEAL | 12 | |
- | * direct | + | | Credit |
- | * direct | + | | Direct |
- | * direct debit with guarantee | + | | Direct |
- | | + | | Bluecode | 26 | |
- | * paydirekt | + | | Maestro | 33 | |
- | * SOFORT Überweisung | + | | PayPal |
+ | | Klarna | 38 | | ||
+ | | Direktüberweisung| 37 | | ||
+ | | Apple Pay| 36 | | ||
+ | | Google Pay| 39 | | ||
===== Payment initialization through the payment page ===== | ===== Payment initialization through the payment page ===== | ||
Line 54: | Line 76: | ||
shop -> customer: | shop -> customer: | ||
- | center footer (c)2017 by GiroSolution AG | + | center footer (c)2022 by S-Public Services GmbH |
</ | </ | ||
- Customer visits checkout section of the shop in order to pay for his order | - Customer visits checkout section of the shop in order to pay for his order | ||
- | - Shop initializes a paypage transaction ([[girocheckout: | + | - Shop initializes a paypage transaction ([[en:girocheckout: |
- GiroCheckout initializes transaction internally and returns paypage URL | - GiroCheckout initializes transaction internally and returns paypage URL | ||
- Shop redirects customer to the paypage, customer selects payment method | - Shop redirects customer to the paypage, customer selects payment method | ||
Line 64: | Line 86: | ||
- GiroCheckout returns URL of the payment form to the paypage | - GiroCheckout returns URL of the payment form to the paypage | ||
- Paypage redirects customer to the payment form of the payment processor, customer enters data and pays | - Paypage redirects customer to the payment form of the payment processor, customer enters data and pays | ||
- | - Payment processor informs GiroCheckout about | + | - Payment processor informs GiroCheckout about transaction result |
- | - GiroCheckout | + | - GiroCheckout |
- | - Shop verarbeitet Transaktionsausgang | + | - Shop processes transaction result |
- | - Shop sendet | + | - Shop sends HTTP status code to GiroCheckout |
- | - GiroCheckout | + | - GiroCheckout |
- | - Shop zeigt Kunde Ergebnis an | + | - Shop displays result to customer |
- | ===== API-Funktionen | + | ===== API functions |
- | ==== Initialisierung ===== | + | ==== Project request |
+ | In case you have the requirement of only offering in your payment or donation page payment methods associated to certain projects in your GiroCockpit, | ||
+ | |||
+ | **URL:** https:// | ||
+ | **Provided by:** S-Public Services GmbH \\ | ||
+ | **Called by:** Merchant | ||
- | === POST Parameter | + | == POST Parameters == |
+ | ^Name | ||
+ | |merchantId | ||
+ | |projectId | ||
+ | |hash | ||
+ | |||
+ | == Example == | ||
+ | {{page> | ||
+ | |||
+ | === Response === | ||
+ | The response consists of a JSON object. The field rc returns an error code. If rc = 0 is returned, the call was successful. In the response, you receive the element " | ||
+ | |||
+ | == Parameters == | ||
+ | ^Name | ||
+ | |rc | ||
+ | |msg |Yes | ||
+ | |projects | ||
+ | ^HEADER Parameters^^^^ | ||
+ | |hash | ||
+ | |||
+ | == Example == | ||
+ | {{page> | ||
+ | |||
+ | |||
+ | ==== Initialization ===== | ||
+ | |||
+ | === POST Parameters | ||
URL https:// | URL https:// | ||
- | ^Name ^Pflicht | + | ^Name ^Mandatory |
- | |merchantId | + | |merchantId |
- | |projectId | + | |projectId |
- | |merchantTxId | + | |merchantTxId |
- | |amount | + | |amount |
- | |currency | + | |currency |
- | |purpose | + | |purpose |
- | |description | + | |description |
- | |type | + | |pagetype |
- | |locale | + | |expirydate |
- | |paymethods | + | |single |
- | |pkn | + | |timeout |
- | |test |Ja | + | |type |
- | |successUrl | + | |locale |
- | |backUrl | + | |paymethods |
- | |failUrl | + | |payprojects |
- | |notifyUrl | + | |organization |
- | |hash |Ja | + | |freeamount |
+ | |fixedvalues | ||
+ | |minamount | ||
+ | |maxamount | ||
+ | |orderid | ||
+ | |projectlist | ||
+ | |pkn |Optional |String(50) | ||
+ | |test |Yes | ||
+ | |certdata | ||
+ | |otherpayments | ||
+ | |paydirektShoppingCartType |Optional | String(19) | ||
+ | |paydirektShippingFirstName |Optional | ||
+ | |paydirektShippingLastName | ||
+ | |paydirektShippingCompany | ||
+ | |paydirektShippingAdditionalAddressInformation |Optional | ||
+ | |paydirektShippingStreet | ||
+ | |paydirektShippingStreetNumber |Optional | ||
+ | |paydirektShippingZipCode | ||
+ | |paydirektShippingCity | ||
+ | |paydirektShippingCountry | ||
+ | |paydirektShippingEmail | ||
+ | |paydirektMerchantOrderReferenceNumber | ||
+ | |paydirektCart | ||
+ | |paydirektDeliveryType |Optional | String(12) | ||
+ | |successUrl | ||
+ | |backUrl | ||
+ | |failUrl | ||
+ | |notifyUrl | ||
+ | |tds2Address |optional |String(50) | For 3D Secure 2.0: Main address line (usually street and number) of the card holder' | ||
+ | |tds2Postcode |optional |String(10) | For 3D Secure 2.0: Postal code of the card holder' | ||
+ | |tds2City |optional |String(50) | For 3D Secure 2.0: City of the card holder' | ||
+ | |tds2Country |optional |String(2) | For 3D Secure 2.0: Country of the card holder' | ||
+ | |tds2Optional |optional |JSON String | For 3D Secure 2.0: JSON-String that contains further optional fields. A complete list of the available fields can be found underneath this table under [[en: | ||
+ | |mandateReference | optional |String(35) | ||
+ | numbers: 0 – 9 | ||
+ | characters: A – Z and a – z | ||
+ | special characters: & \ / = + , : ; . _ \ - ! ? | ||
+ | | | ||
+ | |mandateSignedOn | optional |String(10)| date (YYYY-MM-DD), | ||
+ | |mandateReceiverName |optional |String(70)| name of the recipient. If nothing is specified companies name from the master data is used. \\ | ||
+ | numbers: 0 – 9 | ||
+ | characters: A – Z and a – z | ||
+ | special characters: & / = + , : ; . _ - ! ? | ||
+ | | | ||
+ | |mandateSequence | optional |Integer |Sequence type of the SEPA direct debit. \\ 1 = single payment (default) \\ 2 = first payment of a sequence \\ 3 = recurring payment \\ 4 = last payment of a sequence | | ||
+ | |informationText | Optional | String(300) | Informational notification text that is displayed on the Payment Page right above the payment method selection. This text may contain certain HTML tags: <a> <em> < | ||
+ | |kassenzeichen | ||
+ | |qrcodeReturn | ||
+ | |billingAddress | ||
+ | |shippingAddress |Optional | JSON-String | Optional field for Klarna, Apple Pay and Google Pay that can contain the buyer' | ||
+ | |customerInfo | ||
+ | |basket | ||
+ | |hash |Yes | ||
- | === SEPA-konforme Zeichen | + | === SEPA compliant characters |
- | {{page>girocheckout:paypage:sepa:start& | + | {{page>en:resources:sepa-chars& |
- | === Zulässige Beschreibungszeichen | + | === Allowed description characters |
- | Folgende Zeichen sind für den Beschreibungstext | + | The following characters are allowed in the description text (field description): |
- | * Alle Buchstaben aller Sprachen, also auch Umlaute und spanische Sonderzeichen usw. | + | * All characrters of all languages, including German umlauts, Spanisch accented characters and so on. |
- | * Alle Satzzeichen | + | * All punctuation characters |
- | * Alle Ziffern | + | * All numerical digits |
- | * Symbole, die sich auf Währungen beziehen | + | * Symbols referring to currencies |
- | * Länge zwischen | + | * Length between |
- | === Zahlungsarten | + | === 3D Secure 2.0 Optional Fields (tds2Optional) |
- | Dies sind die zulässigen Werten für die im Parameter paymethods anzugebenden Zahlungsarten: | + | This is a JSON formatted object that has a hierarchical structure (2 levels) and contains the following sub-objects: |
- | ^ID | + | |
- | |1 | giropay | | + | * shippingddress |
- | |2 | eps | | + | * homePhoneNumber |
- | |6 | Lastschrift | | + | * mobilePhoneNumber |
- | |7 | Lastschrift mit Sperrdatei | | + | * workPhoneNumber |
- | |8 | Garantierte Lastschrift | | + | * cardholderAccountInfo |
- | |11 | Kreditkarte | | + | * tdsMerchantRiskIndicators |
- | |12 | iDEAL | | + | * tdsRequestorAuthenticationInformation |
- | |14 | PayPal | | + | * tdsTransactionAttributes |
- | |23 | paydirekt | | + | |
- | |27 | SOFORT Überweisung | | + | |
- | == Beispiel | + | Generally, the following fields (all optional) are available (fields in sub-objects are displayed as [sub-object name].[field]): |
+ | |||
+ | ^Name | ||
+ | |email |String(255) | The card holder' | ||
+ | |addressesMatch |Boolean | ||
+ | ^**// | ||
+ | |billingAddress.line2 |String(50) | Second line of the billing address. Format A-Z, a-z, 0-9, Blank, [-/ | ||
+ | |billingAddress.line3 |String(50) | Third line of the billing address. Format A-Z, a-z, 0-9, Blank, [-/ | ||
+ | |billingAddress.state |String(3) | Subdivision (state, province or the like) of a country according to ISO 3166-2. Format A-Z, max. 3. | | ||
+ | ^**// | ||
+ | |shippingAddress.line1 |String(50) | First line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/ | ||
+ | |shippingAddress.line2 |String(50) | Second line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/ | ||
+ | |shippingAddress.line3 |String(50) | Third line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/ | ||
+ | |shippingAddress.postcode |String(10) |Postal code of the shipping address, Format A-Z, a-z, 0-9, Blank, [-], max. 11 | | ||
+ | |shippingAddress.city |String(50) | City of the shipping address, Format A-Z, a-z, 0-9, Blank, [-/ | ||
+ | |shippingAddress.state |String(50) | Subdivision (state, province or the like) of a country according to ISO 3166-2. Format A-Z, max. 3 | | ||
+ | |shippingAddress.country |String(2) | Country of the shipping address, Format A-Z, max. 2. Two-letter country code according to the currently applicable standard ISO 3166. | | ||
+ | ^**// | ||
+ | |homePhoneNumber.country |Integer | Country code of the telephone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. | | ||
+ | |homePhoneNumber.regional |String(15) | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. | | ||
+ | ^**// | ||
+ | |mobilePhoneNumber.country |Integer | Country code of the mobile phone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. | | ||
+ | |mobilePhoneNumber.regional |String(15) | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. | | ||
+ | ^**// | ||
+ | |workPhoneNumber.country |Integer | Country code of the work phone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. | | ||
+ | |workPhoneNumber.regional |String(15) | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. | | ||
+ | ^**// | ||
+ | |cardholderAccountInfo.accountAgeIndicator |String(12) | Indicates when the customer' | ||
+ | |cardholderAccountInfo.passwordChangeIndicator |String(12) | Indicates when the password of the customer account was changed the last time. Possible values: " | ||
+ | |cardholderAccountInfo.paymentAccountAgeIndicator |String(12) | Indicates when the customer' | ||
+ | |cardholderAccountInfo.accountChange |String(12) | Indicates when the customer account in the shop was last modified, e.g. address change or new payment data. Possible values: " | ||
+ | |cardholderAccountInfo.shippingAddressAgeIndicator |String(12) | Indicates when the customer first used the current shipping address. Possible values: " | ||
+ | |cardholderAccountInfo.shippingNameIndicator |String(9) | Specifies if the card holder' | ||
+ | |cardholderAccountInfo.suspiciousAccountActivity |Boolean | Indicates if the shop experienced suspicious activities of the card holder (true) or not (false). | | ||
+ | |cardholderAccountInfo.provisioningDayCount |Integer | Number of "add card" attempts within the last 24 hours. Format 0-9, max. 3. | | ||
+ | ^**// | ||
+ | |tdsMerchantRiskIndicators.deliveryTimeframe |String(14) | Indicates when the customer will receive the merchandise. Possible values: " | ||
+ | |tdsMerchantRiskIndicators.deliveryEmailAddress |String(254) | Delivery email address of the customer in case of an electronic delivery. Format A-Z, a-z, 0-9, [_.+-@], max. 254. | | ||
+ | |tdsMerchantRiskIndicators.giftCardAmount |Integer | Amount of a gift card in major currency unit, e.g. 123,45 EUR is 123. Format 0-9, max. 10. | | ||
+ | |tdsMerchantRiskIndicators.giftCardCount |Integer | Total count of gift cards purchased. Format 0-9, max. 2. | | ||
+ | |tdsMerchantRiskIndicators.giftCardCurrency |Integer | Currency code of a gift card according to ISO 4217. Format A-Z, max. 3. | | ||
+ | |tdsMerchantRiskIndicators.preOrderDate |Date | In the case of a pre-ordered purchase: date when the merchandise is expected to be available. | | ||
+ | |tdsMerchantRiskIndicators.preOrderPurchaseIndicator |String(9) | Possible values: " | ||
+ | |tdsMerchantRiskIndicators.reorderItemsIndicator |String(9) | Indicates if the customer is reordering previously purchased merchandise: | ||
+ | |tdsMerchantRiskIndicators.shippingIndicator |String(16) | Specifies where the merchandise is delivered to. Possible values: " | ||
+ | ^**// | ||
+ | |tdsRequestorAuthenticationInformation.authenticationData |String(2048) | Authentication data of the customer. Format A-Z, a-z, 0-9 [!"# | ||
+ | |tdsRequestorAuthenticationInformation.authenticationTimestamp |DateTime | Date and time when the customer authenticated in the shop. Format JJJJ-MM-TTTHH: | ||
+ | |tdsRequestorAuthenticationInformation.authenticationMethod |String(17) | Specifies how the customer authenticated to the shop. Possile values: " | ||
+ | ^**// | ||
+ | |tdsTransactionAttributes.purchaseInstalmentData |Integer | Maximum number of authorisations permitted for instalment payments. Format 0-9, max. 3, Wert muss > 1 sein. | | ||
+ | |tdsTransactionAttributes.recurringExpiry |Date | Date after which no further authorisations shall be carried out. Format YYYY-MM-DD. | | ||
+ | |tdsTransactionAttributes.recurringFrequency |Integer | Minimum number of days between authorisations. Format 0-9, max. 4. | | ||
+ | |tdsTransactionAttributes.type |String(17) | Type of 3-D Secure 2.0 payment. Possible values: " | ||
+ | |||
+ | == Example of a tds2Optional string (formatted for demonstration purposes, should normally be specified in one line) == | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | == Example | ||
{{page> | {{page> | ||
- | === Antwort | + | === Response |
- | Die Antwort besteht aus einem JSON Objekt. Das Feld rc liefert einen Fehlercode zurück. Wird rc = 0 zurückgeliefert, wurde die Transaktion erfolgreich initialisiert. Sie bekommen als Antwort eine Referenznummer für die Payment Page und die redirectURL zum Formular zurück. | + | The response consists of a JSON object. The field rc returns an error code. If rc = 0 is returned, the transaction was successfully initialized. As a response, you receive a reference number for the payment page and the redirect URL that leads to the form. |
- | == Parameter | + | == Parameters |
- | ^Name ^Pflicht | + | ^Name ^Mandatory |
- | |rc |Ja |Integer | + | |rc |Yes |Integer |
- | |msg |Ja |String | + | |msg |Yes |String(255) |Additional information in case of an error | |
- | |reference | + | |reference |
- | |redirect | + | |url |
- | ^HEADER | + | |qrcode |
- | |hash |Ja |String | + | ^HEADER |
+ | |hash |Yes |String(32) |HMAC MD5 hash of all values of the response. See [[en:girocheckout: | ||
- | == Beispiel im Erfolgsfall | + | == Example in case of success |
{{page> | {{page> | ||
- | == Beispiel im Fehlerfall | + | == Example in case of failure |
{{page> | {{page> | ||
+ | === cart field === | ||
+ | JSON array with item objects: | ||
+ | |||
+ | ^Name | ||
+ | |name | ||
+ | |ean |Optional | ||
+ | |quantity | ||
+ | |grossAmount | ||
+ | |||
+ | == Example == | ||
+ | < | ||
+ | [ { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } ] | ||
+ | </ | ||
+ | |||
+ | ==== Notification about transaction result ==== | ||
+ | |||
+ | The result of a transaction is transmitted on 2 parallel paths. The notification and the redirect. | ||
+ | |||
+ | === Notification === | ||
+ | |||
+ | The first communication path is a host to host message sent to the URL specified in the parameter notifyUrl. This notification is used to inform the merchant about the result of the transaction, | ||
+ | |||
+ | == Request == | ||
+ | **URL:** notifyUrl from the payment page initialization \\ | ||
+ | **Provided by:** Merchant \\ | ||
+ | **Called by:** GiroCheckout \\ | ||
+ | **Method:** GET | ||
+ | |||
+ | ^Name | ||
+ | |gcPaymethod | ||
+ | |gcType | ||
+ | |gcProjectId | ||
+ | |gcReference | ||
+ | |gcMerchantTxId | ||
+ | |gcBackendTxId | ||
+ | |gcAmount | ||
+ | |gcCurrency | ||
+ | |gcResultPayment | ||
+ | |gcPkn | ||
+ | |gcCardnumber | ||
+ | |gcCardExpDate | ||
+ | |gcAccountHolder | ||
+ | |gcIban | ||
+ | |gcHash | ||
+ | |||
+ | === Redirect === | ||
+ | |||
+ | The second communication path is the redirection of the buyer within his/her browser to one of the three redirection URLs specified during initialization: | ||
+ | |||
+ | * successUrl: Is redirected to after successful payments. | ||
+ | * failUrl: Is redirected to when the payment was not successful or the customer clicked the cancel button on the page of the payment provider (bank, credit card processor etc.). | ||
+ | * backUrl: Is redirected to when the buyer has chosen not to go through with the payment and has clicked the back button on the payment page (please don't confuse this button with the cancel button of the payment method in the form displayed AFTER payment method selection, because that cancellation would then be a transaction abort that will be redirected to the failUrl). | ||
+ | |||
+ | The success and fail URL are called via the POST method and obtain the same parameters specified for the notification above. | ||
+ | |||
+ | |||
+ | ===== Other transaction types ===== | ||
+ | These transactions reference a previous transaction. | ||
+ | In the case of the payment page, please bear in mind that these transaction types (capture and refund) will refer to the underlying transaction carried out previously and therefore the action is only admissible if the corresponding payment method supports this. | ||
+ | |||
+ | **Example: | ||
+ | |||
+ | If a payment link is used to pay an invoice and the customer chooses the payment method creditcard, this transaction may later be refunded through the use of the payment page transaction reference number. If the initial transaction was an authorization (reservation), | ||
+ | |||
+ | Furthermore it is important to be aware that depending on how the payment or donation page was initialized (especially regarding the single parameter), there may be several payments that were completed through the page. In this case, where more than one successful payment is associated to the payment page reference number, the optional parameter ' | ||
+ | |||
+ | **Provided by:** GiroCheckout \\ | ||
+ | **Called by:** Merchant \\ | ||
+ | |||
+ | ==== Workflow ==== | ||
+ | |||
+ | <uml> | ||
+ | hide footbox | ||
+ | |||
+ | participant " | ||
+ | participant " | ||
+ | participant " | ||
+ | |||
+ | autonumber | ||
+ | |||
+ | shop -> girocheckout: | ||
+ | girocheckout -> cc: | ||
+ | cc -> girocheckout: | ||
+ | girocheckout -> shop: | ||
+ | |||
+ | center footer (c)2022 by S-Public Services GmbH | ||
+ | </ | ||
+ | |||
+ | - Shop sends reference to previous credit card transaction | ||
+ | - GiroCheckout sends transaction to credit card processor | ||
+ | - credit card processor transmits result to GiroCheckout | ||
+ | - Shop receives reply on transaction outcome ([[en: | ||
+ | |||
+ | ==== Capture ==== | ||
+ | {{page> | ||
+ | |||
+ | ==== Refund ==== | ||
+ | {{page> | ||
+ | |||
+ | === POST Parameters === | ||
+ | URL CAPTURE: https:// | ||
+ | URL REFUND: https:// | ||
+ | |||
+ | ^Name | ||
+ | |merchantId | ||
+ | |projectId | ||
+ | |merchantTxId | ||
+ | |amount | ||
+ | |currency | ||
+ | |reference | ||
+ | |purpose | ||
+ | |hash | ||
+ | |||
+ | == Example == | ||
+ | {{page> | ||
- | ==== Benachrichtigung über den Transaktionsausgang ==== | + | === Reply === |
+ | The reply is a JSON encoded string. The field rc contains the response code. If it is 0 the transaction was successfully initialized. The response also includes a transaction id and other information about the transaction. | ||
- | Der Ausgang einer Transaktion wird an die im successUrl- oder failUrl-Parameter angegebene URL übermittelt. Diese Rückmeldung dient dazu, dem Händler den Ausgang der Transaktion mitzuteilen. Durch diese Information kann der Transaktionsstatus beim Händler geändert werden. | + | == Parameters == |
- | Der Zahlungsausgang einer Transaktion steht im Feld gcResultPayment. | + | ^Name |
+ | |rc | ||
+ | |msg |yes | ||
+ | |reference | ||
+ | |merchantTxId | ||
+ | |backendTxId | ||
+ | |amount | ||
+ | |currency | ||
+ | |resultPayment | ||
+ | ^HEADER parameter^^^^ | ||
+ | |hash | ||
- | === Anfrage | + | == Example in case of success |
- | **URL:** successUrl und failUrl aus der Payment-Page-Initialisierung \\ | + | {{page> |
- | **Bereitzustellen von:** Händler \\ | + | |
- | **Aufzurufen von:** GiroCheckout | + | |
- | **Methode:** POST | + | |
- | ^Name | + | == Example |
- | |gcPaymethod | + | {{page> |
- | |gcType | + | |
- | |gcProjectId | + | |
- | |gcReference | + | |
- | |gcMerchantTxId | + | |
- | |gcBackendTxId | + | |
- | |gcAmount | + | |
- | |gcCurrency | + | |
- | |gcResultPayment | + | |
- | |gcPkn | + | |
- | |gcCardnumber | + | |
- | |gcCardExpDate | + | |
- | |gcAccountHolder | + | |
- | |gcIban | + | |
- | |gcHash | + | |