giropay
REST API
giropay is a type of Online Bank Transfer.
Countries and Currencies
Countries |
Germany |
---|---|
Currencies |
EUR |
Communication Formats
This table illustrates how giropay notifications are encoded and which formats and methods can be used for requests and responses.
Requests/Responses |
Format |
XML, NVP |
---|---|---|
Methods |
POST, GET |
|
IPN Encodement |
Please follow the instructions given at Instant Payment Notification to set up IPN. |
Transactions
Transaction Types
For transaction type details look at Transaction Types.
Transaction Type | Description | Link to the Sample |
---|---|---|
get-url |
A step in a group of transactions where the provider or bank’s URL is retrieved for the Account Holder to be redirected to. |
See samples. |
debit |
Moves funds from the Account Holder to the merchant. Received as payment notification. |
See samples. |
Reference Transaction
For additional information regarding the referenced transaction functionality, see here: Cross-Payment-Methods Referencing. |
Test Credentials
URLs (Endpoints) |
|
---|---|
Merchant Account ID (MAID) |
9b4b0e5f-1bc8-422e-be42-d0bad2eadabc |
Username |
16390-testing |
Password |
3!3013=D3fD8X7 |
Secret Key |
0c8c6f3a-1534-4fa1-99d9-d1c644d43709 |
Additional Test Credentials on giropay Environment
customerName1 |
Paul Peterson |
---|---|
customerIBAN |
DE12500105170648489890 |
Test Bank Account BIC |
GENODETT488 |
Workflow
debit
The merchant sends a debit request to Wirecard and receives a response which contains the URL of the consumers online banking system to which the consumer must be redirected to. The consumer is redirected back to merchant’s shop after the transaction is approved, and the merchant receives a payment notification from Wirecard. |
-
Consumer adds items to his/her shopping basket.
-
Consumer selects giropay.
-
The merchant sends a get-url request to Wirecard Payment Gateway.
-
Wirecard Payment Gateway processes and validates the transaction.
-
Wirecard Payment Gateway forwards the request to giropay.
-
giropay provides the URL of the consumer’s online banking account for payment verification.
-
Wirecard Payment Gateway processes the response.
-
Wirecard Payment Gateway redirects the consumer to the provided online banking URL.
-
The consumer verifies the payment within the personal online banking system.
-
giropay transfers funds from the consumer’s bank account to the merchant’s bank account.
-
giropay sends a payment notification to the Wirecard Payment Gateway.
-
Wirecard Payment Gateway processes the notification and sends the payment debit notification to the merchant.
-
The merchant receives the notification with the payment result.
It is also possible to refund giropay transactions via SEPA Credit Transfer if the merchant’s business flow requires this. |
Fields
The fields used for giropay requests, responses and notifications are the same as the REST API fields. Please refer to REST API Fields or the request example for the fields required in a debit transaction.
Only the fields listed below have different properties.
The following elements are mandatory (M), optional (O) or conditional (C) for a request/response/notification.
Field | Cardinality | Datatype | Size | Description |
---|---|---|---|---|
bank-account/bic |
C |
xs:string |
15 |
One of BIC or bank-code must be provided, but not both. |
bank-account/bank-code |
C |
xs:string |
15 |
One of BIC or bank-code must be provided, but not both. |
Samples
get-url/debit
<?xml version="1.0" encoding="utf-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<payment-methods>
<payment-method name="giropay" />
</payment-methods>
<merchant-account-id>9b4b0e5f-1bc8-422e-be42-d0bad2eadabc</merchant-account-id>
<request-id>4da09987-c808-4c40-bfd5-85e0f624276b</request-id>
<transaction-type>get-url</transaction-type>
<requested-amount currency="EUR">1.0</requested-amount>
<order-number>180605125236138</order-number>
<order-detail>Test product 001</order-detail>
<ip-address>127.0.0.1</ip-address>
<locale>en</locale>
<account-holder>
<first-name>John</first-name>
<last-name>Doe</last-name>
<email>john.doe@wirecard.com</email>
</account-holder>
<bank-account>
<bic>GENODETT488</bic>
</bank-account>
</payment>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment" xmlns:ns2="http://www.elastic-payments.com/schema/epa/transaction">
<merchant-account-id>9b4b0e5f-1bc8-422e-be42-d0bad2eadabc</merchant-account-id>
<transaction-id>1e0db2b9-6c6d-4180-8845-d56558eb34e1</transaction-id>
<request-id>4da09987-c808-4c40-bfd5-85e0f624276b</request-id>
<transaction-type>get-url</transaction-type>
<transaction-state>success</transaction-state>
<completion-time-stamp>2018-06-05T10:52:36.000Z</completion-time-stamp>
<statuses>
<status code="201.0000" description="The resource was successfully created." severity="information" />
</statuses>
<requested-amount currency="EUR">1.0</requested-amount>
<account-holder>
<first-name>John</first-name>
<last-name>Doe</last-name>
<email>john.doe@wirecard.com</email>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<order-number>180605125236138</order-number>
<order-detail>Test product 001</order-detail>
<payment-methods>
<payment-method url="https://giropaytest1.fiducia.de/ShopSystem/bank/BankEntry?RZKZ=XC&RZBK=8076&redirectData=merchantId%3D8993370%26merchantTxId%3D1E0DB2B96C6D41808845D56558EB34E1%26txId%3DF000001ZRL%26shopEndFailureURL%3Dhttps%253A%252F%252Fapi-test.wirecard.com%253A443%252Fengine%252Fnotification%252Fgiropaygad%252Fredirect%252F1e0db2b9-6c6d-4180-8845-d56558eb34e1%252F%26operatorSignature%3DjiY5qRejuINgTZVIoYt7xXIfcq%252BEkyLRqRGhY3RIWtS1iuMzKasF%252FmSA2VFx7h7SRzT5QpMZ8y8oGgYeUIuQ43EPtMdtuRC2r6BQvwh26NmN1fv5e3hXXfcv2VzmJ3wgo%252Bc%252B18%252BUWE2%252B6WCKQINMRUpwn2YTPkJJCDltxpET5Qu7Iu9pUxXJedwZyTTB9vkKhwlp0AuZ5D7wvQ4ZnftGQeAf33LIwbd9MCoPpm3Dv6SVZna0wG20FUqYvThJnvnORsskmsCffuZfgp%252BjUpvuWedlVEWjh16EBWxHGuDP2gKpdg%252BSHnexmGHAOfjZgV%252BpNWGoNFaea6v1uG0c8bx9PA%253D%253D%26operatorId%3D002%26shopEndSuccessURL%3Dhttps%253A%252F%252Fapi-test.wirecard.com%253A443%252Fengine%252Fnotification%252Fgiropaygad%252Fredirect%252F1e0db2b9-6c6d-4180-8845-d56558eb34e1%252F" name="giropay" />
</payment-methods>
<bank-account>
<bic>GENODETT488</bic>
</bank-account>
<locale>en</locale>
</payment>
<?xml version="1.0" encoding="UTF-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment" xmlns:ns2="http://www.elastic-payments.com/schema/epa/transaction">
<merchant-account-id>46e10637-a14d-47d0-b8f2-bb8b9cf2aa52</merchant-account-id>
<transaction-id>0c60aaa2-9caf-4a0e-a814-313eb6730043</transaction-id>
<request-id>b7aa31ce-a8be-4622-a9e4-7e1052d60267</request-id>
<transaction-type>debit</transaction-type>
<transaction-state>success</transaction-state>
<completion-time-stamp>2018-06-05T09:51:03.000Z</completion-time-stamp>
<statuses>
<status code="201.1126" description="giropay:Successful confirmation received from the bank." severity="information"/>
</statuses>
<requested-amount currency="EUR">1.0</requested-amount>
<parent-transaction-id>18ad619c-539a-4ee2-a5de-660f9d404a73</parent-transaction-id>
<account-holder>
<first-name>John</first-name>
<last-name>Doe</last-name>
<email>john.doe@wirecard.com</email>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<order-number>180605114854891</order-number>
<order-detail>Test product 001</order-detail>
<payment-methods>
<payment-method name="giropay"/>
</payment-methods>
<api-id>---</api-id>
<locale>en</locale>
<provider-transaction-reference-id>GIROPAY0028993370F000001ZQU</provider-transaction-reference-id>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>H9zNz076h9Gya8KMSaAEnJ2qHklPhhWg+pAC9wCTqgk=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>OeFEwh8K8n2lw0jl/MYoHA/ubNO1j/N1ouLK7bz/n0UD1wXSgkhsYBBQJWO7qjPs42b26E+yUn6EjnpePJUvzzvaKQCW1FgiQh8luQ/ITx8k2X/g1Yw+9tBxa5X41QNERSCzhEl1oZv8sBrxNqTE3Jwem9x22ptvET27siQ6NzL1+q+yxHyOPCvWZ54I4HoUyKl13eq3ArkkgbMMJG49V8VXQ3aYAcXqmnUFHufTPSukU1TPdsXQHQQxML/Ek8gclYhpLLjGYi1qoSXz5IQ7E95CuQl0la1LWddVDQ+WuokEEsfdWPtmlh3yUlC+6Q9Jjv584iGqvZPbcNXC083D5L6trOYgc7Z8Jl1N4ueB7IBg0TSXwvvq7Nt9rYycLyYW+zra/X5GWL3AgFnY5GLlZBqmRV5/mz5NPNvDDmSoznx6B8GCuMrg5g4/Gb8pWSIaATJJujcC5pXrCf28f8O3ahVtV2h5U29N4u+gj8oZRmW/R/GHzNGn6G3Fxa3amLwHQObYhlhnNUzcXwb0A5MzbSkXOECkzn7Y8QkHZcnx/Lk45fXmXmohKjNn7b7OKxrBChBhEKomdkSjzdncI3UNNxxiIU2SV6d3fSXjAQJ8yctuoaDFTah8PCKiGPxmxUhryyyXqoarx0SueuR1AW8oh2hbHQp8e8QDQWhck5/nV1A=</SignatureValue>
<KeyInfo>
<X509Data>
<X509SubjectName>L=Ascheim,2.5.4.4=#130642617965726e,CN=api-test.wirecard.com,OU=Operations,O=Wirecard Technologies GmbH,C=DE</X509SubjectName>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</payment>
<?xml version="1.0" encoding="utf-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<payment-methods>
<payment-method name="giropay" />
</payment-methods>
<merchant-account-id>9b4b0e5f-1bc8-422e-be42-d0bad2eadabc</merchant-account-id>
<request-id>46a60198-2062-49ed-a36c-7f070b9f4b45</request-id>
<transaction-type>get-url</transaction-type>
<requested-amount currency="EUR">1.0</requested-amount>
<order-number>180605125116611</order-number>
<order-detail>Test product 001</order-detail>
<ip-address>127.0.0.1</ip-address>
<locale>en</locale>
<account-holder>
<first-name>John</first-name>
<last-name>Doe</last-name>
<email>john.doe@wirecard.com</email>
</account-holder>
<bank-account>
<bic>TESTBIC</bic>
</bank-account>
</payment>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment" xmlns:ns2="http://www.elastic-payments.com/schema/epa/transaction">
<merchant-account-id>9b4b0e5f-1bc8-422e-be42-d0bad2eadabc</merchant-account-id>
<transaction-id>b1ebb3d7-16de-45c0-adc9-80b02ae3340b</transaction-id>
<request-id>46a60198-2062-49ed-a36c-7f070b9f4b45</request-id>
<transaction-type>get-url</transaction-type>
<transaction-state>failed</transaction-state>
<completion-time-stamp>2018-06-05T10:51:16.000Z</completion-time-stamp>
<statuses>
<status code="400.1197" description="BIC is invalid." severity="error" />
</statuses>
<requested-amount currency="EUR">1.0</requested-amount>
<account-holder>
<first-name>John</first-name>
<last-name>Doe</last-name>
<email>john.doe@wirecard.com</email>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<order-number>180605125116611</order-number>
<order-detail>Test product 001</order-detail>
<payment-methods>
<payment-method name="giropay" />
</payment-methods>
<bank-account>
<bic>TESTBIC</bic>
</bank-account>
<locale>en</locale>
</payment>
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Content-Language: en-US
Content-Length: 1644
Date: Wed, 21 Oct 2015 18:36:42 GMT
order_number=15957&payment_method_url=https%3A%2F%2Fgiropaytest1.fiducia.de%2FShopSystem%2Fbank%2FBankEntry_v2%3FRZKZ%3DXC%26RZBK%3D8076%26redirectData%3DmerchantId%253D8993370%2526merchantTxId%253DAC7090A9782211E5923A00163E1F53EB%2526txId%253DF00000FBCP%2526shopEndFailureURL%253Dhttps%25253A%25252F%25252Fdev.thesolution.com%25252Fengine%25252Fnotification%25252Fgiropaygad%25252Fredirect%25252Fac7090a9-7822-11e5-923a-00163e1f53eb%25252F%2526operatorSignature%253DAxwVt0bxn4voDEXZIXWGNImFuhBU1Ez6B%25252BeFE38UbbANqYPocGLkmkSTRFNqeyfShaVxZpW081IxFFh%25252B7AzCiOZ5B7B%25252FXV2GQmvWXpE5DlPnuZZYwVC4QrdH0H40XRM7NNZ2IJsor9PGePAInVhfZFZVBEq5MtZcUYZd%25252FstYWrbzD2QrlEB7Ddlopmuo8uHM8H07VbdiOw46Znx0X8kxZ%25252BaoEjDv7iUESuhROJsKK0o%25252Foy%25252BzrqCq6hPnQekXEz43OUyfZB%25252BFKdjGzFW3fjSF4Jilw1Hzzdy1MstnZIIWS6hANalp%25252FyB2%25252FDMso7tDhh9n3uNxTuLsu2tuerauhVLbIQ%25253D%25253D%2526operatorId%253D002%2526shopEndSuccessURL%253Dhttps%25253A%25252F%25252Fdev.thesolution.com%25252Fengine%25252Fnotification%25252Fgiropaygad%25252Fredirect%25252Fac7090a9-7822-11e5-923a-00163e1f53eb%25252F&transaction_type=debitget-url&locale=en&completion_time_stamp=20151021183642&status_code_1=201.0000&status_severity_1=information&transaction_state=success&transaction_id=ac7090a9-7822-11e5-923a-00163e1f53eb&first_name=John&merchant_account_id=ec68950e-1ffa-4bec-9218-792dc77a5109&ip_address=127.0.0.1&bank_account_bic=GENODETT488&order_detail=TestProduct&request_id=demo-123400&requested_amount=1.01&requested_amount_currency=EUR&email=john.doe%40wirecard.com&status_description_1=The+resource+was+successfully+created.&last_name=Doe&payment_method=giropay&
POST http://10.0.0.114:8080/engine/rest/paymentmethods/ HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Authorization: Basic dGVhbWNpdHk6dGVhbWNpdHk=
Accept: text/plain
Content-Length: 339
Host: 10.0.0.114:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
merchant_account_id=ec68950e-1ffa-4bec-9218-792dc77a5109&request_id=demo-123400&transaction_type=get-url&requested_amount_currency=EUR&requested_amount=1.01&first_name=John&last_name=Doe&email=john.doe@wirecard.com&order_number=15957&order_detail=TestProduct&locale=en&ip_address=127.0.0.1&payment_method=giropay&bank_account_bic=GENODETT488
X-Request-Id: 78c0f284-d5e4-4c77-8363-5eba5069f815
Total-Route-Time: 0
Connect-Time: 4
Payment.Request-Id: 4f99be5c-af8c-4eda-ae90-20dc10a97dc9
Notification.Url: http://requestb.in/145yq7s1
Host: requestb.in
Breadcrumbid: ID-dev-app-n01-49221-1445441419984-0-6906
Via: 1.1 vegur
Content-Length: 4640
Connection: close
Content-Type: text/plain
Payment.Transaction-Id: 2da8e73f-7828-11e5-923a-00163e1f53eb
<?xml version="1.0" encoding="UTF-8"?>
<payment xmlns="http://www.elastic-payments.com/schema/payment">
<merchant-account-id>ec68950e-1ffa-4bec-9218-792dc77a5109</merchant-account-id>
<transaction-id>2da8e73f-7828-11e5-923a-00163e1f53eb</transaction-id>
<request-id>4f99be5c-af8c-4eda-ae90-20dc10a97dc9</request-id>
<transaction-type>debit</transaction-type>
<transaction-state>success</transaction-state>
<completion-time-stamp>2015-10-21T19:16:06.000Z</completion-time-stamp>
<statuses>
<status code="201.1126" description="giropay:Successful confirmation
received from the bank." provider-transaction-id="F00000FBDC"
severity="information"/>
</statuses>
<requested-amount currency="EUR">1.0</requested-amount>
<account-holder>
<first-name>John</first-name>
<last-name>Doe</last-name>
<email>john.doe@wirecard.com</email>
</account-holder>
<ip-address>127.0.0.1</ip-address>
<order-number>17622</order-number>
<order-detail>Test product 001</order-detail>
<notifications>
<notification url="http://requestb.in/145yq7s1"/>
</notifications>
<payment-methods>
<payment-method name="giropay"/>
</payment-methods>
<api-id>---</api-id>
<provider-transaction-reference-id>GIROPAY0028993370F00000FBDC</provider-transaction-reference-id>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>GA3lgrihlMT0is0alqTlXnh3MAQ=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>afLVd67OjoTEJ2VbNqaG84baQQheFKekNan5db4jXjsGAwXlYa1rWzn0koGsK4LVPtgt1EHZjdRo
9JhcLX4Qd+KrXW8zh35MffSlMm3JnbkTLDRL+Y8uLpGGhuH3eBolITz1ml0mft7POkwWefrhjLcj
TZmaumSpvF6FTMnJyS3j+vog9+3rE/2xYXfXabSg0IytNv1dR3oIkWafFUVMIk50s67f1LX2z1Yz
ywo6c9EKVXUhwcAa7R4h59izkrLumA15eS1wFV0jbDtcYjwNBcpYa7S1TcybyrDVpyO27VTRpzOl
LgEUJuka9kHbBgMxDizwKFAvbkn+Gk6OjIr+bg==</SignatureValue>
<KeyInfo>
<X509Data>
<X509SubjectName>CN=Manoj Sahu,OU=Operations,O=Wirecard Elastic Payments,L=Toronto,ST=ON,C=CA</X509SubjectName>
<X509Certificate>MIIDcDCCAligAwIBAgIETgQWGTANBgkqhkiG9w0BAQUFADB6MQswCQYDVQQGEwJDQTELMAkGA1UE
CBMCT04xEDAOBgNVBAcTB1Rvcm9udG8xIjAgBgNVBAoTGVdpcmVjYXJkIEVsYXN0aWMgUGF5bWVu
dHMxEzARBgNVBAsTCk9wZXJhdGlvbnMxEzARBgNVBAMTCk1hbm9qIFNhaHUwHhcNMTEwNjI0MDQ0
NDA5WhcNMTQwMzIwMDQ0NDA5WjB6MQswCQYDVQQGEwJDQTELMAkGA1UECBMCT04xEDAOBgNVBAcT
B1Rvcm9udG8xIjAgBgNVBAoTGVdpcmVjYXJkIEVsYXN0aWMgUGF5bWVudHMxEzARBgNVBAsTCk9w
ZXJhdGlvbnMxEzARBgNVBAMTCk1hbm9qIFNhaHUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQCc8rTt4N5fNeVzlsRgOXKDE2YUSfJx7xXBozFZ3Vh3XQyy3IpIuEfZz7004k4HeonfTxCN
etBvJ9rgNc0Cxrk/euMj3pOUrE9WYN2eAXC0r5pUIAZhIAnSxUSaIF3JKBxf7gDAik5d8RT5HaJV
4n5cXJQ/uhAEYU3EGN/74UrD2UsOYD3VBXTJS5VgSi/c3IyLwhDbYIyU6j4fMKyHIlAMGzW7VgKD
2pqu6BRysqUVdEEAvW2OmyVqGVyPkm87EiHSMMSar3CvYYxYqBN2KBUjabkvnRWbIzyQuyUyDeUb
QmhVQKL0WlMb5ev65m2VjGyDTGL5jfB14rSXRMGzeJ+LAgMBAAEwDQYJKoZIhvcNAQEFBQADggEB
ADgkuN/e2IFy7JXdbjNJbKBd3HLvFvK87dv8qQ+HK4qfCxYXh6aYhbKHJSA6C2pbOD3HBXoyovZr
mk/KqOyUL+unVcR+APjxX4KP25sdkplgmeQ47CWxtKAHZUTtWwAVI/WhsX89SSucBfIS5TJ54e7m
02qvGoK8UA/IRbIQ6DZ9hEKV5VQKiMx3ubwwHGXfOWz2fKmeZBuTeY+HiTEH8KCHpfw2j8G+dDgU
jlp9LvjVNmJzfNBBk1Si0d/rhXmMzVSKj08tp1sPRK0/sJtJZBzQajpnsZ9NFfoJNdG13AzYwDP3
x/QspK0jYn1KZw1qz524VWoQoueR8Xj30A2jntA=</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</payment>
POST http://10.0.0.114:8080/engine/rest/paymentmethods/ HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Authorization: Basic dGVhbWNpdHk6dGVhbWNpdHk=
Accept: text/plain
Content-Length: 335
Host: 10.0.0.114:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
merchant_account_id=ec68950e-1ffa-4bec-9218-792dc77a5109&request_id=demo-123444&transaction_type=get-url&requested_amount_currency=EUR&requested_amount=1.01&first_name=John&last_name=Doe&email=john.doe@wirecard.com&order_number=15957&order_detail=TestProduct&locale=en&ip_address=127.0.0.1&payment_method=giropay&bank_account_bic=testbic
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Content-Language: en-US
Content-Length: 536
Date: Wed, 21 Oct 2015 18:37:56 GMT
order_number=15957&transaction_type=debitget-url&locale=en&completion_time_stamp=20151021183757&status_code_1=400.1197&status_severity_1=error&transaction_state=failed&transaction_id=d93f00f2-7822-11e5-923a-00163e1f53eb&first_name=John&merchant_account_id=ec68950e-1ffa-4bec-9218-792dc77a5109&ip_address=127.0.0.1&bank_account_bic=testbic&order_detail=TestProduct&request_id=demo-123444&requested_amount=1.01&requested_amount_currency=EUR&email=john.doe%40wirecard.com&status_description_1=BIC+is+invalid.&last_name=Doe&payment_method=giropay&
Wirecard Payment Page v2
Wirecard Payment Page v1 is no longer supported. We recommend using Wirecard Payment Page v2 integration instead. If you have questions about your existing Wirecard Payment Page v1 integration, consult our REST API integration guide.
giropay is a type of Online Bank Transfer.
General Information
Here you find all the information for integrating giropay into your Hosted and Embedded Payment Page.
Want to know more about Wirecard Payment Page v2 (WPP v2)?
Visit one of our integration guides
(Hosted Payment Page,
Embedded Payment Page) for a quick explanation and
a step-by-step guide.
|
All WPP v2 integrations share a common process flow for creating payments.
Below, we provide a sample request for the transaction type debit, including field lists with short descriptions.
The samples provided below are designed for the testing environment and do not use real information. Please contact Merchant Support for production credentials. |
For more details on the redirect-url
, see the
Configuring Redirects and IPNs for WPP v2
section.
For response verification examples, see the WPP v2 Security section.
Countries and Currencies
Countries |
Germany |
---|---|
Currencies |
EUR |
Transaction Type debit
With giropay you can use the transaction type debit.
A debit charges the specified amount from the account holder’s bank account and marks it for immediate transfer.
Test Credentials
URL (Endpoint) |
|
---|---|
Merchant Account ID (MAID) |
9b4b0e5f-1bc8-422e-be42-d0bad2eadabc |
Username |
16390-testing |
Password |
3!3013=D3fD8X7 |
Secret Key (used for response verification) |
0c8c6f3a-1534-4fa1-99d9-d1c644d43709 |
IBAN |
DE12500105170648489890 |
---|---|
BIC |
GENODETT488 |
For a successful transaction:
-
Create a payment session (initial request).
-
Redirect the consumer to the payment page (initial response URL).
-
Highly recommended: Parse and process the payment response.
We provide JSON examples for each step of this process. You can find them below.
Authorization |
Use the username and password as given in your Wirecard contract to base64-encode the authorization. For example, the authorization header for
|
---|---|
Content-Type |
For JSON requests the content type header is:
|
Use the following sample to initiate a payment session.
{
"payment": {
"merchant-account-id": {
"value": "9b4b0e5f-1bc8-422e-be42-d0bad2eadabc"
},
"request-id": "{{$guid}}",
"transaction-type": "debit",
"requested-amount": {
"currency": "EUR",
"value": "1.00"
},
"payment-methods": {
"payment-method": [{
"name": "giropay"
}
]},
"bank-account": {
"bic": "GENODETT488"
},
"success-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/success",
"fail-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/error",
"cancel-redirect-url": "https://demoshop-test.wirecard.com/demoshop/#/cancel"
}
}
Field (JSON) | Data Type | Cardinality | Size | Description | ||
---|---|---|---|---|---|---|
|
|
String |
M |
36 |
A unique identifier assigned to every merchant account by Wirecard. |
|
|
String |
M |
150 |
A unique identifier assigned to every request by the merchant. It is used when searching for or referencing it later. |
||
|
String |
M |
36 |
The requested transaction type. The available type for giropay is |
||
|
|
Decimal |
M |
18.2 |
The full amount that is requested/contested in a transaction. 2 decimal places allowed. |
|
|
String |
M |
3 |
The currency of the requested/contested transaction amount. For giropay payments, the currency must be set to |
||
|
|
|
String |
M |
256 |
The name of the payment method used. Set this field to |
|
|
String |
O |
34 |
The international bank account number (IBAN) required in a bank transfer. It is an international standard for identifying bank accounts across national borders. The current standard is ISO 13616:2007, which indicates SWIFT as the formal registrar. If you include this field and the IBAN value, the value can be displayed on the giropay redirect page. This varies from one consumer bank to another. |
|
|
String |
O |
15 |
The bank identifier code (BIC) in a bank transfer. If you include this field, the redirect to giropay is initiated. If not, the WPP v2 displays a field for entering the BIC. |
||
|
String |
O |
2000 |
The URL to which the consumer is redirected after a successful payment, e.g. |
||
|
String |
O |
2000 |
The URL to which the consumer is redirected after having canceled a payment, e.g. |
||
|
String |
O |
2000 |
The URL to which the consumer is redirected after an unsuccessful payment, e.g. |
{
"payment-redirect-url": "https://wpp-test.wirecard.com/processing?wPaymentToken=juZgmpkCN8v4tG3qKjmHGwcUKOyW9-eHE-Xm_6gzT5o"
}
Field (JSON) | Data Type | Description |
---|---|---|
|
String |
The URL which redirects to the payment form. Sent as a response to the initial request. |
At this point, you need to redirect your consumer to
payment-redirect-url
(or render it in an iframe depending on your
integration method).
Consumers are redirected to the payment form. There they enter their
data and submit the form to confirm the payment.
Possible transaction results:
-
Successful (
transaction-state: success
) -
Failed (
transaction-state: failed
) -
Canceled (
transaction-state: failed
)
The transaction result is the value of transaction-state
in the
payment response. More details (including the status code) can also be
found in the statuses
object of the payment response. Canceled
payments are returned as failed
, but the
status description
indicates it was canceled.
In any case (unless the consumer cancels the transaction on a 3rd party provider page), a base64-encoded response containing payment information is sent to the configured redirection URL. See Configuring Redirects and IPNs for WPP v2 for more details on redirection targets after payment and transaction status notifications.
You can find a decoded payment response example below.
{
"payment" : {
"parent-transaction-id" : "eb434519-7794-4d6e-94b8-b65af5a88175",
"transaction-id" : "2a0f8a4a-d4a1-4c83-b3bb-d4042b3aefc0",
"request-id" : "14013748-518c-41ac-acc8-fb99195ddcb0",
"transaction-state" : "success",
"completion-time-stamp" : "2020-01-08T12:39:39",
"requested-amount" : {
"currency" : "EUR",
"value" : 1.000000
},
"bank-account" : {
"bic" : "GENODETT488"
},
"transaction-type" : "debit",
"success-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/success",
"cancel-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/cancel",
"fail-redirect-url" : "https://demoshop-test.wirecard.com/demoshop/#/error",
"merchant-account-id" : {
"value" : "9b4b0e5f-1bc8-422e-be42-d0bad2eadabc"
},
"statuses" : {
"status" : [ {
"description" : "Successful confirmation received from the bank.",
"severity" : "information",
"code" : "201.1126"
} ]
},
"payment-methods" : {
"payment-method" : [ {
"name" : "giropay"
} ]
},
"api-id" : "wpp"
}
}
Field | Data Type | Description | |
---|---|---|---|
|
String |
A unique identifier assigned to every transaction. This information is returned in the response only. |
|
|
String |
The current transaction state.
Typically, a transaction starts with |
|
|
Timestamp |
The UTC/ISO time-stamp documents the time and date when the transaction was executed. |
|
|
|
String |
The description of the transaction status message. |
|
String |
The definition of the status message.
|
|
|
String |
The code of the status message. |
|
|
String |
Identifier referencing the |
|
|
String |
Identifier of the currently used API. |
|
|
String |
Unique identifier of a transaction reference, assigned by the provider. |
Post-Processing Operations
WPP v2 is best used for one-off payments (e.g. regular, independent debit transactions) or the initial transaction in a chain of them (e.g. a first authorization in a chain of recurring transactions). However, when it comes to referencing a transaction for any kind of post-processing operation - such as a refund of one of your debit transactions - use our REST API directly.
Check the REST API giropay specification for details on giropay-specific post-processing operations. |
Here you can:
-
see the structure of an extended JSON request (XML-JSON mapping reference)
-
find the NVP equivalents for JSON fields (for migrating merchants)
{
"payment": {
"merchant-account-id": {
"value": "String"
},
"request-id": "String",
"transaction-type": "String",
"requested-amount": {
"value": "Numeric",
"currency": "String"
},
"parent-transaction-id": "String",
"account-holder": {
"first-name": "String",
"last-name": "String",
"email": "String",
"phone": "String",
"address": {
"city": "String",
"country": "String",
"postal-code": "String",
"state": "String",
"street1": "String",
"street2": "String",
"street3": "String"
}
},
"shipping": {
"first-name": "String",
"last-name": "String",
"phone": "String",
"address": {
"city": "String",
"country": "String",
"postal-code": "String",
"state": "String",
"street1": "String",
"street2": "String",
"street3": "String"
}
},
"payment-methods": {
"payment-method": [
{
"name": "String"
}
]
},
"bank-account": {
"iban": "String"
},
"mandate": {
"mandate-id": "String",
"signed-date": "String"
},
"creditor-id": "String",
"periodic": {
"periodic-type": "String",
"sequence-type": "String"
},
"descriptor": "String",
"order-number": "String",
"success-redirect-url": "String",
"fail-redirect-url": "String",
"cancel-redirect-url": "String"
}
}
Field (NVP) | Field (JSON) | JSON Parent |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|