This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
en:girocheckout:giropay:start [2024/03/13 20:36] michaelheumann |
en:girocheckout:giropay:start [2024/03/13 20:53] michaelheumann |
||
---|---|---|---|
Line 19: | Line 19: | ||
===== Test data giropay ===== | ===== Test data giropay ===== | ||
{{page> | {{page> | ||
+ | |||
+ | ===== Transaction types ===== | ||
+ | Detailed information regarding [[en: | ||
+ | |||
+ | <uml> | ||
+ | left to right direction | ||
+ | skinparam packageStyle rect | ||
+ | |||
+ | rectangle SALE{ | ||
+ | (SALE) --> (REFUND) | ||
+ | (REFUND) | ||
+ | } | ||
+ | rectangle AUTH { | ||
+ | (AUTH) --> (CAPTURE ) | ||
+ | (CAPTURE ) --> (REFUND ) | ||
+ | |||
+ | } | ||
+ | </ | ||
===== Workflow ===== | ===== Workflow ===== | ||
Line 74: | Line 92: | ||
- buyer/ | - buyer/ | ||
+ | ==== Reservation (AUTH) ==== | ||
+ | {{page> | ||
+ | <uml> | ||
+ | left to right direction | ||
+ | skinparam packageStyle rect | ||
+ | |||
+ | rectangle AUTH { | ||
+ | (AUTH) --> (capture) | ||
+ | (AUTH) --> (refund) | ||
+ | } | ||
+ | </ | ||
+ | ==== Reservation/ | ||
+ | {{page> | ||
+ | <uml> | ||
+ | left to right direction | ||
+ | skinparam packageStyle rect | ||
+ | |||
+ | rectangle SALE{ | ||
+ | (SALE) --> (refund) | ||
+ | } | ||
+ | </ | ||
===== API functions ===== | ===== API functions ===== | ||
Line 104: | Line 143: | ||
|currency | |currency | ||
|purpose | |purpose | ||
+ | |type | ||
|shoppingCartType |Optional | String(19) |Type of the shopping cart. The following values are allowed: \\ PHYSICAL = All goods in the cart are of a physical nature, \\ DIGITAL = All goods in the cart are of a digital nature (require no shipping), \\ MIXED = The cart contains both physical and digital goods (this is the default value should the parameter not be given), \\ ANONYMOUS_DONATION = This is an anonymous donation and not a commercial transaction (no address data necessary), \\ AUTHORITIES_PAYMENT = This is a payment for local authorities (no address data necessary).| | |shoppingCartType |Optional | String(19) |Type of the shopping cart. The following values are allowed: \\ PHYSICAL = All goods in the cart are of a physical nature, \\ DIGITAL = All goods in the cart are of a digital nature (require no shipping), \\ MIXED = The cart contains both physical and digital goods (this is the default value should the parameter not be given), \\ ANONYMOUS_DONATION = This is an anonymous donation and not a commercial transaction (no address data necessary), \\ AUTHORITIES_PAYMENT = This is a payment for local authorities (no address data necessary).| | ||
|shippingAddresseFirstName |(see descr.) |String(100) | |shippingAddresseFirstName |(see descr.) |String(100) | ||
Line 262: | Line 302: | ||
{{page> | {{page> | ||
+ | ===== Other transaction types ===== | ||
+ | These transactions refer to a previous transaction. They are based on a server-to-server communication and require no customer intervention (in terms of data entry). | ||
+ | |||
+ | Provided by: GiroCheckout \\ | ||
+ | Called by: Merchant \\ | ||
+ | |||
+ | ==== Workflow ==== | ||
+ | |||
+ | <uml> | ||
+ | hide footbox | ||
+ | |||
+ | participant " | ||
+ | participant " | ||
+ | participant " | ||
+ | |||
+ | autonumber | ||
+ | |||
+ | shop -> girocheckout: | ||
+ | girocheckout -> gp: | ||
+ | gp -> girocheckout: | ||
+ | girocheckout -> shop: | ||
+ | |||
+ | center footer (c)2024 by S-Public Services GmbH | ||
+ | </ | ||
+ | |||
+ | - Shop sends referencing transaction | ||
+ | - GiroCheckout routes transaction to giropay | ||
+ | - giropay transmits result to GiroCheckout | ||
+ | - Shop receives reply regarding transaction result ([[en: | ||
+ | |||
+ | ==== Booking (CAPTURE) ==== | ||
+ | {{page> | ||
+ | |||
+ | <uml> | ||
+ | left to right direction | ||
+ | skinparam packageStyle rect | ||
+ | |||
+ | rectangle AUTH { | ||
+ | (auth) --> (CAPTURE) | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Refund ==== | ||
+ | {{page> | ||
+ | <uml> | ||
+ | left to right direction | ||
+ | skinparam packageStyle rect | ||
+ | |||
+ | rectangle SALE{ | ||
+ | (sale) --> (REFUND) | ||
+ | } | ||
+ | rectangle AUTH { | ||
+ | (auth) --> (REFUND ) | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === POST Parameters === | ||
+ | CAPTURE URL: https:// | ||
+ | REFUND URL: https:// | ||
+ | |||
+ | ^Name | ||
+ | ^::: ^ CAPTURE ^ REFUND ^::: ^::: ^ | ||
+ | |merchantId | ||
+ | |projectId | ||
+ | |merchantTxId | ||
+ | |amount | ||
+ | |currency | ||
+ | |purpose | ||
+ | |reference | ||
+ | |merchantReconciliationReferenceNumber | ||
+ | |final | ||
+ | |kassenzeichen | ||
+ | |hash | ||
+ | |||
+ | == Example == | ||
+ | {{page> | ||
+ | |||
+ | === Response === | ||
+ | The response is a JSON object. The field resultPayment returns an error code. If resultPayment = 4000 is returned, the transaction was carried out successfully. You receive a transaction number in the reply. | ||
+ | |||
+ | == Parameters == | ||
+ | ^Name | ||
+ | |reference | ||
+ | |merchantTxId | ||
+ | |backendTxId | ||
+ | |amount | ||
+ | |currency | ||
+ | |resultPayment | ||
+ | |hash | ||
+ | |||
+ | == Example of success case == | ||
+ | {{page> | ||
+ | |||
+ | == Example of failure == | ||
+ | {{page> | ||
+ | |||
+ | ==== Void ==== | ||
+ | {{page> | ||
+ | |||
+ | === POST Parameters === | ||
+ | URL VOID: https:// | ||
+ | |||
+ | ^Name | ||
+ | |merchantId | ||
+ | |projectId | ||
+ | |merchantTxId | ||
+ | |reference | ||
+ | |hash | ||
+ | |||
+ | == Example == | ||
+ | {{page> | ||
+ | |||
+ | === Reply === | ||
+ | The reply is a JSON encoded string. The field rc contains the response code. If it is 0 the call was successful. The response includes a transaction number and other information. | ||
+ | |||
+ | == Parameters == | ||
+ | ^Name | ||
+ | |rc | ||
+ | |msg |yes | ||
+ | |reference | ||
+ | |referenceParent | ||
+ | |merchantTxId | ||
+ | |backendTxId | ||
+ | |amount | ||
+ | |currency | ||
+ | |resultPayment | ||
+ | ^HEADER parameter^^^^ | ||
+ | |hash | ||
+ | |||
+ | == Example in case of success == | ||
+ | {{page> | ||
+ | |||
+ | == Example in case of failure == | ||
+ | {{page> | ||