razorpay / magento

Razorpay Magento 2.0 支付插件。

安装次数: 59,275

依赖: 1

建议: 0

安全: 0

星星: 28

关注者: 183

分支: 38

类型:magento2-module

4.1.6 2024-06-06 11:49 UTC

This package is auto-updated.

Last update: 2024-09-23 09:32:09 UTC


README

本扩展利用 Razorpay API,并与 Magento 无缝集成,允许印度商家通过信用卡、借记卡、网上银行、钱包和 EMI 进行支付,而无需离开 Magento 网站。

安装

通过 "code.zip" 文件安装

bin/magento 是可执行命令,需在 Magento 安装目录下执行。

  1. 解压缩附加的 code.zip 文件
  2. 转到 "app" 文件夹
  3. 将步骤一中的 "code" 文件夹的内容覆盖到 "code" 文件夹中(注意:如果 code 文件夹不存在,请将步骤一中的 code 文件夹放置进去)。
  4. 运行以下命令以启用 Razorpay Magento 模块
bin/magento module:enable Razorpay_Magento
  1. 运行以下命令安装 Magento cron 作业
bin/magento cron:install
  1. 运行 bin/magento setup:di:compile 以编译依赖代码。
  2. 运行 bin/magento setup:upgrade 以升级 Razorpay Magento 模块。
  3. 在 Magento 管理控制台,打开 Razorpay 支付方式设置,然后点击“保存配置”按钮。 注意:如果您在管理员页面的顶部看到此消息以黄色突出显示(一个或多个缓存类型已失效:页面缓存。请转到缓存管理并刷新缓存类型。),请按照说明执行并刷新缓存。
  4. 再次运行 bin/magento cache:flush

或者

通过 composer 包管理器安装扩展。

composer require razorpay/magento
bin/magento module:enable Razorpay_Magento

您可以使用 bin/magento module:status 检查模块是否已安装

您应该能在模块列表中看到 Razorpay_Magento

从 Magento 安装目录执行以下命令

bin/magento setup:di:compile
bin/magento setup:upgrade
bin/magento cache:flush

转到 Admin -> Stores -> Configuration -> Payment Method -> Razorpay 以配置 Razorpay

如果您在网关列表中看不到 Razorpay,请从管理员面板(系统 -> 缓存管理)清除您的 Magento 缓存。

在 Magento 中设置 cron

使用 Magento 设置 cron 以执行以下操作的 Razorpay cron 作业

取消挂起订单

如果启用取消挂起订单,它将取消 Razorpay 按照配置中保存的超时时间创建的订单。

将订单更新为处理中

接受来自 Razorpay Webhook 的对事件 payment.authorizedorder.paid 的响应,并将挂起订单更新为处理中。

可以使用以下命令安装 Magento cron

bin/magento cron:install

使用 GraphQL 进行操作

Razorpay GraphQL 支持已添加到 Magento 版本 2.3.6

使用 GraphQL 作为支付方式放置 Magento 订单的订单流程

  1. 在购物车中设置支付方式
mutation {
  setPaymentMethodOnCart(input: {
      cart_id: "{{cart_ID}}"
      payment_method: {
          code: "razorpay"
      }
  }) {
    cart {
      selected_payment_method {
        code
      }
    }
  }
}
  1. 放置 Magento 订单
mutation {
  placeOrder(input: {cart_id: "{{cart_ID}}"}) {
    order {
      order_number
    }
  }
}
  1. 根据 Magento 订单 ID 和购物车页面的 URL 创建 Razorpay 订单 ID 作为引用。
mutation {
  placeRazorpayOrder (
      order_id: "{{order_ID}}"
      referrer: "{{referrer}}"
  ){
    success
    rzp_order_id
    order_id
    amount
    currency
    message
  }
}
  1. 使用 Razorpay 订单 ID rzp_order_id 和步骤 3 中的其他详细信息,使用 razorpay 的 checkout.js 创建前端表单,完成支付并获取 razorpay_payment_id 和 razorpay_signature https://razorpay.com/docs/payment-gateway/web-integration/standard/

  2. 支付成功后,使用 Magento 订单 ID、RZP 支付 ID、orderId 和签名保存 Razorpay 响应详细信息。

