craftcms / commerce-paypal-checkout
Craft Commerce 5.0+ 的 PayPal Checkout 集成
Requires
- php: ^8.2
- craftcms/cms: ^5.0.0-beta.6
- craftcms/commerce: ^5.0.0-beta.1
- paypal/paypal-checkout-sdk: ^1.0
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/phpstan: dev-main
- 3.x-dev
- 3.0.1
- 3.0.0
- 2.x-dev
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0.2
- 2.1.0.1
- 2.1.0
- 2.0.0
- 2.0.0-RC1
- 1.x-dev
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2.1
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.2.2
- 1.2.2.1
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0-alpha.1
- 1.0.0-alpha
- dev-dependabot/composer/guzzlehttp/psr7-2.5.0
- dev-bugfix/refund-error
This package is auto-updated.
Last update: 2024-08-27 06:02:22 UTC
README
Craft Commerce 的 PayPal Checkout
此插件为 PayPal Checkout 提供了 Craft Commerce 的网关集成。
要求
此插件需要 Craft 5.0 和 Craft Commerce 5.0 或更高版本。
安装
您可以从插件商店或使用 Composer 安装此插件。
从插件商店
转到项目的控制面板中的插件商店,搜索“Craft Commerce 的 PayPal Checkout”,然后在插件的模态窗口中点击 安装。
使用 Composer
打开终端并运行以下命令
# go to the project directory cd /path/to/my-project.test # tell Composer to load the plugin composer require craftcms/commerce-paypal-checkout # tell Craft to install the plugin php craft plugin/install commerce-paypal-checkout
设置
创建 PayPal REST API 凭证
以下步骤来自 PayPal 指南,说明如何创建 REST API 凭证。
REST API 凭证包括客户端 ID 和密钥。以下是生成凭据的方法
- 使用与 PayPal 相同的凭据登录到 PayPal 开发者门户。
- 在 我的应用和凭据 页面,根据您是否需要用于测试(沙盒)还是上线(生产)的应用,点击 生产 或 沙盒。
- 在 REST API 应用下点击 创建应用。之前创建的 REST API 应用将显示在 创建应用 按钮上面的表中。
- 在 应用名称 字段中输入您的 REST API 应用名称,并选择与您的应用关联的沙盒业务账户。注意:请记住,在沙盒中不能使用生产信用卡,而在生产账户中不能使用测试信用卡。
- 点击 创建应用。
- 点击 创建应用 后,您的凭据(客户端 ID 和密钥)将显示在应用详情页上。
- 请求适用于您的集成的 REST API 功能权限
- PayPal 付款
您现在将能够看到新创建的应用的 客户端 ID 和 密钥。
当您准备将代码上线时,请确保创建一个生产应用以获取生产凭据。
使用 我的应用和凭据 页面顶部的 生产 和 沙盒 切换按钮在应用类型之间切换,并查看每个应用的凭据。
在 Commerce 中创建 PayPal Checkout 网关
要添加 PayPal Checkout 网关,转到 Commerce → 设置 → 网关,创建一个新的网关,并将网关类型设置为“PayPal Checkout”。
在网关设置中,在相应的字段中输入您的 REST 应用的 客户端 ID 和 密钥。
购物车信息/成本分解
启用此网关的 发送购物车信息 设置将发送购物车项目和成本分解到 PayPal。
注意:如果您正在使用已弃用的自定义调整器类型,则需要关闭此设置。
使用非主要货币支付
当使用 getPaymentFormHtml()
方法(例如 cart.gateway.getPaymentFormHtml({})
)并在非主要货币中允许支付时,您必须在方法参数中传递货币 ISO。
例如,如果您已经设置了购物车中的替代支付货币,您可以这样做
{{ cart.gateway.getPaymentFormHtml({ currency: cart.paymentCurrency }) }}
由于 PayPal JavaScript SDK 的集成,使用替代支付货币支付时,这是必需的。
SDK 查询字符串参数
此网关允许在运行时传递特定的查询字符串参数,如 PayPal 文档中指定(PayPal 文档)。
允许的参数包括 currency
(如上所述)、disable-card
、disable-funding
、enable-funding
和 locale
。
例如,要禁用 PayPal 信用额度支付,您可以按以下方式输出支付表单
{{ cart.gateway.getPaymentFormHtml({ ... 'disable-funding': 'credit' ... }) }}