### Generate Private Key and CSR (IXOPAY Example) Source: https://documentation.ixopay.com/manual/docs/connector/advanced-configuration/applepay-googlepay This is an example command for generating a private key and CSR, specifically using 'IXOPAY' and 'AT' as placeholders for company name and country code. ```bash openssl ecparam -name prime256v1 -genkey -noout -out privateKey.key openssl req -new -key privateKey.key -out certificateSigningRequest.csr \ -subj '/O=IXOPAY/C=AT' ``` -------------------------------- ### Example Payment Integration Template Source: https://documentation.ixopay.com/manual/docs/tokenization/customer-profiles This template includes essential scripts and styles for integrating the payment form, including Bootstrap and custom CSS for styling. ```html ``` ```html
``` ```css :root { --primary-color: #5e045e; --primary-color-rgb: 94,4,94; --secondary-color: #7E047E; --tertiary-color: #4C044C; --error-color: #d00; } html{ overflow-y: scroll; } body{ font-size: 12px; } #Container{ display: block; width: 600px; margin: 0 auto; background-color: white; padding: 10px; height: 100%; min-height: 100%; } h1{ font-size: 1.2em; margin: 0; padding-top: 25px; color: white; font-weight: bold; } h2{ font-size: 1.4em; font-weight: normal; margin: 0px 0px 0px 15px; padding-top: 10px; padding-bottom: 20px; } h2.pt{ padding-top: 20px; } h3{ font-size: 1.1em; font-weight: bold; } .payment-form{ padding-left: 0px; } .payment-form h2{ margin: 0px; } .th{ font-weight: bold; } .payment-method { cursor: pointer; } .payment-method img{ /* set size of images */ /*max-width: 100%;*/ width: 150px; height: 90px; border: transparent solid 2px; } .payment-method.method-selected img{ border: var(--primary-color) solid 2px; } .payment-method:hover img{ border: var(--secondary-color) solid 2px; } .payment-method-trigger{ margin-left: 10px; } .stored-payment-container .payment-method-trigger{ margin-left: 20px; clear: both; } .stored-payment-container .payment-method-data{ margin-left: 20px; display: table; opacity: 0.6; cursor: pointer; } .stored-payment-container .payment-method-trigger:hover .payment-method-data, .stored-payment-container .payment-method-data.selected { opacity: 1 !important; } .stored-payment-container .payment-method-data img, .stored-payment-container .payment-method-data input[type=radio], .stored-payment-container .payment-method-data div { display: table-cell; vertical-align: middle; } .stored-payment-container .payment-method-data img{ width: 50px; height: auto; } .stored-payment-container .payment-method-data input[type=radio]{ margin-top: 10px; margin-right: 8px; padding-right: 15px; } .stored-payment-container .payment-method-data div{ padding: 3px 2px; } .stored-payment-container .payment-method-data.selected .p-data{ border: 2px solid rgba(var(--primary-color-rgb), 0.5); padding: 2px; } .stored-payment-container .payment-method-data .p-data{ padding: 4px; } .stored-payment-container .payment-method-data span{ display: block; color: dimgrey; font-size: 15px; line-height: 15px; padding: 2px 6px; } .setNewPreferredInstrumentContainer{ margin-left: 65px; margin-top: 10px; display: none; } label{ font-size: 1em; font-weight: normal; margin-top: 4px; margin-bottom: 0px; } div.info{ color: var(--error-color); display: none; margin-left: 17px; } hr{ margin-top: 3px; margin-bottom: 3px; border-top-color: #dddddd; } .btn{ margin: 5px 10px 10px 0px; } #proceed-btn, ``` -------------------------------- ### Importing Email Addresses to Blocklist Source: https://documentation.ixopay.com/manual/docs/risk-management/blocklist-allowlist This example shows the content of a text file used for importing a list of email addresses to the blocklist. Each line represents a value to be imported for the 'Email' key. ```text test@example.com user@example.com block@example.com ``` -------------------------------- ### Cardholder Data Import Result Example Source: https://documentation.ixopay.com/manual/docs/pci-data-migration This is an example of the newline-delimited JSON format for the import result file, showing old and new reference IDs for each card. ```json { "newReferenceId": "abcdefghijklmnopqr", "oldReferenceId": "388333B", customerId: "AT-2938938" } { "newReferenceId": "8291edi3ndidn393un", "oldReferenceId": "7837373", customerId: "DE-3838832" } ``` -------------------------------- ### Combining Expressions Example Source: https://documentation.ixopay.com/manual/docs/connector/advanced-configuration/field-expression-language Demonstrates combining multiple functions, including array processing, null coalescing, and string truncation, to create a complex data transformation. ```field-expression-language truncateAfterNChars(implode(',', array_column(transaction.items, 'name')) ?: transaction.description, 100) ``` -------------------------------- ### Configure Dynamic File Name for Transaction Export Source: https://documentation.ixopay.com/manual/docs/post-processing/jobs/examples Example of a dynamic file name pattern for exporting transactions to CSV. This pattern includes transaction dates and merchant information. ```text Transactions_20230109000000_20230115235959_ACME Italy.csv ``` -------------------------------- ### Basic Placeholder Usage Source: https://documentation.ixopay.com/manual/docs/fast Demonstrates the basic syntax for using placeholders in templates, enclosed in double curly braces. ```html {{ fields.firstname.id }} ``` -------------------------------- ### Initialize Payment.js for Surcharge Calculation Source: https://documentation.ixopay.com/manual/docs/connector/advanced-configuration/surcharge Initialize the Payment.js library and set up the callback function for surcharge calculations. This function handles displaying or hiding surcharge amounts based on the response. ```javascript var paymentJs = new PaymentJs("1.2"); function onSurchargeComplete(surchargeAmount, newTotalAmount) { if (newTotalAmount) { // display amount to users } else { // hide surcharge amount as no surcharge is charged } } ``` -------------------------------- ### Configure Cron Expression for Weekly Job Schedule Source: https://documentation.ixopay.com/manual/docs/post-processing/jobs/examples Example of a Cron expression to schedule a job to run every Monday at 00:00 UTC. This is used for periodical transaction reports. ```cron 0 0 * * 1 ``` -------------------------------- ### Enable Surcharge/GST Calculation in Connector Settings Source: https://documentation.ixopay.com/manual/docs/connector/advanced-configuration/surcharge Activate Surcharge and GST calculation by adding specific settings to the connector. Enter '1' to enable. ```text Navigate to the Connector Details Overview - Settings Type in HPP: enable Surcharge Calculation respective HPP: enable GST Calculation and click + Add Enter 1 to activate the setting ``` -------------------------------- ### Initialize Credit Card Fields with PaymentJs Source: https://documentation.ixopay.com/manual/docs/tokenization/customer-profiles Initializes the PaymentJs library for credit card number and CVV fields, applying custom styles. ```javascript // initialize creditcard fields let ccForm = $('.payment-form[data-apimethod="Creditcard"]'); if( ccForm.length ){ var publicKey = ccForm.find('input[name="publicKey"]').val(); var numberDivId = 'number_div_' + ccForm.data('method'); var cvvDivId = 'cvv_div_' + ccForm.data('method'); var paymentJs = new PaymentJs("1.2"); // style cc number and cvv field paymentJs.init(publicKey, numberDivId, cvvDivId, function(payment) { payment.setNumberStyle({ 'border': '#dddddd solid 1px', 'height': '100%', 'padding-left':'5px' }); payment.setCvvStyle({ 'border': '#dddddd solid 1px', 'height': '100%', 'padding-left':'5px'}); }); } ``` -------------------------------- ### Generate Private Key and CSR using CLI Source: https://documentation.ixopay.com/manual/docs/connector/advanced-configuration/applepay-googlepay Use these OpenSSL commands to generate a private key and a certificate signing request (CSR) for your merchant identity. Replace YOURCOMPANYNAME and YOURCOMPANYCOUNTRYALPHA2 with your specific details. This method provides the private key directly. ```bash openssl genrsa -out merchantPrivateKey.key 2048 openssl req -new -key merchantPrivateKey.key -out merchantCertificateSigningRequest.csr \ -subj '/O=YOURCOMPANYNAME/C=YOURCOMPANYCOUNTRYALPHA2' ``` ```bash openssl genrsa -out merchantPrivateKey.key 2048 openssl req -new -key merchantPrivateKey.key -out merchantCertificateSigningRequest.csr \ -subj '/O=IXOPAY/C=AT' ``` -------------------------------- ### Configure Dynamic Email Subject for Transaction Report Source: https://documentation.ixopay.com/manual/docs/post-processing/jobs/examples Example of a dynamic email subject pattern for periodic transaction reports. This pattern includes merchant name and transaction date ranges. ```text ACME Italy_Periodic_Transactions_Report_20230109000000_20230115235959 ``` -------------------------------- ### Pay By Link API Request Body Source: https://documentation.ixopay.com/manual/docs/connector-specific-features/paybylink Example of a JSON request body to create a Pay By Link transaction via the API. Set 'sendByEmail' to true or false to control email delivery. ```json { "merchantTransactionId": "45756756756756756", "amount": "9.99", "currency": "EUR", "successUrl": "https://example.com/finalize?SUCCESS=1", "cancelUrl": "https://example.com/finalize?CANCEL=1", "errorUrl": "https://example.com/finalize?ERROR=1", "callbackUrl": "https://example.com/postback", "customer": { "firstName": "Max", "lastName": "Mustermann", "email": "max.mustermann@example.com", "company": "Huge Company", "ipAddress": "127.0.0.1" }, "language": "en", "payByLink": { "sendByEmail": false } } ``` -------------------------------- ### Get Static Asset Link Source: https://documentation.ixopay.com/manual/docs/fast Generates a URL to static assets (images, CSS, JS) uploaded to the FAST Editor's static folder. This function is used to embed these assets into templates. ```php ``` -------------------------------- ### Configure Attachment File Name Pattern for Email Export Source: https://documentation.ixopay.com/manual/docs/post-processing/jobs/examples Example of a file name pattern to include CSV and XLSX attachments in an email. This uses a regular expression to match files with .csv or .xlsx extensions. ```regex /\.(csv|xlsx)$/ ``` -------------------------------- ### Generate Private Key and CSR (Generic) Source: https://documentation.ixopay.com/manual/docs/connector/advanced-configuration/applepay-googlepay Use this command to generate a private key and a certificate signing request (CSR) for Apple Pay. Replace placeholders with your company information. ```bash openssl ecparam -name prime256v1 -genkey -noout -out privateKey.key openssl req -new -key privateKey.key -out certificateSigningRequest.csr \ -subj '/O=YOURCOMPANYNAME/C=YOURCOMPANYCOUNTRYALPHA2' ``` -------------------------------- ### Define Payment Method Specific Fields (Direct Debit) Source: https://documentation.ixopay.com/manual/docs/connector/multi-method-connector/payment-selection-page Conditionally display fields like IBAN and BIC for Direct Debit payments using the `apiIdentifier` within a loop. This example shows how to render input fields and error blocks. ```twig {% if m.apiIdentifier == 'DirectDebit' %}
{% endif %} ``` -------------------------------- ### Typical FAST Page Layout Structure Source: https://documentation.ixopay.com/manual/docs/fast This snippet shows a standard HTML structure for a FAST payment page layout, including placeholders for doctype, head elements, body scripts, form tags, and the main content insertion point. ```html {{ html.doctype }} {{ head.metatags }} {{ head.css }} {{ head.js }} {{ body.jsTop }} {{ form.open }} {{ form.close }} {{ body.jsBottom }} ```