You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SenangPayServiceProvider.php 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace MirfalahTech\Laravel\Payment\Gateway\SenangPay;
  3. use Illuminate\Contracts\Config\Repository;
  4. use Illuminate\Contracts\Container\BindingResolutionException;
  5. use Illuminate\Support\ServiceProvider;
  6. use MirfalahTech\Laravel\Payment\Manager\PaymentManager;
  7. class SenangPayServiceProvider extends ServiceProvider
  8. {
  9. /**
  10. * @throws BindingResolutionException
  11. */
  12. public function boot()
  13. {
  14. /** @var Repository $config */
  15. $config = $this->app->make('config');
  16. $config->set('payment.gateway.senangpay', array_merge(
  17. [
  18. 'endpoint' => env('SENANGPAY_ENDPOINT', 'https://app.senangpay.my/'),
  19. 'merchant_id' => env('SENANGPAY_MERCHANT_ID'),
  20. 'secret_key' => env('SENANGPAY_SECRET_KEY'),
  21. ],
  22. $config->get('payment.gateway.senangpay')
  23. ));
  24. $this->app->afterResolving('payment', function (PaymentManager $manager) use ($config) {
  25. $manager->extend('senangpay', function () use ($config) {
  26. return new SenangPayDriver(
  27. $config->get('payment.gateway.senangpay.endpoint'),
  28. $config->get('payment.gateway.senangpay.merchant_id'),
  29. $config->get('payment.gateway.senangpay.secret_key')
  30. );
  31. });
  32. });
  33. }
  34. }