77 lines
2.8 KiB
PHP
77 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\Exceptions\ProhibitedAction;
|
|
use Illuminate\Support\Facades\App;
|
|
|
|
class PaymentService
|
|
{
|
|
/**
|
|
* @throws ProhibitedAction
|
|
*/
|
|
public function invoiceBillApi($driver_national_code, $final_amount)
|
|
{
|
|
if (App::isProduction())
|
|
{
|
|
try {
|
|
$post = array(
|
|
'username' => env("PAYMENT_USERNAME"),
|
|
'password' => env("PAYMENT_PASSWORD"),
|
|
'amount' => $final_amount,
|
|
'serial' => "12345",
|
|
'type' => 1,
|
|
'instanceid' => 123,
|
|
'ownerid' => $driver_national_code,
|
|
'calculationBox' => "{\"rows\":[{\"amount\":" . $final_amount . ",\"code\":\"7070011026200593\"}]}"
|
|
);
|
|
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, "http://payment.rmto.ir/acc/rest/payid/gen");
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_POST, true);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
|
|
$response = curl_exec($ch);
|
|
curl_close($ch);
|
|
return $response;
|
|
}
|
|
catch (\Throwable $th) {
|
|
throw new ProhibitedAction('خطا در ارتباط با سرویس پرداخت');
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public function callPaymentStatusBillApi($bill_code)
|
|
{
|
|
if (App::isProduction())
|
|
{
|
|
try {
|
|
$post = array(
|
|
// 'username' => env("PAYMENT_USERNAME"),
|
|
// 'password' => env("PAYMENT_PASSWORD"),
|
|
// 'amount' => $final_amount,
|
|
// 'serial' => "12345",
|
|
// 'type' => 1,
|
|
// 'instanceid' => 123,
|
|
// 'ownerid' => $driver_national_code,
|
|
// 'calculationBox' => "{\"rows\":[{\"amount\":". $final_amount .",\"code\":\"7070021060000015\"}]}"
|
|
);
|
|
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, "http://payment.rmto.ir/acc/rest/payid/track2/" . env("PAYMENT_USERNAME") . "/" . env("PAYMENT_PASSWORD") . "/" . $bill_code);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
// curl_setopt($ch, CURLOPT_POST, true);
|
|
// curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
|
|
$response = curl_exec($ch);
|
|
curl_close($ch);
|
|
|
|
return $response;
|
|
} catch (\Throwable $th) {
|
|
abort(500);
|
|
}
|
|
}
|
|
return json_encode(['isPayed' => 1]);
|
|
}
|
|
}
|