SEPA Direct Debit - Germany

Regardless of the transaction type, the basic XML document structure of a German Direct Debit transaction is as follows:

<ipgapi:IPGApiOrderRequest 
		xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1" 
		xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi">
	<v1:Transaction>
		<v1:DE_DirectDebitTxType>...</v1:DE_DirectDebitTxType>
		<v1:DE_DirectDebitData>...</v1:DE_DirectDebitData>
		<v1:Payment>...</v1:Payment>
		<v1:TransactionDetails>...</v1:TransactionDetails>
		<v1:Billing>
               <v1:Name>Name Surname</v1:Name>
            </v1:Billing>
		<v1:Shipping>...</v1:Shipping>
	</v1:Transaction>
</ipgapi:IPGApiOrderRequest>

The element DE_DirectDebitTXType is mandatory for all debit transactions. The other elements depend on the transaction type. The transaction content is type-specific.

📘

GLV Contract

In case you have a “GLV” contract with your service provider, you need to submit additional customer data in “Billing” element of your transaction request.

Sale

The following XML document represents an example of a Sale transaction using the minimum set of elements:

<ipgapi:IPGApiOrderRequest
		xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1"
		xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi">
	<v1:Transaction>
		<v1:DE_DirectDebitTxType>
			<v1:Type>sale</v1:Type>
		</v1:DE_DirectDebitTxType>
		<v1:DE_DirectDebitData>
<v1:IBAN>DE345001XXXX32121604</v1:IBAN>
<v1:MandateReference>0/8/15</v1:MandateReference>
		</v1:DE_DirectDebitData>
<v1:Billing>
<v1:Name>Markus Mustermann</v1:Name>
</v1:Billing>
		<v1:Payment>
			<v1:ChargeTotal>19.00</v1:ChargeTotal>
			<v1:Currency>978</v1:Currency>
		</v1:Payment>
	</v1:Transaction>
</ipgapi:IPGApiOrderRequest>
Void

The following XML document represents an example of a Void transaction using the minimum set of elements:

<ipgapi:IPGApiOrderRequest
		xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1"
		xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi">
	<v1:Transaction>
		<v1:DE_DirectDebitTxType>
			<v1:Type>void</v1:Type>
		</v1:DE_DirectDebitTxType>
		<v1:TransactionDetails>
			<v1:IpgTransactionId>1234567890</v1:IpgTransactionId>			</v1:TransactionDetails>
	</v1:Transaction>
</ipgapi:IPGApiOrderRequest>

For referencing to the transaction that shall be voided, this example uses the parameter IpgTransactionId. If you have assigned a transaction ID (MerchantTransactionId) in the original transaction, you can alternatively submit this ID as ReferencedMerchantTransactionId instead.

📘

Unkown Payment Method

In case your system is not aware of the payment method that has been used for the original transaction, the Void can be performed using any TxType which supports Voids. The Gateway will then select the correct payment method based on the referenced Transaction ID.

Credit

Please note, that Credit is a transaction type that requires special user permissions.

The following XML document represents an example of a Credit transaction using the minimum set of elements:

<ipgapi:IPGApiOrderRequest
		xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1"
		xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi">
	<v1:Transaction>
		<v1:DE_DirectDebitTxType>
			<v1:Type>credit</v1:Type>
		</v1:DE_DirectDebitTxType>
		<v1:DE_DirectDebitData>
               <v1:IBAN>DE34500****0032121604</v1:IBAN>		
		</v1:DE_DirectDebitData>
<v1:Billing>
<v1:Name>Markus Mustermann</v1:Name>
</v1:Billing>
		<v1:Payment>
			<v1:ChargeTotal>19.00</v1:ChargeTotal>
			<v1:Currency>978</v1:Currency>
		</v1:Payment>
	</v1:Transaction>
</ipgapi:IPGApiOrderRequest>
Return

Please note that Return is a transaction type that requires special user permissions.

The following XML document represents an example of a Return transaction using the minimum set of elements:

<ipgapi:IPGApiOrderRequest
		xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1"
		xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi">
	<v1:Transaction>
		<v1:DE_DirectDebitTxType>
			<v1:Type>return</v1:Type>
		</v1:DE_DirectDebitTxType>
		<v1:Payment>
			<v1:ChargeTotal>1.00</v1:ChargeTotal>
			<v1:Currency>978</v1:Currency>
		</v1:Payment>
		<v1:TransactionDetails>
		<v1:OrderId>62e3b5df-2911-4e89-8356-1e493</v1:OrderId>
		</v1:TransactionDetails>
	</v1:Transaction>
</ipgapi:IPGApiOrderRequest>

📘

Unkown Payment Method

In case your system is not aware of the payment method that has been used for the original transaction, the Return can be performed using any TxType which supports Returns. The Gateway will then select the correct payment method based on the referenced Order ID.


Want a quick overview?