telepay-app/telepay-php 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

telepay-app/telepay-php

Composer 安装命令:

composer require telepay-app/telepay-php

包简介

Minimal PHP kliens a TelePay Transaction API-hoz (HMAC, idempotency).

README 文档

README

Minimal PHP kliens a TelePay Transaction API-hoz.

Telepítés

composer require telepay-app/telepay-php

Usage

use Telepay\Client;

$client = new Client(
    apiKey: 'PUBLIC_API_KEY',
    secret: 'SECRET',
);

// 💳 Új tranzakció létrehozása
$payload = [
  'msisdn' => '+36301234567',
  'description' => 'XYZ termék neve',
  'success_message' => 'Köszönjük a vásárlást!',
  'currency' => 'HUF',
  'cart' => [
    ['name' => 'Teszt termék', 'price' => 3000, 'quantity' => 1]
  ]
];

$response = $client->createTransaction($payload);
print_r($response);

// 🔎 Tranzakció lekérdezése (a visszatérítésekkel együtt)
$tx = $client->getTransaction('TRANSACTION_UUID');
// $tx['status'], $tx['refunded'] (bool), $tx['refunds'] (tömb)

// 🧾 Teljes refund indítása
// A válaszban: ['queued' => true, 'transaction_id' => '...', 'refund_id' => '...']
$response = $client->refundTransaction('TRANSACTION_UUID');
print_r($response);

getTransaction() válasz (példa)

{
  "id": "3b035ac3-...",
  "type": "payment",
  "status": "completed",
  "amount": 4990,
  "currency": "HUF",
  "order_id": "2026-0019253",
  "provider_tx_id": "650446811",
  "refunded": true,
  "refunds": [
    {
      "id": "a14b8b0b-...",
      "type": "refund",
      "status": "completed",
      "amount": 4990,
      "currency": "HUF",
      "provider_tx_id": "650447207",
      "parent_id": "3b035ac3-..."
    }
  ]
}

Webhookok

A TelePay aláírt webhookot küld a beállított URL-re. Az aláírás a nyers body-ra megy (Telepay-Signature: t=<ts>, v1=<hmac>), a HMAC kulcs az app secretje.

use Telepay\Webhooks\Verifier;
use Telepay\Exceptions\SignatureVerificationException;

$rawBody = file_get_contents('php://input');
$sigHeader = $_SERVER['HTTP_TELEPAY_SIGNATURE'] ?? '';

try {
    Verifier::assertValid($sigHeader, $rawBody, 'WEBHOOK_SECRET'); // dob, ha érvénytelen
} catch (SignatureVerificationException $e) {
    http_response_code(400);
    exit;
}

$event = json_decode($rawBody, true);

switch ($event['event'] ?? null) {
    case 'transaction.updated':
        // státuszváltás (pl. completed/failed/expired) – $event['id'], $event['status']
        break;

    case 'transaction.refunded':
        // VISSZATÉRÍTÉS – $event['id'] az EREDETI tranzakció,
        // $event['refund'] = ['id','amount','currency','status','provider_tx_id']
        $refund = $event['refund'];
        // ... rendelés visszatérítettre állítása ...
        break;
}

Események

  • transaction.updated — a fizetés státusza változott (pl. completed, failed, cancelled, expired).
  • transaction.refunded — visszatérítés történt. Az id az EREDETI tranzakció uuid-ja; a refund objektum tartalmazza a refund adatait. (Az eredeti tranzakció státusza completed marad — a visszatérítésről innen, illetve a getTransaction() refunds tömbjéből értesülsz.)

telepay-app/telepay-php 适用场景与选型建议

telepay-app/telepay-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 10 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 telepay-app/telepay-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 telepay-app/telepay-php 我们能提供哪些服务?
定制开发 / 二次开发

基于 telepay-app/telepay-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 16
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-12