# jlpay-sdk-php **Repository Path**: jlpaydemo/jlpay-sdk-php ## Basic Information - **Project Name**: jlpay-sdk-php - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-20 - **Last Updated**: 2026-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 嘉联支付开放平台 PHP SDK 这是嘉联支付开放平台的PHP SDK,为第三方应用提供与嘉联支付系统集成的接口能力。SDK封装了HTTP请求、签名验证、数据加解密等底层功能,简化开发者的接入流程。 ## 1. 项目安装说明 ### 环境要求 - PHP >= 7.4 - 以下PHP扩展: - ext-json - ext-openssl - ext-curl - 以下依赖包: - lpilp/guomi ^1.0(国密算法库) ### 安装方法 #### 方法一:从源码安装 ```bash git clone https://gitee.com/jlpay/jlpay-sdk-php.git cd jlpay-sdk-php composer install ``` ## 2. 功能特性 ### 🔐 国密算法支持 - ✅ **SM2椭圆曲线加密算法**(数字签名、签名验证、公钥加密、私钥解密) - ✅ **SM4对称加密算法**(ECB模式加解密) - ✅ **SM3哈希算法**(消息摘要计算) - ✅ **PEM格式密钥解析** ### 📡 HTTP请求处理 - ✅ **自动签名验签**(SM2数字签名) - ✅ **HTTP请求封装**(支持GET/POST) - ✅ **异常处理机制** - ✅ **请求日志记录** ### 💼 业务功能 - ✅ **商户服务**(商户进件新增/修改、申请单查询/作废、实名认证查询;商户进件支持 5 种场景:企业+对公/法人/授权对私/授权对公、小微+电子签约) - ✅ **接口分账**(入账方注册支持出账方商户号 `ledger_mch_id`;入账方查询/开通响应支持 `mch_id`、电子协议链接 `sign_link`;入账方签约信息修改-获取新签约链接) - ✅ **交易**(银联行业码支付-获取 user_id;异步退款申请支持 `notify_url`) - ✅ **文件上传功能**(图片、视频、PDF上传) - ✅ **敏感数据自动加密** ### 🛠️ 开发工具 - ✅ **完整的示例代码** - ✅ **单元测试支持** - ✅ **代码格式化工具** - ✅ **详细的错误日志** ## 3. 示例使用说明 SDK提供了丰富的示例代码,位于`examples`目录下: ### 基础配置示例 ```php 'YOUR_APP_ID', 'base_url' => 'https://api.jlpay.com', 'org_private_key' => '-----BEGIN EC PRIVATE KEY----- YOUR_PRIVATE_KEY_CONTENT -----END EC PRIVATE KEY-----', 'org_public_key' => '-----BEGIN PUBLIC KEY----- YOUR_PUBLIC_KEY_CONTENT -----END PUBLIC KEY-----', 'jlpay_public_key' => '-----BEGIN PUBLIC KEY----- JLPAY_PUBLIC_KEY_CONTENT -----END PUBLIC KEY-----' ]); ``` ### 商户进件示例 查看 `examples/merchant_incoming_demo.php` 了解如何使用SDK进行商户进件操作。 ```php setMerchantName('测试商户'); $request->setBusinessLicense('123456789'); // ... 设置其他必要参数 // 发送请求 $response = $merchantService->merchantIncomingAdd($request); if ($response->isSuccess()) { echo "商户进件成功,订单号:" . $response->getOrderNo(); } else { echo "商户进件失败:" . $response->getRetMsg(); } ``` ### 文件上传示例 查看 `examples/merchant_file_upload_demo.php` 了解如何使用SDK进行文件上传操作。 ```php setFileFromPath('/path/to/image.jpg'); $request->setMetaWithDigest('image.jpg'); // 自动计算SM3摘要 // 上传文件 $response = $fileService->uploadImage($request); if ($response->isSuccess()) { echo "文件上传成功,媒体ID:" . $response->getMediaId(); } else { echo "文件上传失败:" . $response->getRetMsg(); } ``` ### 国密算法使用示例 ```php = 7.4) - 确保OpenSSL扩展已启用 ## 8. 版本说明 | 版本 | 日期 | 版本说明 | |------|-----------|----------| | v1.0.3 | 2026/2/3 | V1.0.3 需求明细:接口分账(入账方注册 ledger_mch_id/mch_id/sign_link、入账方查询 sign_link、入账方签约信息修改);交易(银联行业码获取 user_id、异步退款 notify_url);商户进件 5 种场景示例;自测脚本 | | v1.0.2 | 2025/8/4 | 补充收银台(收银托管预下单、订单状态查询、撤单、退款)、清结算、资金管控、分账、 商户管理、交易模块demo | | v1.0.1 | 2025/6/10 | 新增文件上传功能,支持图片、视频、PDF上传;完善商户进件功能;优化错误处理和日志记录 | | v1.0.0 | 2025/5/20 | 初始版本,包含SM2/SM3/SM4国密算法支持、HTTP请求封装、自动签名验签、商户基础服务 | ## 9. 注意事项 1. **字符编码**: 所有字符串使用UTF-8编码 2. **密钥安全**: 生产环境中请妥善保管私钥,避免泄露 3. **网络安全**: 建议在生产环境中使用HTTPS协议 4. **错误处理**: 请根据返回的错误码进行相应的错误处理 5. **日志记录**: 建议在生产环境中适当调整日志级别 ## 10. 联系方式 如果您有任何问题或建议,请通过以下方式与我们联系: - 邮箱:support@jlpay.com - 技术支持:sdk@jlpay.com - GitHub Issues:https://github.com/jlpay/jlpay-sdk-php/issues ## 11. 许可证 本项目基于 MIT 许可证开源,详情请参阅 [LICENSE](LICENSE) 文件。