Siapkan Integrasi Gateway Pembayaran Paypal di Laravel PHP
Dalam tutorial ini, saya akan memberitahu Anda untuk mengintegrasikan gateway pembayaran Paypal dengan cara standar di Laravel PHP Framework.
Gateway pembayaran Paypal menjadi populer untuk semua proyek dan lebih mudah untuk diintegrasikan di situs web untuk pengembang dan di sini saya mendefinisikan cara mudah untuk mengintegrasikan gateway pembayaran paypal dalam aplikasi.
Ada dua lingkungan, satu adalah kotak pasir yang digunakan untuk tujuan pengujian dan yang kedua adalah live.
Pelanggan dapat dengan mudah melakukan pembayaran di gateway pembayaran Paypal dan mereka juga dapat melakukan pembayaran yang aman dengan menggunakan kartu atau saldo paypal mereka yang berarti gateway pembayaran paypal aman bagi pengguna untuk melakukan pembayaran online.
Saya memiliki dua tabel products dan payments dan relatif model.
Berikut adalah proses untuk membuat tabel dan model di Laravel.
• Tabel Produk
Jalankan PHP artisan untuk membuat file migrasi untuk tabel produk.
php artisan make:migration create_products_table
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProductsTable extends Migration
{
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->text('details');
$table->float('price');
$table->timestamps();
});
}
public function down()
{
Schema::drop("products");
}
}
Tempel kode ini di file migrasi Anda untuk produk dan jalankan php artisan migrateuntuk membuat tabel di database Anda.
• model produk
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
public $fillable = ['name','details','price'];
}
• Payment Table
Sama seperti produk, buat tabel pembayaran menggunakan perintah php artisan.
php artisan make:migration create_payments_table
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePaymentsTable extends Migration
{
public function up()
{
Schema::create('payments', function (Blueprint $table) {
$table->increments('id');
$table->string('item_number');
$table->string('transaction_id');
$table->string('currency_code');
$table->string('payment_status');
$table->timestamps();
});
}
public function down()
{
Schema::drop("payments");
}
}
• Payment Model
namespace App;
use Illuminate\Database\Eloquent\Model;
class Payment extends Model
{
public $fillable = ['item_number','transaction_id','currency_code','payment_status'];
}
• routes.php
Route::get('payment-status',array('as'=>'payment.status','uses'=>'PaymentController@paymentInfo'));
Route::get('payment',array('as'=>'payment','uses'=>'PaymentController@payment'));
Route::get('payment-cancel', function () {
return 'Payment has been canceled';
});
• Payment Controller
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Product;
use App\Payment;
class PaymentController extends Controller {
public function payment(Request $request){
$product=Product::find($request->id);
return view('payment',compact('product'));
}
public function paymentInfo(Request $request){
if($request->tx){
if($payment=Payment::where('transaction_id',$request->tx)->first()){
$payment_id=$payment->id;
}else{
$payment=new Payment;
$payment->item_number=$request->item_number;
$payment->transaction_id=$request->tx;
$payment->currency_code=$request->cc;
$payment->payment_status=$request->st;
$payment->save();
$payment_id=$payment->id;
}
return 'Pyament has been done and your payment id is : '.$payment_id;
}else{
return 'Payment has failed';
}
}
}
Metode pembayaran digunakan untuk merender bentuk gateway pembayaran tempat data produk yang dipilih diteruskan untuk dibeli.
Setelah pengalihan berhasil dari gateway pembayaran paypal kami mengambil data respons dalam metode paymentInfo dan sesuai dengan itu kami memperbarui tabel pembayaran dengan id transaksi.
• Formulir pembayaran
Dalam formulir ini kami mengikat detail produk yang dipilih dengan formulir paypal.
Teks respons gateway pembayaran paypal yang akan Anda dapatkan setelah pembayaran berhasil:
{ "tx" : "4V936557BM418705U" , "st" : "Selesai" , "amt" : "10.00" , "cc" : "USD" , "cm" : "" , "item_number" : "292" }
Posting Komentar untuk "Siapkan Integrasi Gateway Pembayaran Paypal di Laravel PHP"
Terima kasih telah mengunjungi blog kami. Silakan tinggalkan jejak Anda dengan mengisi kolom komentar di bawah ini.