/** * Payment link. * * @param $params * @return string */ function checkoutjs_link($params) { $Api = CheckoutApi_Api::getApi(array('mode' => $params['modetype'])); $model = new model_methods_creditcard(); $paymentToken = $model->getPaymentToken($params); $publicKey = $params['publickey']; $email = $params['clientdetails']['email']; $amount = $params['amount']; $currencyCode = $params['currency']; $amountCents = $Api->valueToDecimal($amount, $currencyCode); $customerName = $params['clientdetails']['firstname'] . " " . $params['clientdetails']['lastname']; $returnUrl = $params['systemurl'] . '/modules/gateways/callback/checkoutjs_callback.php?cko-card-token='; $address1 = $params['clientdetails']['address1']; $address2 = $params['clientdetails']['address2']; $city = $params['clientdetails']['city']; $postcode = $params['clientdetails']['postcode']; $country = $params['clientdetails']['countrycode']; $state = $params['clientdetails']['state']; $logoUrl = $params['logoUrl']; $themeColor = $params['themeColor']; $iconColor = $params['iconColor']; $buttonColor = $params['buttonColor']; $useCurrencyCode = $params['useCurrencyCode'] ? 'true' : 'false'; $title = $params['title']; $widgetColor = $params['widgetColor']; $buttonLabelColor = $params['buttonLabelColor']; $formButtonColor = $params['formButtonColor']; $formButtonColorLabel = $params['formButtonColorLabel']; $overlayShade = $params['overlayShade']; $overlayOpacity = $params['overlayOpacity']; $showMobileIcons = $params['showMobileIcons']; $widgetIconSize = $params['widgetIconSize']; $url = $params['modetype'] == 'Live' ? model_methods_creditcard::CHECKOUT_NON_PCI_JS_URL_LIVE : model_methods_creditcard::CHECKOUT_NON_PCI_JS_URL_SANDBOX; $errorMessage = getErrorMessage(); $code = @"\n <div style='width:150px; margin:0 auto;'>\n <script src='https://code.jquery.com/jquery-1.11.0.min.js'></script>\n <script src={$url}></script>\n <script>\n Checkout.render({\n debugMode : true,\n publicKey : '{$publicKey}',\n paymentToken : '{$paymentToken}',\n customerEmail : '{$email}',\n customerName : '{$customerName}',\n value : '{$amountCents}',\n currency : '{$currencyCode}',\n paymentMode : 'card',\n forceRedirect : false,\n //payButtonSelector : '#payNow',\n cardFormMode : 'cardTokenisation',\n billingDetails: {\n 'addressLine1' : '{$address1}',\n 'addressLine2' : '{$address2}',\n 'postcode' : '{$postcode}',\n 'country' : '{$country}',\n 'city' : '{$city}',\n 'state' : '{$state}'\n },\n logoUrl :'{$logoUrl}',\n renderMode : 1,\n themeColor :'{$themeColor}',\n buttonColor :'{$buttonColor}',\n iconColor :'{$iconColor}',\n useCurrencyCode :'{$useCurrencyCode}',\n title :'{$title}',\n widgetColor :'{$widgetColor}',\n buttonLabelColor :'{$buttonLabelColor}',\n styling : {\n formButtonColor : '{$formButtonColor}',\n formButtonColorLabel : '{$formButtonColorLabel}',\n overlayShade : '{$overlayShade}',\n overlayOpacity : '{$overlayOpacity}',\n showMobileIcons : '{$showMobileIcons}',\n widgetIconSize : '{$widgetIconSize}'\n },\n ready: function (event) {\n if(document.getElementById('whmcsorderfrm')){\n document.getElementsByClassName('alert')[0].style.visibility='hidden';\n document.getElementsByClassName('textcenter')[0].style.visibility='hidden';\n }\n },\n widgetRendered: function (){\n if(document.getElementById('whmcsorderfrm')){\n //document.getElementById('cko-widget').style.visibility='hidden';\n }\n },\n cardTokenised: function(event) {\n if(document.getElementById('whmcsorderfrm')){\n document.getElementById('cko-widget').style.visibility='hidden';\n document.getElementsByClassName('textcenter')[0].style.visibility='visible';\n }\n window.location.href = '{$returnUrl}'+event.data.cardToken;\n }\n });\n </script>\n </div>\n "; if ($errorMessage) { $code .= "<div><p style='color:red;'>{$errorMessage}</p></div>"; } return $code; }