thearkaid/laravel-faspay

Faspay支付网关的非官方Laravel包

v0.4.1 2020-07-03 02:07 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:28 UTC


README

非官方Laravel包,用于Faspay支付网关

本包是从Faspay Api. PHP转换而来。

测试于: Laravel 5.5 Laravel 7.x Latest Stable Version Total Downloads License

  • Faspay企业借记
  • Faspay企业信用卡

功能

  • 获取支付通道
  • 创建支付
  • 检查支付状态
  • 取消支付
  • 通知
  • 回调

安装

您可以通过composer安装此包

composer require thearkaid/laravel-faspay

发布faspay.php配置

php artisan vendor:publish --provider='TheArKaID\LaravelFaspay\Providers\LaravelFaspayServiceProvider'

使用方法

  1. 在您的config目录中更新faspay.php配置
  /**
   * Set true saat dalam Mode Development
   * Set false saat ke Mode Production
   */
  'isdev' => true,
  // Kredensial saat dalam Mode Development
  'devcred' => [
      'merchantname' => env('FP_DEV_MERCHANT_NAME', 'OR JUST SET HERE'),
      'merchantid' => env('FP_DEV_MERCHANT_ID', 'OR JUST SET HERE'),
      'userid' => env('FP_DEV_USER_ID', 'OR JUST SET HERE'),
      'password' => env('FP_DEV_PASSWORD', 'OR JUST SET HERE'),
      'redirecturl' => env('FP_DEV_REDIRECT_URL', 'OR JUST SET HERE')
  ],
  // Kredensial saat dalam Mode Production
  'prodcred' => [
      'merchantname' => env('FP_PROD_MERCHANT_NAME', 'OR JUST SET HERE'),
      'merchantid' => env('FP_PROD_MERCHANT_ID', 'OR JUST SET HERE'),
      'userid' => env('FP_PROD_USER_ID', 'OR JUST SET HERE'),
      'password' => env('FP_PROD_PASSWORD', 'OR JUST SET HERE'),
      'redirecturl' => env('FP_PROD_REDIRECT_URL', 'OR JUST SET HERE')
  ]
  1. 始终使用并创建LaravelFaspay类
  // Require LaravelFaspay class
  use TheArKaID\LaravelFaspay\LaravelFaspay;

  // Create an object from LaravelFaspay Class
  $faspayer = new LaravelFaspay();
  1. 获取支付通道
  // Return Payment Channel here
  return $faspayer->getPaymentChannel();
  1. 创建支付
  // Define your payment channel,
  $paymentChannel['pg_code'] = "802";
  $paymentChannel['pg_name'] = "Mandiri Virtual Account";
    
  // Create an array for ordered Item
  $item = Array();
  $order["product"] = "Item #1"; // Product Name
  $order["qty"] = 1; // QTY
  $order["amount"] = 100000; // Price. Just the real price, without any '.'(dot) or ',' (comma).
  $order["paymentplan"] = 1; // Payment Plan. See References below.
  $order["merchantid"] = $faspayer->getConfig()->getUser()->getMerchantId(); // Merchant ID
  $order["tenor"] = 00; // Tenor. See References below.
  array_push($item, $order); // Push order,
  // Loop or push again for more than 1 items.

  // Create Bill Data
  $billData["billno"] = "1232123"; // Bill Number
  $billData["billdesc"] = "Pembayaran RHI"; // Billing Description
  $billData["billexp"] = 2; // Expired Day Interval (in total days)
  $billData["billtotal"] = 10000; // Bill Total, Just the real bill, without any '.'(dot) or ',' (comma).
  $billData["paytype"] = 3 // Pay Type. See References below.

    // Create User Data
  $userData["phone"] = "087123123123"; // Phone Number
  $userData["email"] = "arka.progammer@gmail.com"; // Email
  $userData["terminal"] = 21; // Terminal
  $userData["custno"] = "12345"; // Customer No
  $userData["custname"] = "thearka"; // Customer Name

  // Proccess the request and return the result.
  return $faspayer->createPayment($item, $paymentChannel, $billData, $userData);
  1. 检查支付状态
  // Proccess the request and return the result.
  return $faspayer->checkPaymentStatus(
    $reqdesc, // Request Description
    $trx_id, // Transaction ID
    $billno // Billing Number
   );
  1. 取消支付
  // Proccess the request and return the result.
  return $faspayer->cancelPayment(
    $trx_id, // Transaction ID
    $billno, // Billing Number
    $paymentcancel // Description for Cancellation
   );
  1. 通知

当用户接受或取消支付时,支付状态的通知将被发送到您的服务器。别忘了将此数据返回到屏幕,作为对Faspay的响应,表明您的服务器已接受其请求

  // Get the notification.
  return $faspayer->notifier();

  // The Data returned. Take the data for updating your data status. 
  // Success.
  {
    "response": "Payment Notification",
    "response_date": "2020-06-28 17:06:26",
    "trx_id": "1234567890", // Transaction ID
    "merchant_id": "12345", // Merchant ID
    "merchant": "TheArKa", // Merchant Name
    "response_code": "00",
    "response_desc": "Sukses"
  }

  // Failed
  {
    "response": "Payment Notification",
    "response_date": "2020-06-28 17:06:15",
    "trx_id": "1234567890", // Transaction ID
    "merchant_id": "12345", // Merchant ID
    "merchant": "TheArKa", // Merchant Name
    "response_code": "01",
    "response_desc": "Gagal"
  }
  1. 回调

当用户的交易完成并收到交易已完成的通知时,将调用回调

  // Get the callback data
  return $faspayer->callbacker();
  // The Data returned. Take the data for updating your data status. 
  {
    "response": "Callback",
    "response_date": "2020-06-28 17:06:26",
    "trx_id": "1234567890", // Transaction ID
    "bill_no": "1234567890", // Bill Number
    "merchant_id": "12345", // Merchant ID
    "merchant": "TheArKa", // Merchant Name
    "bill_ref": "1234567890", // Bill Reference
    "response_code": "00",
    "response_desc": "Sukses"
  }

参考

在Faspay中有一些信息可以帮助您理解此包中的术语

已停用!

此包已停用,但自从上次提交以来它仍然可以正常工作,只要Faspay的工作方式没有改变。如果您有继续此包的理由,请随时将其分支或联系我寻求帮助。