Setting up Ziraat Bank Virtual POS on the Wix Platform: Comprehensive Technical Guide and Integration Strategy
Thanks to the installation of Ziraat POS on Wix, businesses can directly use the bank's secure payment infrastructure.
Comprehensive Technical Guide and Security Standards
The integration of Ziraat Bankası's virtual POS system, one of Turkey's most established banks, into the Wix e-commerce platform is critically important for businesses to establish a secure and professional payment infrastructure. Although this integration process is a complex structure requiring technical expertise, it can be completed smoothly with the right steps and professional support. As Blakfy, we provide complete technical support to businesses regarding Ziraat Bankası virtual POS integrations on the Wix platform with our expert team. To receive professional assistance during your integration process and perform a smooth installation, you can contact us at www.blakfy.com/iletisim.
Preliminary Preparation Process and Merchant Application
Before starting Ziraat Bankası virtual POS integration, a commercial agreement must be made with the bank and the merchant application must be completed. This process begins with submitting documents documenting your business's commercial activities to the bank. Tax plate, trade registry gazette, signature circular, and identification information of company officials are requested in the merchant application. Detailed information about Ziraat Bankası's virtual POS services can be accessed from the merchant solutions section at the bank's corporate website www.ziraatbank.com.tr.
After application approval, API identification information specific to your business is allocated by Ziraat Bankası. This identification information includes member merchant number, terminal number, user code, and password information. Additionally, encryption keys such as store key and hash key to be used for three-dimensional security transactions are also provided. All this information must be stored securely and protected against unauthorized access. The technical documentation package provided by the bank contains API endpoint addresses, request formats, response codes, and sample integration scenarios.
Separate sandbox environment access is provided for test environment, and comprehensive testing before moving to live environment is encouraged. In the test environment, it is possible to simulate the entire payment flow without actual money movement. Different scenarios such as successful transaction, failed transaction, insufficient balance, and card limit exceeded can be tested using test cards provided by the bank. To learn about the Central Bank of the Republic of Turkey's payment systems regulations, the relevant legislation section at www.tcmb.gov.tr should be reviewed.
Configuring Wix Velo Backend Infrastructure
The technical foundation of Ziraat Bankası virtual POS integration on the Wix platform is built on Velo backend technology. Velo offers a JavaScript-based comprehensive backend development environment and has a working structure similar to the Node.js ecosystem. JavaScript modules that will run server-side can be created by accessing the Backend folder from the Code Files section in Wix Editor. Official Velo documentation can be accessed at www.wix.com/velo/reference, and how to create backend modules is explained in detail.
The first technical step of integration is to securely integrate API identification information received from Ziraat Bankası into the Wix system. The Secrets Manager feature offered by the Wix platform provides an ideal solution for this purpose. Secrets Manager ensures sensitive information is stored in an encrypted environment and prevents them from appearing as plain text in code. Technical details about Secrets Manager usage are provided at support.wix.com/en/article/velo-about-secrets-manager. This approach is also compatible with PCI-DSS compliance requirements.
Basic functions to be created in the Backend folder undertake tasks of initiating payment transaction, creating request in XML format, calculating hash, processing callback data, and verifying transaction result. Each function should have comprehensive error management mechanisms, and critical operations should be recorded in log files. Logs can be viewed in Velo Developer Console with Wix's console.log function, and debugging operations are facilitated. The wix-fetch module is used to send HTTP requests, and a detailed usage guide for this module is available at www.wix.com/velo/reference/wix-fetch.
Technical Structure of XML-Based API System
Ziraat Bankası virtual POS system has an API infrastructure that exchanges data in XML format. XML format is a widely used standard for transporting structured data and provides readability advantage in debugging processes. JavaScript's native DOM APIs or libraries like xml2js can be used to create XML documents in Wix Velo backend functions. XML schema structure is specified in detail in Ziraat Bankası's technical documentation and must conform to a specific hierarchy.
The XML request to be created to initiate payment transaction consists of several basic sections. The first section contains authentication information, where member merchant number, terminal number, user code, and password information are located. The second section contains customer information, including customer's IP address, email address, and phone number if necessary. The third section contains card information, including card number, expiration date, and CVV code. The fourth section contains order information, including unique order number, order description, and customer reference information.
In the transaction details section, transaction type, amount information in kuruş, currency code, and installment count are specified. Currency code for Turkish Lira is used as nine hundred forty-nine. When installment count is sent as zero or one, single payment is made; for values two and above, installment sales are performed. Callback URLs for success and error situations are also specified in the XML request, and these URLs must work with HTTPS protocol. Information about World Wide Web Consortium's XML standards is published at www.w3.org.
Operation of Three-Dimensional Security Verification Process
Three-dimensional security verification is mandatory for all online transactions in Ziraat Bankası virtual POS system. This policy stems from both the bank's own security standards and regulations of the Central Bank of the Republic of Turkey. Three-dimensional security protocol is a global standard that enables verification of cardholder identity by the card-issuing bank. Technical specifications of this protocol managed by EMVCo can be accessed at www.emvco.com.
When the customer enters card information on the Wix checkout page and approves payment, the Velo backend function comes into play and sends payment request in XML format to Ziraat Bankası API. In addition to all information mentioned above, this request also contains hash security signature. Hash value is created by combining specific transaction parameters according to a predefined order and then passing through a cryptographic hash function. Generally, secure hash algorithms like SHA-256 or SHA-512 are used, and technical details on this subject are published at the National Institute of Standards and Technology's csrc.nist.gov.
When the request reaches Ziraat Bankası system, the bank automatically redirects the customer to the three-dimensional security verification page. This page works on the card-issuing bank's own infrastructure, and the user performs identity verification on this page. The most common verification method is entering the SMS code sent to the phone number, but some banks also offer alternative methods such as push notification approval via mobile application or biometric verification. When verification is successful or unsuccessful, the user is automatically redirected to the previously specified callback URL address.
Callback URL Configuration and Transaction Result Verification
The callback mechanism is a critical component that enables notification of transaction result to the Wix system after completion of the three-dimensional security process. Creating callback endpoints on the Wix Velo platform is accomplished through HTTP functions. How to define and configure these functions is explained in detail at www.wix.com/velo/reference/wix-http-functions. HTTP functions are server-side codes that can receive requests via POST or GET method from external systems and return responses.
Configuring two separate URLs is recommended: success callback endpoint for successful transactions and error callback endpoint for failed transactions. This separation facilitates offering different user experiences and applying different business logic. The first operation to be done in the callback function is receiving all parameters from Ziraat Bankası and logging them securely. Parameters include transaction status code, approval number, bank reference number, host reference number, error message, and hash security signature.
Hash verification is the most critical security check of the callback stage. The hash value from Ziraat Bankası and the hash value recalculated server-side must match exactly. If matching is not achieved, transaction should be rejected for security reasons since data integrity is not guaranteed. After successful hash verification, transaction status code is checked. A specific code returns for successful transactions while different error codes return for failed transactions. The meaning of each error code is explained in the bank's technical documentation, and error messages to be shown to the user should be customized according to these codes.
Order Management and Database Synchronization
Storage and management of order information on the Wix platform is performed through the Wix Data database system. Creating a unique order number for each payment transaction and both sending this number to Ziraat Bankası and storing it in own database is critically important. Through this matching, transaction result received at callback stage can be associated with the correct order. Comprehensive information about using Wix Data API is provided at www.wix.com/velo/reference/wix-data.
Creating a well-defined life cycle for order statuses increases operational efficiency. When order is first created, it is brought to pending status; when payment process is initiated, it is updated to payment initiated status; while three-dimensional security verification is being done, it moves to verification stage status; and according to callback result, it is updated to payment successful or payment failed statuses. Timestamp information is recorded at each status change, and thus transaction timeline can be tracked in detail.
Maintaining a transaction history table in addition to the order table in database structure is strongly recommended. Every API request and response, hash values, error messages, and system logs are stored in the transaction history table. This detailed record-keeping approach provides great convenience in troubleshooting processes and can be used as reference in customer service requests. PCI-DSS compliance requirements determined by Payment Card Industry Security Standards Council require transaction records to be kept for a certain period. Detailed information about these requirements is published at www.pcisecuritystandards.org.
Comprehensive Scenario Testing in Test Environment
Conducting comprehensive tests in test environment before moving to live environment constitutes one of the most important stages of the integration process. Ziraat Bankası test environment allows simulation of entire payment flow without actual money movement. Different scenarios such as successful payment, insufficient balance, incorrect card information, three-dimensional security error, limit exceeded, and timeout should be tested using test cards. Test card information and test scenarios are explained in detail in technical documentation provided by Ziraat Bankası.
It should be verified that each scenario works as expected, and it should be checked that messages shown to user in error situations are understandable and guiding. Technical error codes should not be shown directly to user; instead, user-friendly explanations should be provided. For example, in case of insufficient balance, instead of technical code, an explanatory message like "there is insufficient balance on your card, please try another card" should be shown. Appropriate error management mechanisms should also be established for timeout situations and user should be informed.
Performance metrics should also be measured during test process. Time from initiation of payment transaction to redirect to three-dimensional security page, completion time of callback operations, and general transaction time should be recorded. Since these metrics directly affect user experience, they need to be optimized. Information about Google's web performance standards is provided at web.dev/performance. Test results should be documented and a checklist should be created before going live.
Transition to Live Environment and First Transaction Processes
After test processes are successfully completed, preparations for transition to live environment can be started. API endpoint addresses need to be updated from test environment to production environment in transition to live environment. Ziraat Bankası production API address is different from test address, and this change should be made in backend code. Updating API identification information stored in Secrets Manager from test environment information to live environment information is critically important.
Making first transactions in live environment with low-amount test purchases is recommended. By performing these test transactions using real card and at small amounts, it should be verified that system works smoothly in live environment as well. After successful completion of first transactions, system stability should be tested by trying higher-amount transactions and different scenarios. Transaction logs should be carefully monitored during first few days, and rapid intervention should be made when any abnormality is detected.
Customer service team also needs to be informed along with transition to live environment. Training should be provided so they can answer customer questions about payment process and apply basic troubleshooting steps. A document containing frequently encountered payment problems and solution recommendations should be prepared and shared with customer service team. Communication protocols should be determined for emergency scenarios. Contact information for Ziraat Bankası's technical support team should be noted and kept ready for quick support in critical issues.
Payment History Tracking and Management Panels
Regular tracking and reporting of payment transactions after transition to live environment is critically important for operational management. All orders and payment statuses can be viewed under Orders tab in Dashboard section of Wix platform. Information such as payment method, transaction status, approval code, and transaction date is recorded for each order. Detailed information about Wix's order management features is provided in help center section at support.wix.com.
Virtual POS Management Panel provided by Ziraat Bankası gives access to more detailed transaction reports. Daily, weekly, monthly, and custom date range transaction reports can be created through this panel. Reports can be downloaded in Excel format and integrated into accounting systems. Transaction details include card type, installment count, commission amount, and net collection information. Refund and cancellation transactions can also be performed through panel, and transaction queries can be made.
Regular reconciliation operations are recommended for synchronized operation of both systems. Order records in Wix should be compared with transaction records in Ziraat Bankası, and inconsistencies should be detected. Inconsistencies usually stem from technical errors, timeout situations, or problems in callback processes. Early detection and resolution of such situations is important. This process can be automated by writing automatic reconciliation scripts and run daily to generate reports.
Security Protocols and PCI-DSS Compliance
Security should be handled as highest priority in payment systems. Payment Card Industry Data Security Standard determines mandatory security requirements for all systems where credit card information is processed. Wix platform provides PCI-DSS compliance at infrastructure level and regular security audits are conducted. Information about Wix's security certificates and compliance reports is published at www.wix.com/about/security.
The most critical security rule in integration process is that sensitive information such as card number and CVV should never be stored on merchant server. In three-dimensional security flow, this information is transmitted directly to bank system and never stored in Wix backend code. This approach provides SAQ-A level compliance and significantly reduces business's compliance burden. Detailed information about different Self-Assessment Questionnaire types of PCI-DSS is available on Payment Card Industry Security Standards Council's website.
SSL certificate must be active for all payment pages. Wix platform automatically provides SSL certificate to all sites. API keys and security tokens used in Velo backend codes are protected with Secrets Manager. Access control should be applied to backend functions, and only authorized users should be able to perform sensitive operations. Regular security updates should be followed, and maintenance work should be planned to keep system up to date.
Critical Points to Watch and Best Practices
Some critical points should be particularly noted to achieve successful results in Ziraat Bankası virtual POS integration. First critical point is implementing hash calculation algorithm exactly as specified in bank's documentation. Order of parameters used in hash calculation, combination method, and hash algorithm used must match exactly. Otherwise, all transactions will be rejected for security reasons. Detailed verification of hash calculation process in test environment and testing with different scenarios is strongly recommended.
Second critical point is comprehensive handling of timeout management and error scenarios. Network problems or temporary system outages may occur in requests made to bank API. Retry mechanisms should be established for these situations, but retry count should be limited to avoid infinite loop. Timeout periods should be set at reasonable values, and information that transaction is awaited should be given to user with loading indicators. User-friendly messages should be prepared for each error situation, and alternative payment methods should be suggested.
Third critical point is ensuring uniqueness of order numbers. Confusion may occur when multiple transactions are made with same order number. Order number creation mechanism should be designed to include components such as timestamp, random value, and sequential counter. Order number field should be protected with unique constraint at database level. In callback operations, it should be checked whether incoming order number is registered in system, and duplicate transaction attempts should be prevented.
Fourth critical point is proper establishment of log management and monitoring processes. All critical operations should be logged in detail, but sensitive information should not be written to logs. Information such as card number and CVV should definitely not be included in log files. Log levels should be set correctly, and debug level logs should be closed in production environment. Log files should be regularly archived and disk space management should be done. Alerting mechanisms should be established to send automatic notifications when critical errors occur.
Managing Refund and Cancellation Transactions
Proper management of refund and cancellation transactions in e-commerce operations is critically important for customer satisfaction. Ziraat Bankası virtual POS system supports refund and cancellation transactions through API. Cancellation transaction is used for transactions not yet finalized and is generally valid for transactions within same day. Refund transaction is used for finalized transactions and enables refunding money to customer's card. Information about distance sales contract regulations of the Ministry of Trade of the Republic of Turkey is published at www.ticaretbakanligi.gov.tr.
Buttons to initiate refund and cancellation transactions can be added to order detail pages in Wix management panel. When these buttons are clicked, Velo backend function comes into play and sends refund or cancellation request in appropriate format to Ziraat Bankası API. Request includes reference number of original transaction, approval code, and refund amount. Partial refund transactions are also supported, and refund of a portion of original transaction amount can be made. When refund transaction is successfully completed, automatic email should be sent to customer and order status should be updated.
In refund transactions, reflection of money to customer's account varies by card-issuing bank but generally takes three to seven business days. This information should be clearly communicated to customer. All refund and cancellation transactions should be logged and reported in detail. Coordination should be established with accounting department to ensure financial records are kept correctly. Tracking refund transactions through Ziraat Bankası Virtual POS Management Panel and reconciling them with records in Wix system is recommended.
Professional Support and Continuous Improvement
Although Ziraat Bankası virtual POS integration is a complex process requiring technical expertise, it can be completed smoothly with professional support. As Blakfy, we provide complete service to businesses with our years of experience in virtual POS integrations on Wix platform and expert technical team. We are with you at all stages of integration process and guarantee system sustainability with our post-live support services.
Continuous monitoring and improvement work is recommended even after integration is completed. Performance metrics of payment process should be measured regularly and user experience optimizations should be made. Customer feedback should be considered and improvement opportunities in checkout process should be evaluated. System updates made by Ziraat Bankası should be followed and integration codes should be updated when necessary. Applying security patches on time and keeping system up to date is critically important.
As Blakfy, we provide technical support to our customers not only during installation phase but throughout entire process. We provide twenty-four-hour accessible support service seven days a week for any problems you may encounter with your payment systems. If you want to receive professional assistance during your integration process, perform a smooth installation, and work with a reliable partner for long-term success, you can contact us at www.blakfy.com/iletisim. Our expert team is ready to provide you with the best service.
References and Technical Documentation
All technical standards, protocols, and regulations used in this integration process are based on reliable official sources. Payment systems regulations of the Central Bank of the Republic of Turkey are published at www.tcmb.gov.tr, banking legislation of the Banking Regulation and Supervision Agency is published at www.bddk.org.tr. Compliance requirements and security standards of Payment Card Industry Security Standards Council are explained in detail at www.pcisecuritystandards.org.
EMVCo's three-dimensional security protocol specifications and technical documentation are available at www.emvco.com. Comprehensive documentation about Wix platform's Velo technology, backend development, HTTP functions, and security features is provided at www.wix.com/velo/reference. Technical details about cryptographic hash functions and security algorithms are published at the National Institute of Standards and Technology's csrc.nist.gov.
Information about virtual POS services and merchant application processes can be found at Ziraat Bankası's corporate website www.ziraatbank.com.tr. Information about Wix platform's security infrastructure and certifications is available at www.wix.com/about/security, and user support resources are available at support.wix.com. Consumer rights and distance sales contract regulations are published at the Ministry of Trade's www.ticaretbakanligi.gov.tr. World Wide Web Consortium's XML standards are at www.w3.org, and Google's web performance standards are provided at web.dev/performance.

Blakfy Expert
