Integration
Credit Card
Direct Debit
Bluecode
eps
giropay
iDEAL
Maestro
PayPal
Payment Page
Tools
Error codes
Result codes
Test data
This is an old revision of the document!
Information about PayPal payment can be found under https://www.girosolution.de/girocheckout/bezahlverfahren.html.
For testing purpose there runs a PayPal simulation page. After initialisation of a PayPal payment the buyer is redirected to a simulation page. There can be chosen if the transaction should be finished successfully or unsuccessfully.
Transaktionsausgang
result code | answer type | description |
---|---|---|
4000 | successful transaction | The payment result can be chosen in the simulation page. |
4900 | unsuccessful transaction | The payment result can be chosen in the simulation page. |
As shown in the workflow there are different API calls during a PayPal transaction.
Torwards a successful initialisation you receive a reference number and an redirect link. The redirect link leads to the payment page of PayPal. He has to be redirected. This can be achieved by a HTTP-Redirect-Header, HTML page with a corresponding Meta-Tag or JavaScript redirect.
URL: https://payment.girosolution.de/girocheckout/api/v2/transaction/start
provided by: GiroCheckout
called by: merchant
name | mandatory | type | description |
---|---|---|---|
merchantId | yes | Integer | merchant ID |
projectId | yes | integer | project ID |
merchantTxId | yes | String(255) | unique transaction id of the merchant |
amount | yes | Integer | if a decimal currency is used, the amount has to be in the smallest unit of value, eg. Cent, Penny |
currency | yes | String(3) | currency EUR = Euro |
purpose | yes | String(27) | purpose |
urlRedirect | yes | String | URL, where the buyer has to be sent after payment |
urlNotify | yes | String | URL, where the notification has to be sent after payment |
hash | yes | String | HMAC MD5 hash (see hash generation) |
curl -d "merchantId=1234567" \ -d "projectId=1234" \ -d "merchantTxId=1234567890" \ -d "amount=100" \ -d "currency=EUR" \ -d "purpose=Beispieltransaktion" \ -d "urlRedirect=http://www.my-domain.de/girocheckout/redirect" \ -d "urlNotify=http://www.my-domain.de/girocheckout/notify" \ -d "hash=19a1f2dae3e6fccc37ea29e025ebfb1a" \ https://payment.girosolution.de/girocheckout/api/v2/transaction/start
The reply includes a JSON encoded string. The field rc contains the response code. If it is 0 the transaction was successfully initialised. The response also includes a transaction id and a redirect URL to the payment page.
name | mandatory | type | description |
---|---|---|---|
rc | yes | Integer | response code |
msg | yes | String | additional information about the response code |
reference | optional | String | unique GiroCheckout transaction ID |
redirect | optional | String | redirect URL to the payment page |
HEADER parameter | |||
hash | yes | String | HMAC MD5 hash overall the JSON string. (see api call reply) |
hash : 43bcc298c042d657506c25bd90812750
{"reference":"a79985f0-004e-4823-9de4-54fcb45fab37","redirect":"https://payment.girosolution.de/payment/services/paypal/simulate/1196312","rc":"0","msg":""}
hash : f826b7b320bf0115722cc3276319b0a8
{"reference":null,"redirect":null,"rc":5030,"msg":"Betrag ungültig"}
The result of an initialised transaction will be submitted to the prior in the urlNotify parameter specified URL. This notification should be used to update the payment status in the merchant's system. The result of the payment is contained in the field gcResultPayment.
URL: notifyUrl of the prior init transaction call
provided by: merchant
called by: GiroCheckout
name | mandatory | type | description |
---|---|---|---|
gcReference | yes | String | unique GiroCheckout transaction ID |
gcMerchantTxId | yes | String | merchant transaction ID |
gcBackendTxId | yes | String | payment processor transaction ID |
gcAmount | yes | Integer | if a decimal currency is used, the amount is in the smallest unit of value, eg. cent, penny |
gcCurrency | yes | String | currency |
gcResultPayment | yes | Integer | payment result codes |
gcHash | yes | String | HMAC MD5 hash (see hash generation) |
As a reply to the GET request, one of the following HTTP status codes is expected.
HTTP status code | description |
---|---|
200 (OK) | The notification was processed correctly. |
400 (Bad Request) | The merchant did not process the notification and does not wish to be notified again. |
all others | The notification is repeated no more than 10 times every 30 minutes until the merchant returns the status code 200 or 400. |
After completing the payment, the customer may return to the merchant through a link. This return is not done automatically.
URL: redirectUrl of the prior init transaction call
provided by: merchant
called by: GiroCheckout
name | mandatory | type | description |
---|---|---|---|
gcReference | yes | String | unique GiroCheckout transaction ID |
gcMerchantTxId | yes | String | merchant transaction ID |
gcBackendTxId | yes | String | payment processor transaction ID |
gcAmount | yes | Integer | if a decimal currency is used, the amount is in the smallest unit of value, eg. cent, penny |
gcCurrency | yes | String | currency |
gcResultPayment | yes | Integer | payment result codes |
gcHash | yes | String | HMAC MD5 hash (see hash generation) |