@@ -84,7 +84,8 @@ def start_transaction(self, merchant_tx_id, amount, purpose,
8484 redirect_url = GIROSOLUTION_RETURN_URL ,
8585 notify_url = GIROSOLUTION_NOTIFICATION_URL ,
8686 success_url = GIROSOLUTION_SUCCESS_URL ,
87- error_url = GIROSOLUTION_ERROR_URL ):
87+ error_url = GIROSOLUTION_ERROR_URL ,
88+ shipping_address = None ):
8889 """
8990 girosolution transaction
9091 :param merchant_tx_id:
@@ -116,6 +117,36 @@ def start_transaction(self, merchant_tx_id, amount, purpose,
116117 #
117118 # todo: add datamapping for other paymentmethods
118119
120+ elif self .payment_type is GIROSOLUTION_PAYMENT_METHODS .GP :
121+ # go with giropay
122+ data = OrderedDict ()
123+ data ['merchantId' ] = self .payment .get ('MERCHANT_ID' )
124+ data ['projectId' ] = self .payment .get ('PROJECT_ID' )
125+ data ['merchantTxId' ] = merchant_tx_id
126+ data ['amount' ] = amount
127+ data ['currency' ] = currency
128+ data ['purpose' ] = purpose
129+ data ['urlRedirect' ] = redirect_url
130+ data ['urlNotify' ] = notify_url
131+
132+ elif self .payment_type is GIROSOLUTION_PAYMENT_METHODS .PD :
133+ # go with paydirekt
134+ data = OrderedDict ()
135+ data ['merchantId' ] = self .payment .get ('MERCHANT_ID' )
136+ data ['projectId' ] = self .payment .get ('PROJECT_ID' )
137+ data ['merchantTxId' ] = merchant_tx_id
138+ data ['amount' ] = amount
139+ data ['currency' ] = currency
140+ data ['purpose' ] = purpose
141+ data ['shippingAddresseFirstName' ] = shipping_address ['shippingAddresseFirstName' ]
142+ data ['shippingAddresseLastName' ] = shipping_address ['shippingAddresseLastName' ]
143+ data ['shippingZipCode' ] = shipping_address ['shippingZipCode' ]
144+ data ['shippingCity' ] = shipping_address ['shippingCity' ]
145+ data ['shippingCountry' ] = 'DE'
146+ data ['orderId' ] = merchant_tx_id
147+ data ['urlRedirect' ] = redirect_url
148+ data ['urlNotify' ] = notify_url
149+
119150 else :
120151 logger .error (_ ("unknown payment method" ))
121152
@@ -173,6 +204,9 @@ def call_api(self, url=None, data=None):
173204 generated_hash = self ._generate_hash_from_dict (data )
174205 data .update ({'hash' : generated_hash })
175206
207+ from pprint import pprint
208+ pprint (data )
209+
176210 try :
177211 response = requests .post (url , data = data )
178212 except requests .HTTPError as e :
0 commit comments