User Tools

Site Tools


en:girocheckout:giropay:functions

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:girocheckout:giropay:functions [2013/11/06 02:33]
michaelheumann
en:girocheckout:giropay:functions [2013/11/06 03:32]
michaelheumann
Line 19: Line 19:
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-Für die Überprüfung muss entweder die Bankleitzahl oder die BIC der Kundenbank angegeben werdenWerden beide Informationen angegebenmüssen diese zur selben Bank gehören.+For this check, either the bank code (Bankleitzahl) or the BIC of the customer's bank must be specifiedIf both are presentthey must refer to the same bank.
 </WRAP> </WRAP>
  
-== Beispiel ==+== Example ==
 {{page>codesamples:giropay#bankstatus.request&noheader&nofooter}} {{page>codesamples:giropay#bankstatus.request&noheader&nofooter}}
  
-=== Antwort === +=== Reply === 
-Die Antwort ist ein JSON ObjektWenn **rc = 0** zurückgeliefert wirdkann über die Bank eine giropay Transaktion abgewicklt werdenBitte beachten Sie die Parameter //payment// und //verifyAge//Zusätzlich wird die Bankleitzahl und der Bankname zurückgegeben+The reply is a JSON objectIf **rc = 0** is returnedgiropay transaction may be carried through with this bankPlease note the parameters //payment// and //verifyAge//Additionally, the bank code and the bank name are returned. 
-== Parameter == + 
-^Name           ^Pflicht  ^Type      ^Beschreibung   ^ +== Parameters == 
-|rc             |Ja       |Integer   |[[girocheckout:errorcodes|Fehlernummer]] | +^Name           ^Mandatory ^Type      ^Description   ^ 
-|msg            |Ja       |String    |Zusätzliche Informationen im Fehlerfall +|rc             |Yes       |Integer   |[[girocheckout:errorcodes|Error code]] | 
-|bankcode       |Optional |Integer   |Bankleitzahl| +|msg            |Yes       |String    |Additional information in case of error 
-|bic            |Optional |String    |BIC, wenn vorhanden +|bankcode       |Optional  |Integer   |Bank code (Bankleitzahl)
-|bankname       |Optional |String    |Bankname %7+|bic            |Optional  |String    |BIC, if available 
 +|bankname       |Optional  |String    |Bank name | 
 +|payment        |Optional |Integer   |0 = giropay payment not supported \\ 1 = giropay payment supported | 
 +|verifyAge      |Optional |Integer   |0 = giropay age verification not supported \\ 1 = giropay age verification supported | 
 + 
 +== Example in case of success == 
 +{{page>codesamples:giropay#bankstatus.response.true&noheader&nofooter}} 
 + 
 +== Example in case of error == 
 +{{page>codesamples:giropay#bankstatus.response.false&noheader&nofooter}} 
 + 
 +===== Initialization of the giropay payment ===== 
 + 
 +You send the transaction data and receive a link (redirect URL) as a reply. Afterwards, you send your customer a redirection to that URL. This may be done through an HTTP redirect header, an HTML page with a corresponding meta tag or Javascript. The actual payment processing takes place as the customer logs into his online banking platform and confirms the prefilled transfer form there by entering a TAN.  
 +The notification of your application about the payment outcome is done via a GET request sent by GiroCheckout to the URL specified in the urlNotify parameter. 
 + 
 +=== Request === 
 +**URL:** https://payment.girosolution.de/girocheckout/api/v2/transaction/start \\ 
 +**To be provided by:** GiroSolution AG \\ 
 +**To be called by:** Merchant 
 + 
 +== Parameters == 
 +^Name           ^Mandatory  ^Type        ^Description   ^ 
 +|merchantId     |Yes       |Integer     |Merchant ID of a giropay project | 
 +|projectId      |Yes      |integer     |Project ID of a giropay project | 
 +|merchantTxId   |Yes      |String(255) |Merchant's unique transaction ID | 
 +|amount         |Yes      |Integer     |Amount in Cents\\ If kind = 2, then specify amount as 0 | 
 +|currency       |Optional |String(3)   |Currency of the transaction\\ EUR = Euros (default) | 
 +|purpose        |Yes      |String(27)  |Reason for payment to be included in giropay transfer | 
 +|bankcode       |Optional |String(8)   |Bank code of the customer's bank\\ **Only supported until January 31st, 2014** | 
 +|bankaccount    |Optional |String(10)  |Customer's account number (for a possible refund)\\ **Only supported until January 31st, 2014** | 
 +|bic            |Optional |String(11)  |BIC of the customer's bank | 
 +|iban           |Optional |String(34)  |Customer's IBAN | 
 +|info[1..5]Label|Optional |String(30)  |Additional information for the giropay transfer pages (field name) | 
 +|info[1..5]Text |Optional |String(80)  |Additional information for the giropay transfer pages (information) | 
 +|urlRedirect    |Yes      |String      |URL to which the customer is to be redirected after the payment | 
 +|urlNotify      |Yes      |String      |URL to which the payment outcome is to be notified | 
 +|hash           |Yes      |String      |HMAC MD5 hash on all the values of the function call. See  [[girocheckout:general:start#hash_generieren|generate hash]] | 
 + 
 +== The info parameters == 
 +Using the info parameters, you may display additional information on the giropay transfer pages. A maximum of 5 elements is possible. Each information is comprised of a label and the information itself.  
 + 
 +== Example == 
 +{{page>codesamples:giropay#transactionstart.request&noheader&nofooter}} 
 + 
 +=== Reply === 
 +The reply is a JSON object. If **rc = 0** is returned, the parameters reference and redirect are set. Please redirect the customer to the redirect URL. 
 + 
 +== Parameters == 
 +^Name           ^Mandatory ^Type     ^Description   ^ 
 +|rc             |Yes       |Integer   |[[girocheckout:errorcodes|Error Code]] | 
 +|msg            |Yes       |String    |Additional information in case of error | 
 +|reference      |Optional  |String    |Unique GiroCheckout transaction ID | 
 +|redirect       |Optional  |String    |Redirect URL for customer redirection | 
 + 
 +== Example in case of success == 
 +{{page>codesamples:giropay#transactionstart.response.true&noheader&nofooter}} 
 + 
 +== Example in case of error == 
 +{{page>codesamples:giropay#transactionstart.response.false&noheader&nofooter}} 
 + 
 +===== Payment outcome notification ===== 
 +After completion of the giropay payment or age verification, you receive a GET request to the URL specified in the //urlNotify// parameter. Please use this message for example to change the status of the order and send an order confirmation. Due to the internal giropay process, a redirection of the customer to //urlRedirect// is not done automatically but only after a customer click. 
 + 
 +=== Request === 
 +**URL:** notifyUrl aus dem Transaktionsstart \\ 
 +**To be provided by:** Merchant \\ 
 +**To be called by:** GiroSolution AG 
 + 
 +== GET Parameters == 
 +^Name             ^Mandatory  ^Type        ^Description   ^ 
 +|gcReference      |Yes       |String      |Unique GiroCheckout transaction ID | 
 +|gcMerchantTxId   |Yes       |String      |Merchant transaction ID | 
 +|gcBackendTxId    |Yes       |String      |giropay transaction ID | 
 +|gcAmount         |Yes       |Integer     |Amount in cents | 
 +|gcCurrency       |Yes       |String      |Currency | 
 +|gcResultPayment  |Optional |Integer     |[[girocheckout:resultcodes#zahlungsausgang|Result of the giropay payment]]| 
 +|gcResultAVS      |Optional |Integer     |[[girocheckout:resultcodes#altersverifikation|Result of the giropay age verification]] | 
 +|gcHash           |Yes       |String      |HMAC MD5 hash on all the values of the function call. See  [[girocheckout:general:start#hash_generieren|generate hash]] | 
 + 
 +=== Reply === 
 +As a reply 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 shop did not process the notification and does not wish to be notified again. | 
 +|All others         |The notification is repeated no more than 10 times every 30 minutes until the shop returns the status code 200 or 400. | 
 + 
 +===== Returning the customer to the shop ===== 
 +After completing the giropay payment, the customer may return to the shop through a link. This return is not done automatically.  
 + 
 +=== Request === 
 +**URL:** redirectUrl from the transaction beginning \\ 
 +**To be provided by:** Merchant \\ 
 +**To be called by:** GiroSolution AG 
 + 
 +== GET Parameters == 
 +^Name             ^Mandatory  ^Type        ^Description   ^ 
 +|gcReference      |Yes       |String      |Unique GiroCheckout transaction ID | 
 +|gcMerchantTxId   |Yes      |String      |Merchant's transaction ID | 
 +|gcBackendTxId    |Yes      |String      |giropay transaction ID | 
 +|gcAmount         |Yes      |Integer     |Amount in cents | 
 +|gcCurrency       |Yes      |String      |Currency | 
 +|gcResultPayment  |Optional |Integer     |[[girocheckout:resultcodes#zahlungsausgang|Result of the giropay payment]]| 
 +|gcResultAVS      |Optional |Integer     |[[girocheckout:resultcodes#altersverifikation|Result of the giropay age verification]] | 
 +|gcHash           |Ja       |String      |HMAC MD5 hash on all the values of the function call. See  [[girocheckout:general:start#hash_generieren|generate hash]] |
en/girocheckout/giropay/functions.txt · Last modified: 2021/04/12 14:33