tcgunel/omnipay-payten
Composer 安装命令:
composer require tcgunel/omnipay-payten
包简介
Omnipay extension for Payten (Merchant Safe Unipay) - supports Payten, Paratika, VakifPays, ZiraatPay
关键字:
README 文档
README
Payten (MSU API v2) gateway for the Omnipay PHP payment processing library
Omnipay is a framework agnostic, multi-gateway payment processing library for PHP. This package implements Payten (Merchant Safe Unipay) support for Omnipay.
Sub-Providers
This package supports 4 sub-providers that share the same MSU API v2 protocol. Select the provider via the provider parameter:
| Provider | Constant | Test API | Live API |
|---|---|---|---|
| Payten (default) | Provider::PAYTEN |
entegrasyon.asseco-see.com.tr | merchantsafeunipay.com |
| Paratika | Provider::PARATIKA |
entegrasyon.paratika.com.tr | vpos.paratika.com.tr |
| VakifPays | Provider::VAKIFPAYS |
testpos.vakifpays.com.tr | pos.vakifpays.com.tr |
| ZiraatPay | Provider::ZIRAATPAY |
test.ziraatpay.com.tr | vpos.ziraatpay.com.tr |
Installation
composer require tcgunel/omnipay-payten
Usage
Gateway Initialization
use Omnipay\Omnipay; use Omnipay\Payten\Constants\Provider; $gateway = Omnipay::create('Payten'); $gateway->setMerchantId('YOUR_MERCHANT_ID'); $gateway->setMerchantUser('YOUR_MERCHANT_USER'); $gateway->setMerchantPassword('YOUR_MERCHANT_PASSWORD'); $gateway->setMerchantStorekey('YOUR_STOREKEY'); // optional (DEALERTYPENAME) $gateway->setProvider(Provider::PAYTEN); // payten, paratika, vakifpays, ziraatpay $gateway->setTestMode(true); // false for production
Provider Selection
// Use Paratika $gateway->setProvider(Provider::PARATIKA); // Use VakifPays $gateway->setProvider(Provider::VAKIFPAYS); // Use ZiraatPay $gateway->setProvider(Provider::ZIRAATPAY);
Non-3D Sale (Direct Payment)
$response = $gateway->purchase([ 'amount' => '100.00', 'currency' => 'TRY', 'transactionId' => 'ORDER-12345', 'installment' => '1', 'secure' => false, 'card' => [ 'firstName' => 'John', 'lastName' => 'Doe', 'number' => '4355084355084358', 'expiryMonth'=> '12', 'expiryYear' => '2030', 'cvv' => '000', 'email' => 'john@example.com', ], 'clientIp' => '127.0.0.1', ])->send(); if ($response->isSuccessful()) { echo "Payment successful! Transaction ID: " . $response->getTransactionReference(); } else { echo "Payment failed: " . $response->getMessage(); }
3D Secure Payment
$response = $gateway->purchase([ 'amount' => '100.00', 'currency' => 'TRY', 'transactionId' => 'ORDER-12345', 'installment' => '1', 'secure' => true, 'returnUrl' => 'https://yoursite.com/payment/callback', 'card' => [ 'firstName' => 'John', 'lastName' => 'Doe', 'number' => '4355084355084358', 'expiryMonth'=> '12', 'expiryYear' => '2030', 'cvv' => '000', 'email' => 'john@example.com', ], 'clientIp' => '127.0.0.1', ])->send(); if ($response->isRedirect()) { // Redirect the customer to 3D Secure page $response->redirect(); }
Complete Purchase (3D Callback)
Handle the callback from the 3D Secure redirect:
$response = $gateway->completePurchase()->send(); if ($response->isSuccessful()) { echo "3D Payment successful!"; echo "Transaction ID: " . $response->getTransactionId(); echo "PG Reference: " . $response->getTransactionReference(); } else { echo "3D Payment failed: " . $response->getMessage(); echo "Error code: " . $response->getCode(); }
Refund
$response = $gateway->refund([ 'transactionId' => 'ORDER-12345', 'amount' => '50.00', 'currency' => 'TRY', ])->send(); if ($response->isSuccessful()) { echo "Refund successful!"; } else { echo "Refund failed: " . $response->getMessage(); }
Void (Cancel)
$response = $gateway->void([ 'transactionId' => 'ORDER-12345', ])->send(); if ($response->isSuccessful()) { echo "Void successful!"; } else { echo "Void failed: " . $response->getMessage(); }
Installment Query
$response = $gateway->installmentQuery([ 'card' => ['number' => '435508'], // First 6 digits (BIN) 'amount' => '100.00', 'currency' => 'TRY', ])->send(); if ($response->isSuccessful()) { $data = $response->getData(); // $data->installmentPlanList contains available installment options }
Transaction Query
$response = $gateway->transactionQuery([ 'transactionId' => 'ORDER-12345', ])->send(); if ($response->isSuccessful()) { $data = $response->getData(); echo "Amount: " . $data->amount; echo "Currency: " . $data->currency; }
Authentication Parameters
| Parameter | MSU Field | Description |
|---|---|---|
merchantId |
MERCHANT |
Merchant ID |
merchantUser |
MERCHANTUSER |
Merchant user |
merchantPassword |
MERCHANTPASSWORD |
Merchant password |
merchantStorekey |
DEALERTYPENAME |
Dealer type name / store key (optional) |
API Response Codes
00- Success (Approved)- Any other code - Error (check
errorMsgfor details)
Supported Methods
| Method | MSU ACTION | Description |
|---|---|---|
purchase() |
SALE |
Direct or 3D Secure payment |
completePurchase() |
- | Handle 3D callback |
refund() |
REFUND |
Partial or full refund |
void() |
VOID |
Cancel a transaction |
installmentQuery() |
QUERYINSTALLMENTS |
Query available installments by BIN |
transactionQuery() |
QUERYTRANSACTION |
Query transaction status |
Testing
composer test
License
MIT License. See LICENSE for details.
tcgunel/omnipay-payten 适用场景与选型建议
tcgunel/omnipay-payten 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payment」 「gateway」 「omnipay」 「3d secure」 「msu」 「paratika」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 tcgunel/omnipay-payten 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tcgunel/omnipay-payten 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 tcgunel/omnipay-payten 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
repository php library
Payyo Gateway for the Omnipay payment processing library
Yandex.Kassa driver for Omnipay payment processing library
Some pre-defined rules for validation in Omnipay payment processing library.
BluePay gateway for the Omnipay payment processing library
Client library to send SMS using Comilio SMS Gateway API (https://www.comilio.it)
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 20
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-23