foris-master / orange-money-sdk

这是一个为Orange运营商移动货币API提供的PHP SDK。

0.8.0 2023-07-06 14:22 UTC

This package is not auto-updated.

Last update: 2024-09-19 03:47:50 UTC


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

注意: orange-money-sdk.

这是一个为Orange运营商移动货币API提供的PHP SDK。

安装

通过Composer

$ composer require foris-master/orange-money-sdk

配置

Set AUTH_HEADER, MERCHANT_KEY,RETURN_URL,CANCEL_URL,NOTIF_URL enviroment variable ( .env file if using dotenv),
you get all related to you console at https://developer.orange.com/

用法

use Foris\OmSdk\OmSdk;

$om = new OmSdk();
// QuickStart
/**
 * You need to set AUTH_HEADER, MERCHANT_KEY,RETURN_URL,CANCEL_URL,NOTIF_URL
 * enviroment variable ( .env file if using dotenv)
 */
$om->webPayment(['amount'=>100]);
// Full Options
$opt=[
        "merchant_key"=> '********',
        "currency"=> "OUV",
        "order_id"=> $id,
        "amount"=> 0,
        "return_url"=> 'http://www.you-site.com/callback/return',
        "cancel_url"=> 'http://www.you-site.com/callback/cancel',
        "notif_url"=>'http://www.you-site.com/callback/notif',
        "lang"=> "fr"
    ];
$om->webPayment($opt);

API

获取令牌

use Foris\OmSdk\OmSdk;

$om = new OmSdk();

$rep= $om->getToken();
var_dump($rep);
// var_dump result
[
        "token_type"=> 'Bearer',
        "access_token"=> "0213GH123l12kj312k",
        "expires_in"=> "7776000",
];

网页支付

use Foris\OmSdk\OmSdk;

$om = new OmSdk();
$opt = [
               "merchant_key"=> '********',
               "currency"=> "OUV",
               "order_id"=> $id,
               "amount"=> 0,
               "return_url"=> 'http://www.you-site.com/callback/return',
               "cancel_url"=> 'http://www.you-site.com/callback/cancel',
               "notif_url"=>'http://www.you-site.com/callback/notif',
               "lang"=> "fr"
           ];
$rep= $om->webPayment($opt);
var_dump($rep);
// var_dump result
[
        "status"=> 201,
        "message"=> "OK",
        "pay_token"=> "87a9f2f8ebca97sdfdsbb49795f77981f5be1face7b6a543c8a1304d81e4299fd",
        "payment_url"=>"https://webpayment-sb.orange-money.com/payment/pay_token/87a9f2f8ebca97sdfdsbb49795f77981f5be1face7b6a543c8a1304d81e4299fd"
        "notif_token"=> "793d6157d9c7d52ae3920dc596956206"
];

注意

webPayment方法会自动调用getToken并将其设置在请求头中。

交易状态

use Foris\OmSdk\OmSdk;

$om = new OmSdk();

$rep= $om->checkTransactionStatus($orderId,$amount,$pay_token);
var_dump($rep);
// var_dump result
[
         "status" => "SUCCESS",
         "order_id" => "MY_ORDER_ID_08082105_0023457",
         "txnid" => "MP150709.1341.A00073"
];

注意

状态可以是以下值之一:INITIATED;PENDING;EXPIRED;SUCCESS;FAILED

  • INITIATED 等待用户输入
  • PENDING 用户已点击“确认”,交易正在Orange端进行
  • EXPIRED 用户点击“确认”太晚(在令牌有效期之后)
  • SUCCESS 支付已完成
  • FAILED 支付失败

生产

  For production your need to set your target country code in COUNTRY enviroment variable ( .env file if using dotenv)
  example : COUNTRY=cm

测试

$ phpunit

贡献

请参阅CONTRIBUTING以获取详细信息。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。