Wix Integrations with DenizBank Virtual POS: A Modern and Fast Payment System
Wix supports DenizBank virtual POS integration, enabling users to use the bank's payment infrastructure.
Fintech-Focused Payment Infrastructure
As one of Turkey's leading institutions in digital banking, DenizBank places special emphasis on modern payment systems.intech-Focused Payment Infrastructure
As one of Turkey's leading institutions in digital banking, DenizBank places special emphasis on modern payment systems. Especially for fintech startups, digital marketing agencies, and technology-focused businesses, DenizBank's rapid authorization process provides a significant advantage. When you connect DenizBank Virtual POS to Wix, your customers can make payments within seconds, and you can access your revenues quickly.
DenizBank's Inter-VPOS infrastructure is designed according to modern e-commerce needs. This infrastructure provides both 3D Secure security and optimizes the user experience. Your customers can complete their transactions without waiting long on the payment pageenizBank's Inter-VPOS infrastructure is designed according to modern -commerce needs. This infrastructure provides both 3D Secure security and optimizes the user experience. Your customers can complete their transactions without waiting long on the payment page. Provisioning is fast, verification is smooth, and error rates are low. These features are especially critical for businesses that make instant sales – the payment must be completed before customer excitement fades.
When setting up the DenizBank integration on Wix, there are points you need to pay attention to, but the process is not complex. You enter the information you received from the bank into the Velo backend correctly, perform hash calculations, and set up the callback systemhen setting up the DenizBank integration on Wix, there are points you need to pay attention to, but the process is not complex. You enter the information you received from the bank into the Velo backend correctly, perform hash calculations, and set up the callback system. At every step, DenizBank's technical support team is with you - you can reach them at sanalpos@intertech.com.tr.
DenizBank 3D Secure and 3D Pay Structures
DenizBank offers two different 3D payment models: 3D Secure and 3D Pay. Both are secure, but their working mechanismsenizBank offers two different 3D payment models: 3D Secure and 3D Pay. Both are secure, but their working mechanisms differ. 3D Secure classic model - the customer enters their card information, is redirected to the bank's page, enters an SMS password, and authorization is obtained. This model is simple and clear, but can sometimes be slow because the customer must confirm twice.
The 3D Pay model is more modern and the preferred method for Wix integration. In this model, the customer still goes to the bank's page, but the authorization process is more integrated. Once the card is verified, the payment is completed directly; there is no separate authorization stephe 3D Pay model is more modern and the preferred method for Wix integration. In this model, the customer still goes to the bank's page, but the authorization process is more integrated. Once the card is verified, the payment is completed directly; there is no separate authorization step. This not only improves the customer experience but also reduces processing time. When making your DenizBank application, it is important to select the "3D Pay" model - otherwise, integration may cause issues.
When you create an API user in the DenizBank panel, you must select "API User" or "Online User" as the "user type". If you select "Normal User", the system will not accept programmatic requestshen you create an in the DenizBank panel, you must select "API User" or "Online User" as the "user type". If you select "Normal User", the system will not accept programmatic requests. After creating an API user, you will be given a password - write this down immediately because you will not be able to see it again. The password will be entered into your Velo backend and will be used for each payment initiation request.
Hash calculation is particularly important at DenizBank. The order of the hash parameters is as follows: ShopCode, OrderId, Amountash calculation is particularly important at DenizBank. The order of the hash parameters is as follows: ShopCode, OrderId, Amount, OkUrl, FailUrl, TxnType, InstallmentCount, Rnd, MerchantPass. You combine these parameters and encrypt them with Base64.culation is particularly important at DenizBank. The order of the hash parameters is as follows: ShopCode, OrderId, Amount, OkUrl, FailUrl, TxnType, InstallmentCount, Rnd, MerchantPass. You combine these parameters and encrypt them with Base64. DenizBank uses SHA-1, not HMAC - this detail is critical because if you choose the wrong algorithm, the hash will not match. The rnd parameter is a random value - usually a date stamp is used.
Wix Velo Backend Configuration
When you enable Developer Mode in the Wix Editor, you need to create three main components for the DenizBank integration. The first is storing the information in Secrets Managerhen you enable Developer Mode in the Wix Editor, you need to create three main components for the DenizBank integration. The first is storing the information in Secrets Manager. The Shop Code (store number), Merchant Pass (3D key), API user code and password that you received from DenizBank are entered into the Secrets Manager. This information should not appear in the browser, it should only be used on the server side.
The second component is the payment service file. Create a file named "denizbankService.jsw" in the backend folder. This file will contain hash calculation, payment initiation, and query functionshe second component is the payment service file. Create a file named "denizbankService.jsw" in the backend folder. This file will contain hash calculation, payment inThe second component is the payment service file. Create a file named "denizbankService.jsw" in the backend nd component is the payment service file. Create a file named "denizbankService.jsw" in the backend folder. This file will contain hash calculation, payment initiation, and query functions. Be careful when calculating hashes - at DenizBank, the parameters are directly concatenated and encoded with Base64. Example function:
import crypto from 'crypto';
function calculateHash(shopCode, orderId, amount, okUrl, failUrl, txnType, installment, rnd, merchantPass) {
const str = shopCode + orderId + amount + okUrl + failUrl + txnType + installment + rnd + merchantPass;
const hash = crypto.createHash('sha1').update(str).digest('base64');
return hash;
} const hash = crypto.createHash('sha1').update(str).digest('base64');
return hash;
}
The third component is the callback function. Create the "post_denizbankCallback" function in the HTTP Functions folder. This function receives the data that the bank returnst hash = crypto.createHash('sha1').update(str).digest('base64');
return hash;
}
The third component is the callback function. Create the "post_denizbankCallback" function in the HTTP Functions folder. This function receives the data that the bank returns. DenizBank sends many parameters as form data: Response, AuthCode, TransID, ProcReturnCode. The most important thing is that if the Response is "Approved", the operation was successful; other values indicate failure or an error.
Don't forget to perform hash verification in the callback. DenizBank sends its own hash back, and you calculate it using the same parameters and compare it. If they don't match, the data may have been manipulated; reject the transactionon't forget to perform hash verification in the callback. DenizBank sends its own hash back, and you calculate it using the same parameters and compare it. If they don't match, the data may have been manipulated; reject the transaction. If the response is "Approved" and the hash is correct, update the order status to "paid" and send confirmation to the customer.
Quick Provisioning and Process Management
One of DenizBank's standout features is its fast authorization process. When a customer makes a payment, authorization is received within seconds. While this process may take 10-15 seconds at some banks, DenizBank typically completes it in 3-5ne of DenizBank's standout features is its fast authorization process. When a customer makes a payment, authorization is received within seconds. While this process may take 10-15 seconds at some banks, DenizBank typically completes it in 3-5 seconds. This is especially critical for high-traffic sites and businesses that make instant sales. Customers complete their purchases without waiting, and you can process the order immediately.
Return and authorization cancellation processes are also easily managed from the DenizBank panel. When you log in to the panel, you can view all your payments in the "Transactions" section. To cancel a transaction or request a refund, you click the button on the transaction line and enter a reasoneturn and authorization cancellation processes are also easily managed from the DenizBank panel. When you log in to the panel, you can view all your payments in the "Transactions" section. To cancel a transaction or request a refund, you click the button on the transaction line and enter a reason. For transactions within the same day, you perform a "provision reversal"; for transactions the next day or later, you perform a "refund". In a provision reversal, the money is as if it had never been withdrawn from the customer's card; in a refund, the withdrawn money is returned.
Installment options are flexible at DenizBank. You can offer single payment, 2, 3, 6, or 12 installments. The number of installments you activate is determined when you negotiate with the banknstallment options are flexible at DenizBank. You can offer single payment, 2, 3, 6, or 12 installments. The number of installments you activate is determined when you negotiate with the bank. Commissioallment options are flexible at DenizBank. You can offer single payment, 2, 3, 6, or 12 installments. The number of installments you activate is determined when you negotiate with the bank. Commission rates vary depending on the number of installments - single payment has the lowest commission, while 12-installment has the highest. You decide whether to pass these rates on to your customers or not. If you charge the extra fee, the customer pays a bit more but your profit margin is preserved; if you don't charge the extra fee, the customer is satisfied but your profit decreases.
Multi-Currency Support and International Transactions
One of the important advantages of DenizBank Virtual POS is multi-currency support. In addition to the Turkish Lira, you can trade in Euros, Dollars, Sterling, Rubles and Yen. This is a great convenience, especially for businesses that sell abroad.f the important advantages of DenizBank Virtual POS is multi-currency support. In addition to the Turkish Lira, you can trade in Euros, Dollars, Sterling, Rubles and Yen. This is a great convenience, especially for businesses that sell abroad. The customer can pay in their own currency and doesn't have to worry about exchange rate calculations.
The currency codes are as follows: 949 for TRY, 978 for EUR, 840 for USD, 826 for GBP, 643 for RUB, 392 for JPY.rrency codes are as follows: 949 for TRY, 978 for EUR, 840 for USD, 826 for GBP, 643 for RUB, 392 for JPY. When initiating a payment, you include one of these codes in the Currency parameter. You can process transactions in multiple currencies using the same store number; you do not need to submit separate applications for each.
When making transactions with foreign cards, certain extra checks are activated. The bank's fraud detection system is more cautious with foreign cards. It analyzes data such as IP address, country of card issuance, and delivery address. If it deems the transaction suspicious, it may reject it or request extra verificationhen making transactions with foreign cards, certain extra checks are activated. The bank's fraud detection system is more cautious with foreign cards. It analyzes data such as IP address, country of card issuance, and delivery address. If it deems the transaction suspicious, it may reject it or request extra verification. This is necessary for security, but it can sometimes block legitimate transactions. It would be good to inform your customers that "if you're having issues with your international card, contact your bank".
Service Sector and Subscription Systems
DenizBank Virtual POS offers solutions particularly suitable for the service sector. In fields such as educational platforms, online courses, coaching services, and consulting, there are no physical products; only services are provided. Since there are no issues like cargo tracking or stock management in such transactions, the payment process is simpler Virtual POS offers solutions particularly suitable for the service sector. In fields such as educational platforms, online courses, coaching services, and consulting, there are no physical products; only services are provided. Since there are no issues like cargo tracking or stock management in such transactions, the payment process is simpler. Did the customer make the payment? Grant access to the service. DenizBank's rapid authorization process fits this model very well.
DenizBank has a C-POS service for subscription-based systems. This service manages regular collections automatically. The customer saves the card information once, automatic payouts are withdrawn in the following months. This is how services such as Netflix, Spotify work.enizBank has a C-POS service for subscription-based systems. This service manages regular collections automatically. The customer saves the card information once, automatic payouts are withdrawn in the following months. This is how services such as Netflix, Spotify work. To install this system on Wix, you need to apply for C-POS and develop custom integration. A little more complicated than the standard Virtual POS, but very useful.
In e-commerce stores, DenizBank's flexible structure provides an advantage. You can offer product-based installment options - such as no installments for products under 500 TL, 3 installments for products between 500-1000 TL, and 6 installments for products over 1000n e-commerce stores, DenizBank's flexible structure provides an advantage. You can offer product-based installment options - such as no installments for products under 500 TL, 3 installments for products between 500-1000 TL, and 6 installments for products over 1000 TL. This improves the customer experience because you aren't overwhelmed with unnecessary options. You can display installment options dynamically using a simple if-else structure in the frontend.
Automatic Notifications and Reporting
DenizBank's panel offers detailed reporting features. You can generate sales reports on a daily, weekly, or monthly basis. Here you can see how many transactions occurred at what time, what the average cart value was, and which cards were used for payments - all in one place. You can export these reports to Excel and perform analyses's panel offers detailed reporting features. You can generate sales reports on a daily, weekly, or monthly basis. Here you can see how many transactions occurred at what time, what the average cart value was, and which cards were used for payments - all in one place. You can export these reports to Excel and perform analyses. You can see on which days your business makes more sales and at what hours traffic increases.
Automatic notifications are also available. You can receive email notifications for every successful transaction. This feature is especially useful for small businesses that process few transactions per day - you'll be notified every time a payment arrivesmatic notifications are also available. You can receive email notifications for every successful transaction. This feature is especially useful for small businesses that process few transactions per day - you'll be notified every time a payment arrives. In high-turnover businesses, these notifications can be frequent; in such cases, you may prefer to receive only a daily summary email.
DenizBank also offers webhook support. A webhook means the bank automatically sends a request to a URL you specify when a payment is made. This way, you are notified as soon as the payment is completed, without having to wait for a callback page also offers webhook support A webhook means the bank automatically sends a request to a URL you specify when a payment is made. This way

Blakfy Expert
