past / paytr
Laravel Paytr 支付网关
1.0.2
2023-04-10 22:18 UTC
Requires
- php: ^8.0|^8.1
- guzzlehttp/guzzle: ^7.0.1
- illuminate/collections: ^8|^9
- illuminate/http: ^9.0|^10.0
- illuminate/support: ^8.0|^9.0
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();