定制 shopgate/webcheckout-magento2 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

shopgate/webcheckout-magento2

最新稳定版本:1.2.1

Composer 安装命令:

composer require shopgate/webcheckout-magento2

包简介

Helps SG connect/engage extensions with web checkout, auto-login, allows to add CSS for register/checkout pages

README 文档

README

Install via composer

composer require shopgate/webcheckout-magento2
bin/magento module:enable Shopgate_WebCheckout
bib/magento setup:upgrade

Configurations:

We suggest updating the Services > Mage Web API > JWT Auth > Customer JWT Expires in to a longer timeframe, otherwise the customer will be logged out every 60 minutes by default. This is not very user friendly.

Endpoints

Product ID to SKU mapping

Anonymous & Customer

###
GET http://localhost/rest/default/V1/sgwebcheckout/products?ids[]=44&ids[]=2034&ids[]=2040

Result:

{
    "products": [
        {
            "sku": "24-WG02",
            "id": "44"
        },
        {
            "parent_sku": "WSH12",
            "sku": "WSH12-31-Green",
            "id": "2034"
        },
        {
            "sku": "WSH12",
            "id": "2040"
        }
    ]
}

Product SKU to ID mapping

Anonymous & Customer

###
GET http://localhost/rest/default/V1/sgwebcheckout/productsBySku?skus[]=24-WG02&skus[]=MS-Champ-M&skus[]=MS-Champ

Result:

{
    "products": [
        {
            "sku": "24-WG02",
            "id": "44"
        },
        {
            "parent_sku": "WSH12",
            "sku": "WSH12-31-Green",
            "id": "2034"
        },
        {
            "sku": "WSH12",
            "id": "2040"
        }
    ]
}

Auto-login token

Customer

###
POST http://localhost/rest/default/V1/sgwebcheckout/me/token
Guest user (with cart)

###
POST http://localhost/rest/default/V1/sgwebcheckout/:cartId/token

Result

{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expiration": 1722194685
}
Anonymous user (guest without cart)

###
POST http://localhost/rest/default/V1/sgwebcheckout/anonymous/token

Result

{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expiration": 1722194685
}

Custom WebCheckout log

Note that you will need to enable the logging in the Shopgate > WebCheckout configuration for it to stop throwing 500 errors.

Admin

###
GET http://localhost/rest/default/V1/sgwebcheckout/log?page=1&lines=20

Result:

{
    "log": [
        "[2024-07-28T19:08:21.400242+00:00] shopgate_webc.ERROR: Could not find products by IDs: 99999 [] []\n",
        ""
    ]
}

Shopgate WebCheckout orders

Admin User / Integration

###
GET http://localhost/rest/default/V1/sgwebcheckout/orders?searchCriteria[currentPage]=1&searchCriteria[pageSize]=10&searchCriteria[filter_groups][0][filters][0][field]=increment_id&searchCriteria[filter_groups][0][filters][0][value]=000000051&searchCriteria[filter_groups][0][filters][0][condition_type]=eq

Result:

{
    "items": [
        {
            "entity_id": 51,
            "increment_id": "000000051",
            "items": [
                {
                }
            ]
        }
    ],
    "search_criteria": {
        "filter_groups": [
            {
                "filters": [
                    {
                        "field": "increment_id",
                        "value": "000000051",
                        "condition_type": "eq"
                    }
                ]
            }
        ],
        "page_size": 10,
        "current_page": 1
    },
    "total_count": 1
}

Developer mode

When working with the frontend and trying to mimic the inApp, just append ?sgWebView=1 and load the page. This will allow you to work with CSS and see our JavaScript logic as if you loaded the page as inApp browser. Clear the cookie by setting ?sgWebView=0.

Our logic, (at the time of writing only sgwebcheckout/account/login controller) has logging for easier debugging, however, you will need to enable it in the Admin > Config > Shopgate WebCheckout area or with command line:

bin/magento config:set shopgate_webcheckout/development/enable_logging 1
bin/magento cache:clear

Afterward, you can see the log in the var/log/shopgate/webcheckout_debug.log directory or use our API to query the logs. See postman for an example of how to use it.

Errors

  • Token has an invalid structure. - this error can occur if there is a 302 redirect happening. Let's say you have a website test.com, but your default storeCode references test.com/en, calling test.com/sgwebcheckout/login?token=... will trigger a 302 redirect to test.com/en/sgwebcheckout/login without forwarding the token or any other parameter. Token will be empty & you get this error message. Fix - make sure to use test.com/en as your domain.
  • The current user cannot perform operations on cart \"{MASKED_ID}\" - this is an error that can happen if you are trying to addProducts to cart as guest, but a customer session cookie is set, it is called PHPSESSID. Fix - make sure the Cookie is not set before making API/GraphQL calls.

统计信息

  • 总下载量: 2.51k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 8
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2024-12-04