• DeutschEnglish

Split Payments

Computop Paygate offers possibility for maketplaces to create Split Payments on behalf of their customers. This functionality strongly improves shopping user experience, as multiple payments for multiple sub-merchant accounts can be achieved via single customer shopping experience.

Split Payments can be easily triggered using existing Paygate API interfaces, just by adding split payment information, via additional JSON object into the payment request.

Split Payments are currently supported for card payments only.

This document describes split payment functionality for card payments done via hosted card forms.

When requesting split payment via Computop hosted forms the complexity creating multiple separate payment requests and handling of 3-D Secure is completely removed from the merchant implementation.

From a merchant point of view the sequence itself does not differ to standard re-direct single payment flow.

Notice about Cookie-/Session Handling

Please note that some browsers might block necessary cookies when returning to Your shop. Hereyou will find additial information and different solution approaches.

Simplified Sequence Diagram

COO 6505 1000 20 2107369

Payment Request

To retrieve a Computop card form please submit the following data elements via HTTP POST request method to https://www.computop-paygate.com/payssl.aspx.

KeyFormatCNDDescription

MerchantID

ans..30

M

MerchantID, assigned by Computop. Additionally this parameter has to be passed in plain language too.

TransID

ans..64

M

TransactionID provided by you which should be unique for each payment

MsgVer

ans..5

M

Message version.

Values accepted:

  • 2.0

RefNr

ans..30

O

Merchant’s unique reference number, which serves as payout reference in the acquirer EPA file. Please note, without the own shop reference delivery you cannot read out the EPA transaction and regarding the additional Computop settlement file (CTSF) we cannot add the additional payment data.

Amount

n..10

M

Transaction amount in it smallest unit of the submission currency

Currency

a3

M

Currency, three digits DIN / ISO 4217, e.g. EUR, USD, GBP. Please find an overview here: A1 Currency table

Capture

an..6

OM

Determines the type and time of capture.

Capture Mode

Description

AUTO

Capturing immediately after authorisation (default value).

MANUAL

Capturing made by the merchant. Capture is normally initiated at time of delivery.

<Number>

Delay in hours until the capture (whole number; 1 to 696).

splitPayment

JSON

M

Object specifying how the payment will be splitted between sub Merchant IDs.

AccVerify

a3

O

Indicator to request an account verification (aka zero value authorization). If an account verification is requested the submitted amount will be optional and ignored for the actual payment transaction (e.g. authorization).

Values accepted:

  • Yes

threeDSPolicy

JSON

O

Object specifying authentication policies and excemption handling strategies

priorAuthenticationInfo

JSON

O

Prior Transaction Authentication Information contains optional information about a 3DS cardholder authentication that occurred prior to the current transaction

accountInfo

JSON

O

The account information contains optional information about the customer account with the merchant

billToCustomer

JSON

C

The customer that is getting billed for the goods and / or services. Required for EMV 3DS unless market or regional mandate restricts sending this information.

shipToCustomer

JSON

C

The customer that the goods and / or services are sent to. Required if different from billToCustomer.

billingAddress

JSON

C

Billing address. Required for EMV 3DS (if available) unless market or regional mandate restricts sending this information.

shippingAddress

JSON

C

Shipping address. If different from billingAddress, required for EMV 3DS (if available) unless market or regional mandate restricts sending this information.

credentialOnFile

JSON

C

Object specifying type and series of transactions using payment account credentials (e.g. account number or payment token) that is stored by a merchant to process future purchases for a customer. Required if applicable.

merchantRiskIndicator

JSON

O

The Merchant Risk Indicator contains optional information about the specific purchase by the customer.

If no shippingAddress is present it is strongly recommended to populate the shippingAddressIndicator property with an appropriate value such as shipToBillingAddress, digitalGoods or noShipment.

URLSuccess

ans..256

M

Complete URL which calls up Paygate if payment has been successful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.

Common notes:

  • We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate

  • However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.

URLFailure

ans..256

M

Complete URL which calls up Paygate if payment has been unsuccessful. The URL may be called up only via port 443. This URL may not contain parameters: In order to exchange values between Paygate and shop, please use the parameter UserData.

Common notes:

  • We recommend to use parameter "response=encrypt" to get an encrypted response by Paygate

  • However, fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.

Response

a7

O

Status response sent by Paygate to URLSuccess and URLFailure, should be encrypted. For this purpose, transmit Response=encrypt parameter.

URLNotify

ans..256

M

Complete URL which Paygate calls up in order to notify the shop about the payment result. The URL may be called up only via port 443. It may not contain parameters: Use the UserDataparameter instead.

Common notes:

  • Before follow-up actions (capture / credit / reversal) are carried out on an existing transaction, the first Notify must have been answered by the shop.

  • Fraudster may just copy the encrypted DATA-element which are sent to URLFailure and send the DATA to URLSuccess/URLNotify. Therefore ensure to check the "code"-value which indicates success/failure of the action. Only a result of "code=00000000" should be considered successful.

UserData

ans..1024

O

If specified at request, Paygate forwards the parameter with the payment result to the shop.

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here:

Computop Paygate will return an HTML document in the response body representing the requested card form. The form may be included in the merchant checkout page or used as a standalone page to redirect the cardholder to.

Cardholder authentication and payment authorization will take place once the the cardholder entered all required card details and submitted the form data to Computop Paygate.

Note: In case you are using your own templates (Corporate Payment Page), please make sure you include Cardholder name on your custom template. Cardholder name is mapped to Paygate API parameter "CreditCardHolder". Cardholder name field must not contain any special characters and must have minimal length of 2 characters and maximum length of 45 characters.

When the payment is completed Computop Paygate will send a notification to the merchant server (i.e. URLNotify) and redirect the browser to the URLSuccess resepctively to the URLFailure.

The blowfish encrypted data elements as listed in the following table are transferred via HTTP POST request method to the URLNotify and URLSuccess/URLFailure.

Notice: Please note that the call of URLSuccess or URLFailure takes place with a GET in case of fallback to 3-D Secure 1.0. Therefore your systems should be able to receive parameters both via GET and via POST.

HTTP POST to URLSuccess / URLFailure / URLNotify

KeyFormatCNDDescription

mid

ans..30

M

MerchantID, assigned by Computop

MsgVer

ans..5

M

Message version.

Values accepted:

  • 2.0

PayID

an32

M

ID assigned by Paygate for the payment, e.g. for referencing in batch files as well as for capture or credit request.

XID

an32

M

ID for all single transactions (authorisation, capture, credit note) for one payment assigned by Paygate

TransID

ans..64

M

TransactionID provided by you which should be unique for each payment

Status

a..20

M

Status of the transaction.

Values accepted:

  • OK

  • FAILED

Description

ans..1024

M

Further details in the event that payment is rejected. Please do not use the description but the Code parameter for the transaction status analysis!

Code

n8

M

Error code according to Paygate Response Codes (A4 Error codes)

splitPayment

JSON

M

Detailed information about split payments.

This field is only present in Notification (URLNotify), not in redirection (URLSuccess / URLFailure).

card

JSON

C

Card response data

ipinfo

JSON

C

Object containing IP information. Presence depends on the configuration for the merchant.

threeDSData

JSON

C

Authentication data

resultsResponse

JSON

C

In case the authentication process included a cardholder challenge additional information about the challenge result will be provided

UserData

ans..1024

O

If specified at request, Paygate forwards the parameter with the payment result to the shop.

MAC

an64

M

Hash Message Authentication Code (HMAC) with SHA-256 algorithm. Details can be found here:

Paygate

Documentation (EN)

Dokumentation (DE)

Paygate Status