mutation {
  setRzpPaymentDetailsForOrder (
    input: {
      order_id: "{{order_ID}}"
      rzp_payment_id: "{{RAZORPAY_PAYMENT_ID}}"
      rzp_signature: "{{RAZORPAY_SIGNATURE}}"
    }
  ){
  order{
    order_id
  }
  }
}
  1. 将 Magento 订单 ID 传递给重置购物车。
mutation {
  resetCart (
      order_id: "{{order_ID}}"
  ){
    success
  }
}

通过 composer 升级 Razorpay 插件

如果您是现有用户,可以使用 composer 升级 Magento 扩展。输入以下命令

composer update razorpay/magento
bin/magento setup:upgrade

在 Razorpay Magento 中使用自定义订单状态

步骤 1: 创建自定义订单状态

  • 在 Magento 管理控制台,商店 > 设置 > 订单状态。
  • 在右上角,点击创建新状态。
  • 在订单状态信息部分下,插入一个用于内部引用的状态代码。此字段必须包含字母(a-z)、数字(0-9)和下划线,必须以字母开头,其余可以是字母和数字的组合。
  • 设置管理员和店面状态标签。
  • 为您的商店中的每个店面设置店面特定的标签。
  • 保存状态完成。

步骤 2: 取消分配现有状态

  • 取消分配正在使用的现有状态代码。
    • 如果状态代码和标题为 processing[处理中],则 processing 状态已用于 processing 状态。
    • 从现有状态代码 processing 中取消分配此状态,以便状态将可供您的自定义状态代码使用。

步骤 3: 将订单状态分配给状态

  • 转到订单状态页面,点击分配状态到状态按钮。
  • 在分配订单状态到状态部分,
    • 从现有的订单状态列表中选择要分配的订单状态。
    • 选择要包含您刚刚分配的订单状态的订单状态。 使用订单状态为 processing
    • 接受订单状态为默认状态,勾选使用订单状态作为默认状态复选框。
    • 在店面启用订单状态,请勾选店面可见复选框。
  • 点击 保存状态分配 完成。

步骤 4: 在 Razorpay Magento 中使用自定义订单状态

  • 在 Magento 管理控制台,打开 Razorpay 支付方法设置。
  • 自定义已支付订单状态 字段中选择 以启用自定义订单状态,选择 以禁用自定义订单状态。
  • 在提供的输入字段中插入自定义已支付订单状态值,其值与创建自定义状态时使用的状态代码相同。
  • 保存配置并刷新缓存。

卸载或回滚到旧版本

要回滚,您需要卸载现有版本并重新安装新版本。以下是回滚和重新安装所使用的操作

卸载 Razorpay Magento

如果使用 composer 进行安装,请从 Magento 安装目录使用以下命令卸载 Razorpay Magento 模块

php bin/magento module:disable Razorpay_Magento
php bin/magento module:uninstall Razorpay_Magento

如果使用 code.zip 进行安装,可以使用以下步骤进行卸载:禁用 Razorpay Magento 模块

php bin/magento module:disable Razorpay_Magento

要从 Magento 安装目录执行以下命令以删除模块目录

rm -rf app/code/Razorapy

从 MYSQL 数据库中删除模块模式

DELETE FROM `setup_module` WHERE `setup_module`.`module` = 'Razorpay_Magento';

重新安装 Razorpay Magento

要安装 Razorpay Magento 模块,请遵循此发行文档中提供的安装步骤。以下是先前发布的版本 3.7.54.0.4

常见问题解答

如何使用 code.zip 升级插件?

下载最新的 code.zip,并用新的 code.zip 内容替换 code 文件夹中的所有内容。然后按照 code.zip 安装步骤进行。

我遇到了以下错误消息:"Column not found: 1054 Unknown column 'main_table.rzp_webhook_notified_at' in 'field list', query was: SELECT main_table.entity_id, main_table.rzp_webhook_notified_at FROM sales_order AS main_table."

如果遇到此错误消息,请更新插件到最新版本以解决问题。

支持

访问 https://razorpay.com 以获取支持请求或发送电子邮件至 contact@razorpay.com