JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "Paypal.php"
Full Path: /home/u735268861/domains/palsarh.in/public_html/app/Models/payment_gateway/Paypal.php
File size: 2.59 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace App\Models\payment_gateway;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
//for paypal
use App\Http\Requests;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class Paypal extends Model
{
use HasFactory;
public static function payment_status($identifier, $transaction_keys = [])
{
$payment_gateway = DB::table('payment_gateways')->where('identifier', $identifier)->first();
$keys = json_decode($payment_gateway->keys, true);
if ($payment_gateway->test_mode == 1) {
$secret_key = $keys['sandbox_secret_key'];
$client_id = $keys['sandbox_client_id'];
$mode = 'sandbox';
$paypalURL = 'https://api.sandbox.paypal.com/v1/';
} else {
$secret_key = $keys['production_secret_key'];
$client_id = $keys['production_client_id'];
$mode = 'production';
$paypalURL = 'https://api.paypal.com/v1/';
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $paypalURL . 'oauth2/token');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $client_id . ":" . $secret_key);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
$response = curl_exec($ch);
curl_close($ch);
if (empty($response)) {
return false;
} else {
$jsonData = json_decode($response);
$curl = curl_init($paypalURL . 'checkout/orders/' . $transaction_keys['payment_id']);
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $jsonData->access_token,
'Accept: application/json',
'Content-Type: application/xml'
));
$response = curl_exec($curl);
curl_close($curl);
// Transaction data
$result = json_decode($response);
// CHECK IF THE PAYMENT STATE IS APPROVED OR NOT
if ($result->status == 'approved' || $result->status == 'COMPLETED') {
return true;
} else {
return false;
}
}
}
}