Giropay Deposit

Giropay is a popular online banking solution from Germany. Customers from the banks Postbank, Sparkassen Finanzgruppe, Genossenschaftsbanken including PSD banks and other banks can use Giropay without additional registration.

The following method IDs are covered in this section:

IDNameCredit/Debit StateReversal State
62GiropayDepositDepositedByProvider (29)

Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).

After initiating the payment with Giropay, the customer is redirected to the online banking login page of his own bank. After confirming the payment the user is returned to the merchant.

Redirect Integration

Supported.

Backend2BackendIntegration

The following table contains the fields to be sent in the initiatePaymentRequest.specificPaymentAccountData xml section:

key (value type, account type, required)value
BankCode
(string)
customer´s bank code
AccountNumber (string)customer´s account number
SWIFT (string)BIC code of the customer´s bank account
IBAN (string)IBAN of the customer´s bank account

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)value
*SuccessPageURL
(string, required)
The URL to redirect user in case of successful payment
*ErrorPageURL
(string, required)
The URL to redirect user in case of unsuccessful payment

Example initiatePaymentRequest:

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<merchantID>YourMerchantID</merchantID>
	<shopID>YourShopID</shopID>
	<merchantTransactionID>0e23b2f1-1d92-4ddd-8d43-9de4e77e279b</merchantTransactionID>
	<paymentMethodID>62</paymentMethodID>
	<amount currencyCode="EUR">100</amount>
	<userID>d48693ca-e96e-4ca1-9e01-035645a79399</userID>
	<userData />
	<userIP>127.0.0.1</userIP>
	<userSessionID>6a956eae-d903-4a01-8170-20dae92673d1</userSessionID>
	<creationTypeID>1</creationTypeID>
	<specificPaymentData>
		<data xsi:type="keyStringValuePair">
			<key>SuccessPageUrl</key>
			<value>https://successpage.aspx</value>
		</data>
		<data xsi:type="keyStringValuePair">
			<key>ErrorPageUrl</key>
			<value>https://errorpage.aspx</value>
		</data>
	</specificPaymentData>
	<paymentAccount>
		<specificPaymentAccountData>
			<data xsi:type="keyStringValuePair">
				<key>SWIFT</key>
				<value>NOLADE21WHO</value>
			</data>
			<data xsi:type="keyStringValuePair">
				<key>IBAN</key>
				<value>DE31222500200532013000</value>
			</data>
		</specificPaymentAccountData>
	</paymentAccount>
</initiatePaymentRequest>

Example initiatePaymentResponse:

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<payment xsi:type="paymentWithPaymentAccount">
		<merchantID>YourMerchant</merchantID>
		<shopID>YourShop</shopID>
		<paymentMethod>
			<key>62</key>
			<value>GiropayDeposit</value>
		</paymentMethod>
		<merchantTransactionID>0e23b2f1-1d92-4ddd-8d43-9de4e77e279b</merchantTransactionID>
		<paymentID>60c99c71-d00d-4101-a8a1-7b5915d55c34</paymentID>
		<userID>d48693ca-e96e-4ca1-9e01-035645a79399</userID>
		<paymentProvider>
			<key>55</key>
			<value>Giropay</value>
		</paymentProvider>
		<amount currencyCode="EUR">100</amount>
		<creationType>
			<key>1</key>
			<value>User</value>
		</creationType>
		<userIP>127.0.0.1</userIP>
		<state>
			<id>a3c57413-6ecd-4dbf-abb5-4ce370db84c8</id>
			<definition>
				<key>287</key>
				<value>RedirectDataCreated</value>
			</definition>
			<createdOn>2011-08-31T07:56:47.595763Z</createdOn>

			<description>operatorId=002&amp;merchantId=8993352&amp;txId=762763&amp;merchantTxId=762763&amp;customerBankBLZ=&amp;customerBIC=NOLADE21WHO&amp;customerAcctNo=&amp;customerIBAN=DE31222500200532013000&amp;shopEndSuccessURL=https%3a%2f%2fsuccesspage.aspx&amp;shopEndFailureURL=https%3a%2f%2ferrorpage.aspx&amp;shopEndWindow=&amp;beneficiaryName1=&amp;beneficiaryAcctNo=&amp;beneficiaryBankBLZ=&amp;amount=10000&amp;currency=EUR&amp;paymentPurposeLine1=&amp;paymentPurposeLine2=&amp;operatorSignature=&amp;redirectUrl=http%3a%2f%2fdev.backend.cqrpayments.com%2fProviderListeners%2fGiropayListener.aspx</description>
			<paymentStateDetails>
				<detail xsi:type="keyStringValuePair">
					<key>RedirectionUrl</key>
					<value>http://dev.backend.cqrpayments.com/WebMockProviders/GiropayNotifier.aspx</value>
				</detail>
				<detail xsi:type="keyStringValuePair">
					<key>PostDataredirectData</key>
					<value> operatorId=002&amp;merchantId=8993352&amp;txId=778450&amp;merchantTxId=778450&amp;customerBankBLZ=&amp;customerBIC=NOLADE21WHO&amp;customerAcctNo=&amp;customerIBAN=DE31222500200532013000&amp;shopEndSuccessURL=https%3a%2f%2fsuccesspage.aspx&amp;shopEndFailureURL=https%3a%2f%2ferrorpage.aspx&amp;shopEndWindow=&amp;beneficiaryName1=&amp;beneficiaryAcctNo=&amp;beneficiaryBankBLZ=&amp;amount=10&amp;currency=EUR&amp;paymentPurposeLine1=&amp;paymentPurposeLine2=&amp;operatorSignature=&amp;redirectUrl=http%3a%2f%2fdev.backend.cqrpayments.com%2fProviderListeners%2fGiropayListener.aspx</value>          
				</detail>
				<detail xsi:type="keyStringValuePair">
					<key>PostDataKeys</key>
					<value>redirectData</value>
				</detail>
			</paymentStateDetails>

		</state>
		<isExecuted>false</isExecuted>
		<baseAmount currencyCode="EUR">100</baseAmount>
		<paymentDetails>
			<detail xsi:type="keyStringValuePair">
				<key>ProviderExternalID</key>
				<value>762763</value>
			</detail>
			<detail xsi:type="keyStringValuePair">
				<key>ProviderTransactionID</key>
				<value>762763</value>
			</detail>
		</paymentDetails>
		<paymentAccount>
			<paymentAccountID>6167da7a-d0e9-48aa-8b05-dc608ec216ae</paymentAccountID>
			<details>
				<detail xsi:type="keyStringValuePair">
					<key>swift</key>
					<value>NOLADE21WHO</value>
				</detail>
				<detail xsi:type="keyStringValuePair">
					<key>IBAN</key>
					<value>DE31222500200532013000</value>
				</detail>
			</details>
		</paymentAccount>
	</payment>
