past/paytr

Laravel Paytr 支付网关

1.0.2 2023-04-10 22:18 UTC

This package is auto-updated.

Last update: 2024-09-11 10:33:08 UTC


README

此包 Paytr 通过 Laravel 使用直接 API、iframe API 和 iframe 转账/电汇 API 选项开发,以便可以直接接收付款。

如何安装?

composer require past/paytr

运行配置文件的代码。

php artisan vendor:publish --provider="Past\Paytr\PaytrServiceProvider"

将其添加到 .env 文件中

PAYTR_MERCHANT_ID=''  
PAYTR_MERCHANT_SALT=''  
PAYTR_MERCHANT_KEY=''  
PAYTR_SUCCESS_URL='https://your-domain/success-payment'  
PAYTR_FAIL_URL='https://your-domain/fail-payment'  
PAYTR_TEST_MODE=true

示例

对于其他支付方式,可以使用以下方式:1 - 直接使用 API

$payment->getOption()->setTransactionType(TransactionType::DIRECT);

2 - 使用 iframe API

$payment->getOption()->setTransactionType(TransactionType::IFRAME);

3 - 使用 iframe 转账/电汇 API

$payment->getOption()->setTransactionType(TransactionType::IFRAME_TRANSFER);

  $payment = new Payment(config('paytr.credentials'), config('paytr.options'));  
  $payment->getOption()->setTransactionType(TransactionType::DIRECT);  
  $payment->getOption()->setDebugOn(true);  
  $payment->getOption()->setTestMode(true);  
  
  
  $orderBasket = new Basket();  
  $product = new Product();  
  $product  
  ->setName('Ürün Adı 1')  
 ->setPrice(18.00);  
  $orderBasket->addProduct($product, 1);  
  $product = new Product();  
  $product  
  ->setName('Ürün Adı 1')  
 ->setPrice(18.00);  
  $orderBasket->addProduct($product, 1);  
  
  $paymentOrder = new Order();  
  $paymentOrder->setCardOwner("PAYTR TEST");  
  $paymentOrder->setCardNumber("4355084355084358");  
  $paymentOrder->setCardExpireMonth("12");  
  $paymentOrder->setCardExpireYear("24");  
  $paymentOrder->setCardCvv("000");  
  $paymentOrder->setUserName('User Name');  
  $paymentOrder->setUserAddress('User Address');  
  $paymentOrder->setEmail('example@mail.com');  
  $paymentOrder->setUserPhone('55512345670');  
  $paymentOrder->setUserIp('176.240.120.7');  
  $paymentOrder->setMerchantOrderId('HOMEORDER113');  
  $paymentOrder->setPaymentAmount(99.90);  
  $paymentOrder->setBasket($orderBasket);  
  
  $payment->setOrder($paymentOrder);  
  
 return $payment->call();