arhamlabs/payment-gateway

0.1.11 2023-04-05 06:01 UTC

README

Razorpay支付网关配置

复制以下代码并将其粘贴到您的.env文件中

每次您修改env文件时,请运行php artisan optimize。

  • ACTIVE_MODE = "TEST_OR_LIVE" // 测试/生产

  • RAZORPAY_TEST_ID = "YOUR_TEST_ID"

  • RAZORPAY_TEST_SECRET = "YOUR_TEST_SECRET"

  • RAZORPAY_LIVE_ID = "YOUR_LIVE_ID"

  • RAZORPAY_LIVE_SECRET = "YOUR_LIVE_SECRET"

  • RAZORPAY_TEST_ACCOUNT_ID = "YOUR_TEST_ACCOUNT_ID" // 用于转账

  • RAZORPAY_LIVE_ACCOUNT_ID = "YOUR_LIVE_ACCOUNT_ID" // 用于转账

  • ALLOW_CREATE_CUSTOMER = // 在razorpay上创建客户(true/false)

  • ALLOW_FUND_TRANSFER = // (true/false)

  • ALLOW_CAPTURE_PAYMENT = // (true/false)

  • ALLOW_SUBSCRIPTION = // (true/false)

  • ALLOW_FUTURE_SUBSCRIPTION_PAYMENT = // (true/false)

创建订单

  • 调用createOrder函数以创建带参数的订单
    • 参数1:用户ID(必需)
    • 参数2:子单位金额(必需)。例如,金额为₹295,则输入29500。
    • 参数3:货币(必需)
    • 参数4:收据(可选)
    • 参数5:备注(可选)

更新订单状态

  • 调用updateOrderStatus函数来更新或获取最新的订单状态
    • 参数1:订单ID(必需)
    • 参数2:订阅ID(可选)
      • 订阅ID仅对订阅有效,对一次性付款无效

通过ID获取订单

  • 调用getOrderByOrderId函数通过razorpay订单ID获取订单
    • 参数1:订单ID(必需)

验证支付

  • 手动支付后,您将获得razorpay_payment_id、razorpay_order_id和razorpay_signature
  • 现在调用verifySignature函数通过参数验证支付
    • 参数1:razorpay_order_id(必需)
    • 参数2:razorpay_payment_id(必需)
    • 参数3:razorpay_signature(必需)

支付

  • 成功验证支付后,使用支付功能从Razorpay获取必要信息。
    • 参数1:razorpay_payment_id(必需)
    • 在我们的plutus支付表中添加数据

更新支付状态

  • 调用updatePaymentStatus函数来更新或获取最新的支付状态
    • 参数1:支付ID(必需)

通过ID获取支付

  • 调用getPaymentByPaymentId函数通过razorpay支付ID获取支付
    • 参数1:支付ID(必需)

捕获支付

  • 调用capture_payment函数捕获支付并更新支付状态
    • 参数1:razorpay_payment_id(必需)
    • 参数3:金额(必需)

计划

A plan is a foundation on which a Subscription is built. It acts as a reusable template and contains details of the goods or services offered, the amount to be charged and the frequency at which the customer should be charged (billing cycle). Depending upon your business, you can create multiple plans with different billing cycles and pricing.
  • 调用plan函数创建运行时计划。
    • 参数1:周期

      这,加上间隔,定义了频率。可能的值

      • 每日
      • 每周
      • 每月
      • 每年
    • 参数2:间隔

      • (整数) 这,加上周期,定义了频率。如果账单周期为2个月,则值应为2。
    • 参数3:金额

    • 参数4:备注

      • (对象) 您可以输入的备注以供将来参考。这是一个键值对。您最多可以输入15个键值对。例如,"note_key": "Beam me up Scotty”。
  • 调用getPlan函数通过其唯一标识符检索计划的详细信息。
    • 参数1:razorpay_payment_id(必需)

订阅

You can use Subscriptions to charge a customer periodically. A Subscription ties a customer to a particular plan you have created. It contains details like the plan, the start date, total number of billing cycles, free trial period (if any) and upfront amount to be collected.
  • 调用subscription函数创建新的订阅。
    • 参数1:razorpay_payment_id(必需)
    • 参数2:日期(可选)
      • 如果没有传递,则订阅在授权支付后立即开始。
    • 参数3:附加费(可选)
      • 包含您希望作为授权交易一部分收集的任何 upfront 金额详细信息的数组。
    • 参数3:备注(可选)
      • (对象) 您可以输入的备注以供将来参考。这是一个键值对。您最多可以输入15个键值对。例如,"note_key": "Beam me up Scotty”。
    • 参数4:offer_id(可选)
      • 字符串 与订阅链接的优惠的唯一标识符。您可以从仪表板获取此信息。
  • 调用updateSubscriptionStatus函数来更新/获取订阅的最新状态
    • 参数1:razorpay_subscription_id(必需)
  • 要停止自动续订,请调用stopAutoRenewal函数
    • 参数1:razorpay_subscription_id(必需)
    • 参数2:取消周期结束(必填)
      • (布尔值)使用此参数在计费周期结束时取消订阅。可能的值
        • 1:在当前计费周期结束时取消订阅。
  • 要取消订阅,请调用cancel_subscription函数
    • 参数1:razorpay_subscription_id(必需)
    • 参数2:取消周期结束(必填)
      • (布尔值)使用此参数在计费周期结束时取消订阅。可能的值
        • 0(默认):立即取消订阅。

路由/资金转账

Razorpay Route enables you to split payments received using the Razorpay Payment Gateway or other products (such as Payment Links, Payment Pages, Invoices, Subscriptions and Smart Collect) and transfer the funds to third parties, sellers or bank accounts.
  • 要转账资金,请调用转账函数。
    • 参数1:账户ID(必填)
    • 参数2:金额(必填)