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}.

POST /v1/purchase/{init}
Operation purchase

Path parameters

NameExampleDescription
init Token returned from /v1/init. Not required

Request body

Field Type Description
reference2 string (0,any)
industry_specific_transaction string (0,any)
06
moto boolean
zip string (0,any)
address string (0,any)
balance string (0,any)
fee number (0,any)
sca_exemption string (0,any)
low-value
mpg_id string (0,any)
card_expiration_month string (0,any)
010203040506070809101112
card_expiration_year string (0,any)
merchant string (0,any)
terminal string (0,any)
user string (0,any)
currency string (0,any)
card string (0,any)
card_number string (0,any)
reference string (0,any)
cardholder_name string (2,45)
cvv2 string (0,any)
mid string (0,any)
xid string (28,28)
cavv string (28,28)
version integer (0,any)
12
directory_transaction_id string (36,36)
resolution string (0,any)
eci string (0,2)
000102050607
recurring_type integer (0,any)
012345
initial_transaction string (0,any)
transaction_stamp string (0,any)
settlement_date 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"
    }
}
esc
navigate open esc close
Copied