</initiatePaymentResponse>

Possible payment states in initiatePaymentResponse:

Payment StateDescription
RedirectDataCreated (287)OK state; Redirect user to the URL using via POST.

The merchant system should retrieve the redirect URL from payment.state.paymentStateDetails (key: RedirectionUrl).
Post data should be extracted from payment.state.paymentStateDetails (key: PostDataGiropay). This parameter is not mandatory while some banks do not support that.
Merchant sends POST request to RedirectionUrl including POST data (if available)
BlockedByPaymentScoring (202)Error state; Refused by the PXP Financial Risk System
RefusedByPaymentScoring (121)Error state; Refused by the PXP Financial Risk System
InitiateErrorReportedByProvider (4)Error state; Technical error during payment initialization

Note: in the Merchant Notification message “BankCode” and “AccountNumber” parameters will be sent (in the paymentAccount.details collection the elements with “bankCode” and “accountNumber” keys). Alternatively instead parameters “SWIFT” (BIC-code) and “IBAN” (IBAN number) will be included within the paymentAccount.details collection.

Notifications

The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.

Example handlePaymentStateChangedNotificationRequest:

<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <payment xmlns="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
    <merchantID>YourMerchant</merchantID>
    <shopID>YourShop</shopID>
    <paymentMethod>
      <key>62</key>
      <value>GiropayDeposit</value>
    </paymentMethod>
    <merchantTransactionID>32ae815c-c629-4fbd-a461-4c217f69116c</merchantTransactionID>
    <paymentID>1e3366ed-9e84-4efd-9976-75a0703e4535</paymentID>
    <userID>YourUser</userID>
    <paymentProvider>
      <key>55</key>
      <value>Giropay</value>
    </paymentProvider>
    <amount currencyCode="EUR">10.0000</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>e1c1aef9-bcb1-4dae-ae51-8e4df51fc5c6</id>
      <definition>
        <key>29</key>
        <value>DepositedByProvider</value>
      </definition>
      <createdOn>2011-07-13T08:26:01.76</createdOn>
      <paymentStateDetails xsi:nil="true" />
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">10.0000</baseAmount>
    <paymentDetails xsi:nil="true" />
    <paymentAccount>
      <paymentAccountID>e84ee2bf-72db-442c-b2a4-95ba34fabc68</paymentAccountID>
      <details>
        <detail xsi:type="keyStringValuePair">
          <key> swift</key>
          <value> NOLADE21WHO</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key> IBAN</key>
          <value> DE31222500200532013000</value>
        </detail>
      </details>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>