ibt-payment/merchant-php-sdk

1.0 2022-09-15 07:58 UTC

This package is auto-updated.

Last update: 2024-09-19 13:08:45 UTC


README

官方网站 (https://didipay.didiglobal.com)

依赖项

需要PHP 5.6.0或更高版本

需要ext-openssl

需要ext-curl

需要ext-json

签名过程

获取所有请求参数,不包括字节类型参数,例如文件和字节流,移除签名字段,并按第一个字符的ASCII码值(按升序字母顺序)升序排序。两个字符的键值ASCII码按升序排序,依此类推。

过滤和排序

拼接:将排序后的参数及其对应的值组合成“参数=参数值”的格式,并用&字符连接这些参数,生成的字符串即为待签名字符串。

调用签名算法:使用对应语言的SHA256WithRSA签名函数,使用商户的私钥对待签名字符串进行签名,并进行Base64编码。将生成的签名分配给签名参数,并将其连接到请求参数中。

密钥格式问题

本项目中使用的私钥为PKCS1格式。Java语言需要移除密钥中的BEGIN、END行、换行符和空格。非Java语言保留原始密钥格式。

入门指南

我们建议使用Composer从Packagist管理第三方依赖项,它允许您添加新的库并将它们包含在PHP项目中。

安装Composer

从命令行下载Composer。

安装库

我们建议使用Composer安装库,这是PHP的包管理器

命令行

composer require didipay/merchant-php-sdk 安装库后,该库会自动添加到您的项目的composer.json文件中作为依赖项。例如

{
  "require": {
      "didipay/merchant-php-sdk": "^${merchant-sdk-version}"
  }
}

要使用绑定,请使用Composer的自动加载。例如

require_once('vendor/autoload.php');

您可以使用Composer安装此软件包。例如

composer require didipay/merchant-php-sdk

运行您的第一个请求

现在您已安装PHP SDK,您可以创建API请求。

require_once 'vendor/autoload.php';

use DidiPay\client\merchantClient;

class MerchantClientTest
{

   public function test_pay_query()
   {
       
       $params = ['merchant_order_id' => $merchantOrderId,
           'pay_order_id' => $payOrderId];


       $domain = "https://api.99pay.com.br";
       $defaultOption = ['app_id' => $appId, 'merchant_id' => $merchantId, 'private_key' => $privateKeyContent, 'domain' => $domain];

       $client = new merchantClient($defaultOption);
       $ret = $client->payQuery($params);
       echo $ret;
   }
}

将文件保存为merchant_client_test.php。从命令行进入您刚刚保存的文件的目录,然后运行

php merchant_client_test.php

如果一切正常,命令行将显示以下响应。保存这些标识符,以便在构建您的集成时使用。这完成了快速入门。有关处理您刚刚创建的产品支付的不同方式的链接如下。

文档