Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space ENWORK and version Documentation

About Click to Pay

General information about Click to Pay

VISA Click To Pay is an implementation of the next generation of remote commerce specification – Secure Remote Commerce (SRC), introduced by EMVCo in 2019 and designed to create an ecommerce checkout experience that delivers the same security, convenience and control as offered in the physical world. Consumers can checkout quickly and securely when they see the Click to Pay icon. Currently SRC is adopted by VISA, MC, AMEX and Discover under the umbrella product "Click To Pay".

Notice: Currently only VISA brand is supported.

Page properties
Logo

Info
Excerpt

Visa Click to Pay is Visa’s online checkout experience built on the latest ecommerce industry specifications – EMV Secure Remote Commerce. To make a purchase, no longer entering of 16-digit primary account numbers, look up passwords or fill out long forms are required. To enjoy this easy, smart and secure online checkout experience simply click to pay with Visa when you see the Click to Pay icon where Visa is accepted.

TypePayments by eWallet


Further information you will find also on the webpage of Visa (https://www.visa.de/unser-partner-werden/bezahltechnologie/clicktopay-en.html).

Process flow chart

Multiexcerpt
MultiExcerptNameProcessFlow

draw.io Diagram
bordertrue
diagramNamevisaCtp_Partner
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth1421


Info

Click to Pay elements are hosted on

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
's credit card form and available out of the box for the merchants who use standard credit card form template (ct_responsive).

(info) Please contact

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameHelpdesk-Name
PageWithExcerptWording
to enable Click to Pay for your MID.

In case you're using custom credit card form template, please follow these samples how to enable Click to Pay elements for your template: Click to Pay for custom templates

There is an option to display a pop-up window with each call, in which buyers can enter their email address for Click To Pay in order to login faster. Please contact our helpdesk to enable this feature.

On this page

Table of Contents
exclude(Auf dieser Seite|In diesem Abschnitt|On this page|In this section).*


Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Kurz
PageWithExcerptWording
interface

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameDefinition
PageWithExcerptDefinition EN

Calling the interface

Click to Pay option is available on

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
's credit card form (payssl.aspx) and hosted payment page (paymentPage.aspx). Therefore no separate endpoint is required to call, Click to Pay is reachable within standard Credit card - interface via form.

When card holder decides to use Click to Pay, two transactions are created: in the Click to Pay transaction the required credit card data are obtained first and the actual credit card transaction is then carried out automatically. This takes place via a server-to-server connection and supports all usual credit card transaction options.

The table describes just recommended parameters for Click to Pay processing. It is also possible to include all credit card payment parameters (without credit card data). More information about this you can find within Card processing.

Table Filter
defaultBeschreibung
isFirstTimeEnterfalse
hideColumnstrue
sparkNameSparkline
hidePanetrue
datepatterndd M yy
id1639128186166_1870462446
worklog365|5|8|y w d h m|y w d h m
isORAND
separatorPoint (.)
order0
Multiexcerpt
MultiExcerptNameclicktopay_request
Table Transformer
dateFormatdd M yy
export-wordfalse
show-sourcefalse
export-csvfalse
id1639128186172_589327339
transposefalse
worklog365|5|8|y w d h m|y w d h m
separator.
export-pdffalse
sqlSELECT * FROM T*

Key

Format

CND

Description

Beschreibung

Email

ans..64

O

Email address of the customer. If provided, 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Name
PageWithExcerptWording
will determine if card holder's Click to Pay profile exists and simplify checkout experience.

Alternatively Email can be provided as a part of customerInfo object. In this case no need to provide it separately.

E-Mail-Adresse des Kunden. Falls angegeben, ermittelt das

Multiexcerpt include
SpaceWithExcerptDE
MultiExcerptNamePlatform-Name
PageWithExcerptDE:Wording
, ob das Click-to-Pay-Profil des Karteninhabers vorhanden ist, um den Bezahlvorgang zu vereinfachen.

Alternativ kann die E-Mail-Adresse als Teil des customerInfo-Objekts übergeben werden. In diesem Fall ist dieser Parameter nicht erforderlich.


Capture / Credit / Reversal

Captures, credits and reversals do not refer to the Click to Pay transaction but directly to the credit card transaction. More information about this you can find within Card processing.

Batch processing via the interface

Captures, credits and reversals via batch do not refer to the Click to Pay transaction but directly to the credit card transaction. More information about this you can find within the document Card processing.


Click to Pay for custom templates

Multiexcerpt
MultiExcerptNameClick-to-Pay-XML-example
Code Block
languagexml
titleClick to Pay (XML example code).xml
collapsetrue
// Copy and paste these complete <ClickToPay>...</ClickToPay> nodes into your XML language file
// IMPORTANT!!! At the moment the Click to Pay texts are only available in DE and EN

<?xml version="1.0" encoding="utf-16"?>
<languages>
    <language name="de">
        ...
		...
		...
        <ClickToPay>
            <haveAnAccount>Bereits registriert?</haveAnAccount>
            <lookUpMyCards>Meine Karten anzeigen</lookUpMyCards>
            <enrollmentCheckbox1>Richten Sie Ihre Karte für</enrollmentCheckbox1>
            <enrollmentCheckbox2>Click to Pay für einen schnelleren Checkout ein.</enrollmentCheckbox2>
            <infoIconPopover>
                <subTitle>Bezahle mit vertrauenswürdigen Marken</subTitle>
                <info1><![CDATA[Einfach mit nur einem Klick bezahlen, wann auch immer du das Click to Pay - Icon[icon] siehst und deine Karte ist akzeptiert.]]></info1>
                <info2><![CDATA[Für einen schnelleren Checkout kannst du entscheiden, ob dein Gerät und dein Browser vorgemerkt werden sollen.]]></info2>
                <info3><![CDATA[Basierend auf Industriestandards für Online-Transaktionen und unterstützt von globalen Payment-Marken.]]></info3>
            </infoIconPopover>
            <modal>
                <welcomeBack>Hallo zurück bei</welcomeBack>
                <notYou>nicht du?</notYou>
            </modal>
            <otpModal>
                <pleaseEnterOtp>Bitte geben Sie den OTP ein, welchen Sie per E-Mail oder SMS erhalten haben:</pleaseEnterOtp>
                <resend>Neuen OTP senden</resend>
                <newOtpWasSent>Ein neuer OTP wurde versendet.</newOtpWasSent>
                <phone>Mobil</phone>
                <email>E-Mail</email>
            </otpModal>
            <unbindModal>
                <email>E-Mail</email>
                <emailOrPhoneNumber>E-Mail oder Telefonnummer</emailOrPhoneNumber>
                <pleaseEnterEmailOrPhoneNumber>Bitte E-Mail-Adresse oder Telefonnumer eingeben.</pleaseEnterEmailOrPhoneNumber>
                <pleaseEnterEmail>Bitte E-Mail-Adresse eingeben.</pleaseEnterEmail>
            </unbindModal>
            <listOfCardsModal>
                <paymentMethod>Zahlungsart</paymentMethod>
                <selectOrAddCard>Bitte Karte auswählen oder eine neue Karte hinzufügen, um mit dem Bezahlvorgang fortzufahren.</selectOrAddCard>
                <addNewCard>Karte hinzufügen</addNewCard>
            </listOfCardsModal>
            <newCardModal>
                <pleaseEnterCardData>Bitte geben Sie Ihre Kartendaten ein.</pleaseEnterCardData>
                <cardNumberPlaceholder>Kartennummer</cardNumberPlaceholder>
                <expiryDatePlaceholder>MM / JJ</expiryDatePlaceholder>
                <cvcPlaceholder>CVC</cvcPlaceholder>
                <nameOnCardPlaceholder>Name auf der Karte</nameOnCardPlaceholder>
            </newCardModal>
            <confirm>Bestätigen</confirm>
            <cancel>Abbrechen</cancel>
            <errors>
                <unknownError>Unbekannter Fehler.</unknownError>
                <consumerNotPresent>Benutzer nicht bekannt.</consumerNotPresent>
                <accountLocked>Das Benutzerkonto wurde gesperrt oder deaktiviert.</accountLocked>
                <consumerIdentityMissing>Benutzeridentität fehlt im Request.</consumerIdentityMissing>
                <accountUnaccessible>Zugang zum Konto gesperrt.</accountUnaccessible>
                <accountCurrentlyUnaccessible>Das Konto existiert. Es ist im Moment aber kein Zugriff möglich.</accountCurrentlyUnaccessible>
                <unsupportedIdFormat>Nicht unterstützes ID-Format.</unsupportedIdFormat>
                <otpCouldNotBeSent>OTP konnte nicht zum Empfänger gesendet werden.</otpCouldNotBeSent>
                <numberOfRetriesExceeded>Maximale Anzahl der Wiederholversuche überschirtten. Bitte versuchen Sie es später noch einmal.</numberOfRetriesExceeded>
                <invalidEmailOrPhoneNumber>Ungültige E-Mail-Adresse oder Telefonnummer.</invalidEmailOrPhoneNumber>
                <invalidEmail>Ungültige E-Mail-Adresse.</invalidEmail>
                <invalidAccount>Konto ungültig.</invalidAccount>
                <notRecognizedAccount>Konto nicht erkannt.</notRecognizedAccount>
                <sessionExpired>Ihre Session ist abgelaufen. Bitte laden Sie die Seite neu.</sessionExpired>
                <invalidOneTimeCode>Bitte geben Sie einen gültigen OTP ein.</invalidOneTimeCode>
                <invalidCard>Karte ungültig.</invalidCard>
                <invalidCardExpiry>Ablaufdatum der Karte ungültig.</invalidCardExpiry>
                <unableToAddCard>Karte konnte nicht hinzugefügt werden.</unableToAddCard>
                <cardSecurityMustBeSupplied>CVC-Code muss angegeben werden.</cardSecurityMustBeSupplied>
                <cardIdMissing>Karten-ID fehlt.</cardIdMissing>
                <cardNotRecognized>Die Karte wurde nicht erkannt.</cardNotRecognized>
                <deviceCouldNotBeDisassociated>Das Gerät konnte nicht getrennt werden.</deviceCouldNotBeDisassociated>
                <pleaseEnterCardNumber>Bitte Kartennummer eingeben.</pleaseEnterCardNumber>
                <pleaseEnterExpiryDate>Bitte Ablaufdatum eingeben.</pleaseEnterExpiryDate>
                <pleaseEnterCvc>Bitte Kartenprüfnummer eingeben.</pleaseEnterCvc>
                <pleaseEnterNameOnCard>Bitte Name auf der Karte eingeben.</pleaseEnterNameOnCard>
            </errors>
        </ClickToPay>
        ...
		...
		...
    </language>
    <language name="en">
        ...
		...
		...
        <ClickToPay>
            <haveAnAccount>Already registered?</haveAnAccount>
            <lookUpMyCards>Look up my cards</lookUpMyCards>
            <enrollmentCheckbox1>Set your card up with</enrollmentCheckbox1>
            <enrollmentCheckbox2>Click to Pay for faster checkouts.</enrollmentCheckbox2>
            <infoIconPopover>
                <subTitle>Pay with confidence and trusted brands</subTitle>
                <info1><![CDATA[For an easy and smart checkout, simply click to pay whenever you see the Click to Pay icon[icon], and your card is accepted.]]></info1>
                <info2><![CDATA[You can choose to be remembered on your device and browser for faster checkout.]]></info2>
                <info3><![CDATA[Built on industry standards for online transactions and supported by global payment brands.]]></info3>
            </infoIconPopover>
            <modal>
                <welcomeBack>Welcome back to</welcomeBack>
                <notYou>not you?</notYou>
            </modal>
            <otpModal>
                <pleaseEnterOtp>Please enter a one-time code that was sent to:</pleaseEnterOtp>
                <resend>Resend</resend>
                <newOtpWasSent>A new one-time code was sent.</newOtpWasSent>
                <phone>Mobile</phone>
                <email>Email</email>
            </otpModal>
            <unbindModal>
                <email>Email</email>
                <emailOrPhoneNumber>Email or phone number</emailOrPhoneNumber>
                <pleaseEnterEmailOrPhoneNumber>Please enter an email address or phone number.</pleaseEnterEmailOrPhoneNumber>
                <pleaseEnterEmail>Please enter an email address.</pleaseEnterEmail>
            </unbindModal>
            <listOfCardsModal>
                <paymentMethod>Payment method</paymentMethod>
                <selectOrAddCard>Select or add a card below to continue your payment</selectOrAddCard>
                <addNewCard>Add new card</addNewCard>
            </listOfCardsModal>
            <newCardModal>
                <pleaseEnterCardData>Please enter your card data.</pleaseEnterCardData>
                <cardNumberPlaceholder>Card number</cardNumberPlaceholder>
                <expiryDatePlaceholder>MM / YY</expiryDatePlaceholder>
                <cvcPlaceholder>CVC-Code</cvcPlaceholder>
                <nameOnCardPlaceholder>Name on card</nameOnCardPlaceholder>
            </newCardModal>
            <confirm>Confirm</confirm>
            <cancel>Cancel</cancel>
            <errors>
                <unknownError>Unknown error.</unknownError>
                <consumerNotPresent>Consumer is not present.</consumerNotPresent>
                <accountLocked>The user account was locked or disabled.</accountLocked>
                <consumerIdentityMissing>Consumer identity is missing in the request.</consumerIdentityMissing>
                <accountUnaccessible>Account is not accessible.</accountUnaccessible>
                <accountCurrentlyUnaccessible>The account exists but is not currently accessible.</accountCurrentlyUnaccessible>
                <unsupportedIdFormat>Unsupported ID format.</unsupportedIdFormat>
                <otpCouldNotBeSent>OTP could not be sent to the recipient.</otpCouldNotBeSent>
                <numberOfRetriesExceeded>Number of retries exceeded the limit. Please try again later.</numberOfRetriesExceeded>
                <invalidEmailOrPhoneNumber>Invalid email or phone number.</invalidEmailOrPhoneNumber>
                <invalidEmail>Invalid email address.</invalidEmail>
                <invalidAccount>Invalid account.</invalidAccount>
                <notRecognizedAccount>Not recognized account.</notRecognizedAccount>
                <sessionExpired>Your session has expired. Please refresh the page.</sessionExpired>
                <invalidOneTimeCode>Please enter a valid one-time code.</invalidOneTimeCode>
                <invalidCard>Invalid card.</invalidCard>
                <invalidCardExpiry>Invalid card expiration date.</invalidCardExpiry>
                <unableToAddCard>Unable to add card.</unableToAddCard>
                <cardSecurityMustBeSupplied>Card security must be supplied.</cardSecurityMustBeSupplied>
                <cardIdMissing>The card ID was required but is missing.</cardIdMissing>
                <cardNotRecognized>The specified card was not recognized.</cardNotRecognized>
                <deviceCouldNotBeDisassociated>The device couldn't be disassociated.</deviceCouldNotBeDisassociated>
                <pleaseEnterCardNumber>Please enter your card number.</pleaseEnterCardNumber>
                <pleaseEnterExpiryDate>Please enter the expiry date.</pleaseEnterExpiryDate>
                <pleaseEnterCvc>Please enter the CVC-Code.</pleaseEnterCvc>
                <pleaseEnterNameOnCard>Please enter the name on card.</pleaseEnterNameOnCard>
            </errors>
        </ClickToPay>
        ...
		...
		...
    </language>
<languages>
Multiexcerpt
MultiExcerptNameClick-to-Pay-XSL-example
Code Block
languagexml
titleClick to Pay (XSL example code).html
collapsetrue
<html>
	<head>
		<!-- Viewport -->
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />

		<!-- Title -->
		<title>Click to Pay - Example code for XSL file</title>
		
		<!-- Embed CSS stylesheet for Click to Pay widgets -->
		<link rel="stylesheet" type="text/css" href="css/clicktopay.css" />
		
		<!-- Embed jQuery library (You can download and store the latest jquery library in your own template images folder as well) -->
		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
		
		<!-- Embed bootsrap library, which is stored at computops site -->
		<script type="text/javascript" src="js/bootstrap.min.js"></script>
	</head>
	<body>

		<!-- Click to Pay "Already registered?" or "Look up my cards" button. Depending on whether the customer was recognized or not -->
		<!-- You can place it wherever you want, but we recommend to place it above the credit card input fields -->
		<xsl:if test="paygate/useClickToPay = 'true'">
			<div class="ctp-button">
				<img class="ctp-logo" src="images/ctp_logo.png" alt="Click to Pay" border="0"/>
				<span class="font-weight-600 margin-right-5">Click to Pay</span>
				<span aria-hidden="true" data-toggle="popover" tabindex="0" data-original-title="" title="" class="glyphicon glyphicon-info-sign"></span>
				<span class="font-weight-600 margin-left-5">
					| <a id="ctpButton" href="#">
						<xsl:value-of select="paygate/language/ClickToPay/haveAnAccount"/>
					</a>
				</span>
			</div>
		</xsl:if>
		
		<!-- Click to Pay enrollment checkbox for unrecognized or new user flow -->
		<!-- You can place it wherever you want, but we recommend to place it below the credit card input fields -->
		<div class="row ctp-checkbox disabled">
			<input type="checkbox" id="ClickToPayEnrollment" name="ClickToPayEnrollment" disabled=""></input>
			<label for="ClickToPayEnrollment">
				<xsl:value-of select="paygate/language/ClickToPay/enrollmentCheckbox1"/><img class="margin-left-2 margin-right-2" src="images/ctp_logo.png"></img><xsl:value-of select="paygate/language/ClickToPay/enrollmentCheckbox2"/>
			</label>
			<span class="glyphicon glyphicon-info-sign" aria-hidden="true" data-toggle="popover" tabindex="0"></span>
		</div>
		
		<!-- Click to Pay hidden fields, which will contain all necessary texts and data for Click to Pay API calls (Computop sets and handles these values dynamically on server side) -->
		<!-- IMPORTANT! Do not change any of these hidden fields names or values -->
		<xsl:if test="paygate/useClickToPay = 'true'">
			
			<!-- Texts -->
			<input type="hidden" name="CtpHaveAnAccount"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/haveAnAccount"/></xsl:attribute></input>
			<input type="hidden" name="CtpLookUpMyCards"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/lookUpMyCards"/></xsl:attribute></input>
			<input type="hidden" name="CtpInfoIconPopoverSubTitle"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/infoIconPopover/subTitle"/></xsl:attribute></input>
			<input type="hidden" name="CtpInfoIconPopoverInfo1"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/infoIconPopover/info1"/></xsl:attribute></input>
			<input type="hidden" name="CtpInfoIconPopoverInfo2"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/infoIconPopover/info2"/></xsl:attribute></input>
			<input type="hidden" name="CtpInfoIconPopoverInfo3"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/infoIconPopover/info3"/></xsl:attribute></input>
			<input type="hidden" name="CtpModalWelcomeBack"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/modal/welcomeBack"/></xsl:attribute></input>
			<input type="hidden" name="CtpModalNotYou"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/modal/notYou"/></xsl:attribute></input>
			<input type="hidden" name="CtpOtpModalPleaseEnterOtp"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/otpModal/pleaseEnterOtp"/></xsl:attribute></input>
			<input type="hidden" name="CtpOtpModalResend"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/otpModal/resend"/></xsl:attribute></input>
			<input type="hidden" name="CtpOtpModalNewOtpWasSent"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/otpModal/newOtpWasSent"/></xsl:attribute></input>
			<input type="hidden" name="CtpOtpModalPhone"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/otpModal/phone"/></xsl:attribute></input>
			<input type="hidden" name="CtpOtpModalEmail"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/otpModal/email"/></xsl:attribute></input>
			<input type="hidden" name="CtpUnbindModalEmail"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/unbindModal/email"/></xsl:attribute></input>
			<input type="hidden" name="CtpUnbindModalEmailOrPhoneNumber"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/unbindModal/emailOrPhoneNumber"/></xsl:attribute></input>
			<input type="hidden" name="CtpUnbindModalPleaseEnterEmailOrPhoneNumber"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/unbindModal/pleaseEnterEmailOrPhoneNumber"/></xsl:attribute></input>
			<input type="hidden" name="CtpUnbindModalPleaseEnterEmail"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/unbindModal/pleaseEnterEmail"/></xsl:attribute></input>
			<input type="hidden" name="CtpListOfCardsModalPaymentMethod"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/listOfCardsModal/paymentMethod"/></xsl:attribute></input>
			<input type="hidden" name="CtpListOfCardsModalSelectOrAddCard"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/listOfCardsModal/selectOrAddCard"/></xsl:attribute></input>
			<input type="hidden" name="CtpListOfCardsModalAddNewCard"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/listOfCardsModal/addNewCard"/></xsl:attribute></input>
			<input type="hidden" name="CtpNewCardModalPleaseEnterCardData"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/newCardModal/pleaseEnterCardData"/></xsl:attribute></input>
			<input type="hidden" name="CtpNewCardModalCardNumberPlaceholder"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/newCardModal/cardNumberPlaceholder"/></xsl:attribute></input>
			<input type="hidden" name="CtpNewCardModalExpiryDatePlaceholder"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/newCardModal/expiryDatePlaceholder"/></xsl:attribute></input>
			<input type="hidden" name="CtpNewCardModalCvcPlaceholder"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/newCardModal/cvcPlaceholder"/></xsl:attribute></input>
			<input type="hidden" name="CtpNewCardModalNameOnCardPlaceholder"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/newCardModal/nameOnCardPlaceholder"/></xsl:attribute></input>
			<input type="hidden" name="CtpConfirm"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/confirm"/></xsl:attribute></input>
			<input type="hidden" name="CtpCancel"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/cancel"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorUnknownError"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/unknownError"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorConsumerNotPresent"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/consumerNotPresent"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorAccountLocked"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/accountLocked"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorConsumerIdentityMissing"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/consumerIdentityMissing"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorAccountUnaccessible"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/accountUnaccessible"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorAccountCurrentlyUnaccessible"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/accountCurrentlyUnaccessible"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorUnsupportedIdFormat"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/unsupportedIdFormat"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorOtpCouldNotBeSent"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/otpCouldNotBeSent"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorNumberOfRetriesExceeded"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/numberOfRetriesExceeded"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorInvalidEmailOrPhoneNumber"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/invalidEmailOrPhoneNumber"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorInvalidEmail"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/invalidEmail"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorInvalidAccount"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/invalidAccount"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorNotRecognizedAccount"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/notRecognizedAccount"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorSessionExpired"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/sessionExpired"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorInvalidOneTimeCode"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/invalidOneTimeCode"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorInvalidCard"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/invalidCard"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorInvalidCardExpiry"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/invalidCardExpiry"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorUnableToAddCard"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/unableToAddCard"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorCardSecurityMustBeSupplied"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/cardSecurityMustBeSupplied"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorCardIdMissing"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/cardIdMissing"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorCardNotRecognized"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/cardNotRecognized"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorDeviceCouldNotBeDisassociated"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/deviceCouldNotBeDisassociated"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorPleaseEnterCardNumber"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/pleaseEnterCardNumber"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorPleaseEnterExpiryDate"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/pleaseEnterExpiryDate"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorPleaseEnterCvc"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/pleaseEnterCvc"/></xsl:attribute></input>
			<input type="hidden" name="CtpErrorPleaseEnterNameOnCard"><xsl:attribute name="value"><xsl:value-of select="paygate/language/ClickToPay/errors/pleaseEnterNameOnCard"/></xsl:attribute></input>
			<input type="hidden" name="CtpPleaseWait"><xsl:attribute name="value"><xsl:value-of select="paygate/language/payStatus"/></xsl:attribute></input>
			
			<input type="hidden" name="ClickToPayTestaccount"><xsl:attribute name="value"><xsl:value-of select="paygate/testClickToPay"/></xsl:attribute></input>
			<input type="hidden" name="ClickToPayActiveEnrollment"><xsl:attribute name="value"><xsl:value-of select="paygate/preselectClickToPayEnrollment"/></xsl:attribute></input>
			<input type="hidden" name="ClickToPaySrciTransactionId"><xsl:attribute name="value"><xsl:value-of select="paygate/clickToPaySrciTransactionId"/></xsl:attribute></input>
			<input type="hidden" name="ClickToPaySrciDpaId"><xsl:attribute name="value"><xsl:value-of select="paygate/clickToPaySrciDpaId"/></xsl:attribute></input>
			<input type="hidden" name="ClickToPaySrcInitiatorId"><xsl:attribute name="value"><xsl:value-of select="paygate/clickToPaySrcInitiatorId"/></xsl:attribute></input>
			<input type="hidden" name="ClickToPayIdentityValue"><xsl:attribute name="value"><xsl:value-of select="paygate/clickToPayIdentityValue"/></xsl:attribute></input>
			<input type="hidden" name="ClickToPayTransactionAmount"><xsl:attribute name="value"><xsl:value-of select="paygate/clickToPayTransactionAmount"/></xsl:attribute></input>
			<input type="hidden" name="ClickToPayTransactionCurrencyCode"><xsl:attribute name="value"><xsl:value-of select="paygate/clickToPayTransactionCurrencyCode"/></xsl:attribute></input>
			<input type="hidden" name="ClickToPayPostURL"><xsl:attribute name="value"><xsl:value-of select="paygate/clickToPayPostURL"/></xsl:attribute></input>

			<input type="hidden" name="ClickToPayIdTokens"></input>
			<input type="hidden" name="ClickToPayIdToken"></input>
			<input type="hidden" name="ClickToPayCorrelationId"></input>
			<input type="hidden" name="ClickToPayDigitalCardId"></input>
			<input type="hidden" name="ClickToPayMaskedEmail"></input>
			<input type="hidden" name="ClickToPayMaskedNumber"></input>
			
			<!-- Embed all needed Click to Pay scripts (Please do not change any of these source paths!!!) -->
			<script data-main="scripts/main" src="js/jose.js"></script>
			<script type="text/javascript">
			<xsl:choose>
				<xsl:when test="paygate/testClickToPay = 'true'">
					<xsl:attribute name="src">https://sandbox.secure.checkout.visa.com/checkout-widget/resources/js/src-i-adapter/visaSdk.js</xsl:attribute>
				</xsl:when>
				<xsl:otherwise>
					<xsl:attribute name="src">https://assets.secure.checkout.visa.com/checkout-widget/resources/js/src-i-adapter/visaSdk.js</xsl:attribute>
				</xsl:otherwise>
			</xsl:choose>
			</script>
			<script type="text/javascript" src="js/bootbox.min.js"></script>
			<script type="text/javascript" src="js/clicktopay.js"></script>
				
		</xsl:if>

	</body>
</html>