FAQ¶
- What store version is PWAjet available from?
- What is the minimum PHP version?
- Do you have a demo store?
- What languages are supported?
- Can I add my own language?
- Is there support for RTL?
- Are there special requirements for a logo?
- Is any customization possible?
- Can I install it on a customized store?
- How will the application work on an already customized store?
- How do I customize the color scheme?
- Can I distinguish regular orders from orders placed in the application? Do they have any special prefix?
- How is the application updated? Does it have versioning like CS-Cart?
- Are there any special hosting requirements?
- How will it influence SEO?
- How PWAjet works with Multi-Vendor Ultimate?
- My store is located in a subdirectory (example.com/shop). Does it matter?
- What are the requirements for payment methods?
- I have my custom theme. Will PWAjet display it on mobiles?
- I checked the performance of the PWA demo store in Google Page Speed (or another similar service) and the result was poor. How is that?
- Can customers visit the main version of the store from PWA storefront?
- How to publish the app in Google Play? Does it works for AppStore?
- Can I create pop-ups?
- Guests cannot place an order. Will this be fixed?
- Will shipping information and payment details be displayed on a product details page?
- Will it work with the remarketing tags installed on my site?
- Does PWAjet work with Product Variations?
- Does it work with the Vendor Locations add-on?
- PWAjet Payment Method Adaptation
What store version is PWAjet available from?¶
The PWAjet application is available for CS-Cart stores starting from 4.11.4 version. For lower versions (from 4.9), installation is possible with a special patch. Contact our support team for assistance and consultation.
What is the minimum PHP version?¶
The minimum PHP version is 7.0. Also, check the server requirements for the PWAjet application.
Do you have a demo store?¶
Of course, have a look at the PWAjet application performance in our demo store.
What languages are supported?¶
The PWAjet application provides the support for English, Russian, and German by default.
Can I add my own language?¶
Yes, you can translate language variables from English into the desired language and download the translation to your store. If you would like the translation to be added to the future versions of the PWAjet application, contact our technical support team and send us the translation.
Shortly, the translation will be organized in the same way as in CS-Cart: we will provide a convenient service, and you will be able to translate variables.
Is there support for RTL?¶
Yes, there is.
Are there special requirements for a logo?¶
We recommend using .png
/.jpg
image with the 196x100px size for Logo block. Size of the logo used on the PWA icon tab of PWAjet setting page is not determined. The support for .svg
images will be added in the upcoming versions.
Is any customization possible?¶
Currently, only style customizations are possible. The possibility of customization with the help of add-ons is being examined now.
Can I install it on a customized store?¶
Yes, contact our sales or account manager for details.
How will the application work on an already customized store?¶
All admin panel customizations and all customizations related to data changes on the backend (for example, changing the product title, price, etc.) will be saved. Customization of the theme, blocks, and other frontend elements will not be available, as they were made for the responsive theme (or themes that inherit it), and not for PWAjet.
How do I customize the color scheme?¶
The color scheme can be customized with the help of the special editor. Follow our guide for style customization.
Can I distinguish regular orders from orders placed in the application? Do they have any special prefix?¶
Orders placed in the PWAjet application also get into your CS-Cart admin panel. They are completely identical to any other orders, there is no prefix.
How is the application updated? Does it have versioning like CS-Cart?¶
It is updated like any other regular add-on from Simtech Development (via the Upgrade Center) and it has versioning as well. For more information on add-on updating, visit our blog.
Are there any special hosting requirements?¶
No, they aren’t. The configuration will be no harder than to set up a new storefront.
How will it influence SEO?¶
Google officially and de facto fully supports SPA, i.e. it is able to not just receive static content from the server but knows how to render SPA. So, if your goal is organic traffic from Google only, there will be no problem with it.
If you need traffic from other search engines or snippets generation in social networks when sharing links to a store, contact us for a quote for a separate paid service that will render content and provide robots with prepared pages.
How PWAjet works with Multi-Vendor Ultimate?¶
PWAjet is adapted to multiple store environment.
My store is located in a subdirectory (example.com/shop). Does it matter?¶
It does. At the moment, PWAjet does not support such location for some reasons: other applications or sites may be located in other subdirectories, and it may cause issues since many HTML features work within the same origin (domain), for example, local storage is not separated for all applications and sites, but it has a particular limit.
If PWAjet support were possible for subdirectories, the application will use the same storage with other applications and sites, which will lead to data confusion and situations when one application takes up the entire cache/storage quota, without leaving space to others.
So, the possible solution is to move your website to the root directory.
What are the requirements for payment methods?¶
- Payment methods are supported if they meet the requirements:
- it is online payment method;
- it generates a form with data (use function
fn_create_payment_form
); - the form with data have
return_url
.
I have my custom theme. Will PWAjet display it on mobiles?¶
No. Your theme will remain on desktops. On mobile devices, PWAjet will be displayed, it will become your mobile theme.
I checked the performance of the PWA demo store in Google Page Speed (or another similar service) and the result was poor. How is that?¶
Services for performance testing do not always show the objective picture. The result may depend on the device from which the test is performed, the location, etc. You may find more information and some examples in our blog.
Can customers visit the main version of the store from PWA storefront?¶
Yes, they can. We added the link for redirection from mobile version to desktop version and from desktop version to mobile one, so customers are able to visit the desktop version any time.
How to publish the app in Google Play? Does it works for AppStore?¶
Simtech development performs the service of publishing users’ applications on Google Play and AppStore. In order to perform the service we require the following infomation:
Google Play | AppStore |
---|---|
|
|
Can I create pop-ups?¶
Currently, no. We suppose adding them in future versions.
Guests cannot place an order. Will this be fixed?¶
Yes, in future versions. We are working on a guest API token, initializing a session for the guest API, updating and retrieving user information for the guest API.
Will shipping information and payment details be displayed on a product details page?¶
No, since the application is developed as a fast and simplified version of the store, there are no blocks with shipping and payment details on a product page currently. Perhaps, this functionality will be added in the future.
Will it work with the remarketing tags installed on my site?¶
PWAjet works only with Google Analytics currently. Other services require additional integration.
Does PWAjet work with Product Variations?¶
Yes, it does.
Does it work with the Vendor Locations add-on?¶
No, it doesn’t currently.
PWAjet Payment Method Adaptation¶
Payment Method Adaptation¶
Payment method must meet the following criteria:
- Online payment method
- Payment method must create the data form, which means it must use
fn_create_payment_form
function - For payment data processing the payment_notification controller must be used by payment method
- The payment method must be extended in accordance to the scheme. Without extension, there will be no redirect back to PWAjet page
Payment method extension scheme for PWAjet contains if the file below:
/addons/sd_api_extender/schemas/sd_api_extender/payment_redirects.php
The extension adds the final_redirect_url
parameter to payment method URL, created in fn_create_payment_form
Example of the :
$schema = [
'paypal.php' => [
'redirect_urls' => [
'return' => 'checkout.complete',
'cancel_return' => 'index.index'
]
]
];
3 events are typically used
'checkout.complete' -> The order is successfully paid, redirect to PWAjet page
'index.index' -> Event is canceled, redirect to PWAjet homepage
'orders.details' -> The order payment is failed, redirect to PWAjet page
In PayPal for instance, without extension REST sraOrderPayment
will return the following data:
<input type="hidden" name="return" value="https://example.com/index.php?dispatch=payment_notification.return&payment=paypal&order_id=107&PHPSESSID=&" />
<input type="hidden" name="cancel_return" value="https://example.com/index.php?dispatch=payment_notification.cancel&payment=paypal&order_id=107&PHPSESSID=&" />
The data will be altered, when the scheme is extended:
<input type="hidden" name="return" value="https://example.com/index.php?dispatch=payment_notification.return&payment=paypal&order_id=107&PHPSESSID=&final_redirect_url=https://m.example.com/en/my/cart/checkout/complete/107" />
<input type="hidden" name="cancel_return" value="https://example.com/index.php?dispatch=payment_notification.cancel&payment=paypal&order_id=107&PHPSESSID=&final_redirect_url=https://m.example.com/en/" />
Payment will depend on the following logic:
- In desktop version, after the customer makes an action (pays or cancels the order), the payment method will redirect the customer to the payment_notification controller
- In controller payment_notification data will be processed in accordance to its logic
- Then the customer will be redirected to the PWAjet page. Redirect is mentioned in final_redirect_url
If payment methods’ URLs are set in the admin panel of the payment method (not in backend), URL can be manually transferred. Manual transferring will work, only in case the payment method processes such transferring as overwrite of the previous URLs.
custom_urls
parameter is required to be added. For instance:
[
'directebanking.php' => [
'custom_urls' => [
'custom_url' => fn_url('payment_notification.success?payment=directebanking')
],
'redirect_urls' => [
'custom_url' => 'index.index'
]
]
]
As a result, the sraOrderPayment
REST should look like this:
<input type="hidden" name="custom_url" value="https://example.com/index.php?dispatch=payment_notification.success&payment=directebanking&final_redirect_url=https://m.example.com/en/" />
Check of the payment method after integration¶
- It is obligatory to extend the scheme
/addons/sd_api_extender/schemas/sd_api_extender/payment_redirects.php
- Check the payment via web-application
- Use REST query, to make sure that
final_redirect_url
is present.
Documentation:¶
SraOrderPayment - Order payment¶
Receiving the form containing the data for payment system
GET /api/4.0/sra_order_payment/{order_id}
{order_id} — order ID
Answers:
Data received
Status — 200 OK
Body — Data form
Order does not exist
Status — 404 Not found
Body — Blank
Customer is not attached to the order
Status — 404 Not found
Body — Blank
Payment method is set for offline payment
Status — 404 Not found
Body — Blank