Click to Pay
Network-based digital wallet service letting customers store and use card credentials securely for online transactions, with SCA compliance baked in.
Overview
This page explains how to integrate Click to Pay into the Paynetics Acquiring product. Click to Pay is a network-based digital wallet service that allows customers to store and use their card credentials securely for online transactions.
The service covers Visa and Mastercard integration with Strong Customer Authentication (SCA) compliance. It does not include non-card digital wallets or alternative payment services like PayPal.
Currency and country coverage
Settlement currencies supported are EUR, GBP, and BGN, with processing available in all Paynetics-supported currencies. Geographic coverage includes EU27 nations, Iceland, Liechtenstein, Norway, and the UK.
Merchant onboarding
No additional requirements exist beyond standard Paynetics onboarding. Merchants can onboard via API (recommended) or manually through a secure portal. Manual onboarding has limited capacity — approximately 10–15 applications per month. Email underwriting@paynetics.digital for manual onboarding submissions. Paynetics handles approvals; cardholder enrolment is managed by the card schemes.
Fees, payouts, and reporting
Fees and payouts follow existing procedures. Real-time transaction tracking occurs via API, with daily reconciliation reports sent via SFTP. Profit-share amounts appear in monthly acquiring commission reports, delivered by the 10th of each month.
Technical integration
After signing an agreement, merchants receive Sandbox access for integration and testing. Production deployment requires a new API key and updated API root path.
Payments use POST /v1/purchase or POST /v1/pre-authorization endpoints. Pre-authorisations require subsequent capture requests via POST /v1/capture.
Key parameters include the network card token, expiration details, cardholder name, wallet identifier, digital payment cryptogram, and optional merchant identifier for enhanced approval rates.
3D Secure integration is optional for Visa (beneficial for liability shift via ECI 05) and required for Mastercard when prior authentication hasn't occurred.
API reference
Live request / response schema, parameters, example payload, and cURL / Node / Python / PHP code samples — pulled from the OpenAPI spec for post_/v1/purchase/{init}.
purchasePath parameters
| Name | Example | Description |
|---|---|---|
init |
— |
Token returned from /v1/init. Not required |
Request body
| Field | Type | Description |
|---|---|---|
reference2
|
string (0,any) | |
industry_
|
string (0,any) | |
moto
|
boolean | |
zip
|
string (0,any) | |
address
|
string (0,any) | |
balance
|
string (0,any) | |
fee
|
number (0,any) | |
sca_
|
string (0,any) | |
mpg_
|
string (0,any) | |
card_
|
string (0,any) | |
card_
|
string (0,any) | |
merchant
|
string (0,any) | |
terminal
|
string (0,any) | |
user
|
string (0,any) | |
currency
|
string (0,any) | |
card
|
string (0,any) | |
card_
|
string (0,any) | |
reference
|
string (0,any) | |
cardholder_
|
string (2,45) | |
cvv2
|
string (0,any) | |
mid
|
string (0,any) | |
xid
|
string (28,28) | |
cavv
|
string (28,28) | |
version
|
integer (0,any) | |
directory_
|
string (36,36) | |
resolution
|
string (0,any) | |
eci
|
string (0,2) | |
recurring_
|
integer (0,any) | |
initial_
|
string (0,any) | |
transaction_
|
string (0,any) | |
settlement_
|
string (0,any) |
Example request
{
"reference2": "string",
"industry_specific_transaction": "string",
"moto": "boolean",
"zip": "string",
"address": "string",
"balance": "string",
"fee": "number",
"financial_institution_service_data": {
"date_of_birth": "2021-12-12",
"postal_code": "string",
"surname": "string"
},
"client_fingerprint": {
"location_finger_print": "",
"ip_address": "127.0.0.1",
"geo_location": "string",
"device_type": "string",
"operating_type_and_version": "WI11",
"browser_type_and_version": "CH88",
"email": "string"
},
"delivery_details": {
"delivery_name": "John Doe",
"delivery_street_name": "James Bourchier 76A",
"delivery_zip": "1407",
"delivery_city": "Sofia",
"delivery_country": "BG"
},
"sca_exemption": "string",
"wallet_payment": {
"wallet_identifier": "apple-pay",
"digital_payment_cryptogram": "string",
"remote_commerce_acceptor_identifier": "string"
},
"aft": {
"account_owner_address1": "James Bourchier 76A",
"account_owner_address2": "James Bourchier 76A",
"account_owner_street": "James Bourchier",
"account_owner_postal_code": "ABCDE12345",
"account_owner_city": "Sofia",
"account_owner_country": "BGR",
"merchant_postal_code": "ABCDE123",
"merchant_state": "SOF",
"acceptor_legal_name": "Paynetics",
"sender_address": "James Bourchier 76A",
"sender_city": "Sofia",
"sender_state": "SF",
"sender_country": "BGR",
"sender_name": "John Doe",
"sender_account_number": "efa213eab69d46c4a690",
"recipient_name": "John Doe",
"bai": "string",
"account_owner_subdivision_code": "abc",
"mvv": "13456ABCD"
},
"partner_data": {
"independent_sales_organization_id": "00001111222"
},
"market_specific_extensions": {
"mcc": "0000"
},
"additional_clearing_data": {
"merchant_street": "James Bourchier",
"merchant_postcode": "ABCDE12345"
},
"mpg_id": "string",
"card_expiration_month": "string",
"card_expiration_year": "string",
"merchant": "string",
"terminal": "string",
"user": "string",
"amount": "number",
"currency": "string",
"card": "string",
"card_number": "string",
"reference": "string",
"cardholder_name": "string",
"cvv2": "string",
"mid": "string",
"card_acceptor": {
"name": "string"
},
"xid": "string",
"cavv": "string",
"version": "integer",
"directory_transaction_id": "string",
"resolution": "string",
"eci": "string",
"recurring_type": "integer",
"initial_transaction": "string",
"transaction_stamp": "string",
"settlement_date": "string"
}
Response
| Field | Type | Description |
|---|---|---|
code
|
integer (0,any) |
Example response
{
"code": "integer",
"data": {
"card_number": "string",
"processing_code": "string",
"amount": "number",
"stan": "string",
"local_time": "string",
"local_date": "string",
"auth_code": "string",
"response_code": "string",
"card_acceptor_terminal_id": "string",
"card_acceptor_identification_code": "string",
"currency": "string",
"transaction": "string",
"external_transaction_id": "string",
"error_details": "string",
"cvv_status": "string",
"avs_status": "string",
"ccti_id": "string",
"transaction_stamp": "string",
"retrieval_reference_number": "string",
"card": "string",
"original_network_response_code": "string",
"action_code": "string",
"order": "string"
}
}