hemmy / dpo-laravel

V1.0.0 2021-10-21 00:37 UTC

This package is not auto-updated.

Last update: 2024-10-02 05:40:08 UTC


README

最佳DPO Laravel包,简单至极

Build Status

此包将帮助您将DPO支付API添加到您的Laravel应用程序中,我们欢迎贡献和支持,以使其变得更好。

功能

  • 创建支付令牌(在DPO服务器上初始化订单)
  • 验证支付令牌(检查交易状态)
  • 直接支付(直接将订单重定向到DPO支付页面)
  • 获取支付令牌
  • 数据库迁移以保存交易详情
  • 易于使用
  • 持续更新

工作原理

  1. 创建支付令牌
  2. 验证令牌
  3. 重定向到DPO支付页面
  4. 获取响应
  5. 完成

该包在幕后为您完成所有这些😂

基本用法示例。

<?php

use Hemmy\Dpo\Dpo;


$dpo = new Dpo();
$order = [
    'paymentAmount' => "10000",
    'paymentCurrency' => "TZS",
    'customerFirstName' => "Novath",
    'customerLastName' => "Thomas",
    'customerAddress' => "Tanzania",
    'customerCity' => "Dodoma",
    'customerPhone' => "0752771650",
    'customerEmail' => "novath@hemmy.co.tz",
    'companyRef' => "34TESTREFF"
];
// Now make  payment
$dpo->directPayment($data);
// Its done!  Simple right! 😂

安装

通过Composer安装包

composer require hemmy/dpo-laravel

现在您可以发布配置文件和迁移

php artisan vendor:publish --provider="Hemmy\Dpo\DpoServiceProvider" --tag="dpo-laravel-migrations"

迁移数据库表 [可选]

php artisan migrate

配置文件

<?php
return [
    "company_token" => env("DPO_COMPANY_TOKEN", "9F416C11-127B-4DE2-AC7F-D5710E4C5E0A"),
    "account_type" => env("DPO_ACCOUNT_TYPE", "3854"),
    'is_test_mode' => env("DPO_IS_TEST_MODE", true),
    "back_url" => env("DPO_BACK_URL"),
    "redirect_url" => env("DPO_REDIRECT_URL")
];

上述详情来自DPO公开文档中的测试/沙盒环境

更新 .env 文件并添加正确信息

DPO_COMPANY_TOKEN = "YOUR_DPO_COMPANY_TOKEN"
DPO_ACCOUNT_TYPE = "YOUR_DPO_ACCONT_TYPE"
DPO_IS_TEST_MODE = "true"  # true|false
DPO_BACK_URL ="YOUR_APPLICATION_BACK_URL"
DPO_REDIRECT_URL =  "APPLICATION_REDIRECT_URL_AFTER_RESPONSE_FROM_DPO"

用法

  • 创建一个与以下示例匹配的订单数组
$order = [
    'paymentAmount' => "10000",
    'paymentCurrency' => "TZS",
    'customerFirstName' => "Novath",
    'customerLastName' => "Thomas",
    'customerAddress' => "Tanzania",
    'customerCity' => "Dodoma",
    'customerPhone' => "0752771650",
    'customerEmail' => "novath@hemmy.co.tz",
    'companyRef' => "34TESTREFF"
];
  • 现在您可以选择直接支付或先创建Token,然后再进行支付
  • 从直接支付开始
$dpo = new Dpo;
return $dpo->directPayment($data); // this will redirect user to DPO Payment page
  • 如果您想保存详细信息,这是理想的步骤 [生成Token,进行支付]
  • 获取Token
$token = $dpo->createToken($data); // return array of response with transaction code
// you can save or do what ever you want with the response
  • 获取支付Url
$dpo->getPaymentUrl($token);
  • 将用户重定向到支付页面
return Redirect::to($payment_url);

正如[Novath Thomas]常说的

系统安全与复杂性之间有很大区别,复杂性会带来伤害,API不应该复杂,这是引入API的主要目标之一

我们希望有更多的贡献来使包更加安全和可读。

许可证

该项目采用MIT许可证。