DeveloperBreeze

Tutorials Programming Tutorials, Guides & Best Practices

Explore 149+ expertly crafted tutorials tutorials, components, and code examples. Stay productive and build faster with proven implementation strategies and design patterns from DeveloperBreeze.

Integrating and Using NMI Payment Gateway in Laravel

Tutorial August 14, 2024
php

In a controller, you can use the NMI service as follows:

   use App\Services\NMI;

   class PaymentController extends Controller
   {
       protected $nmi;

       public function __construct(NMI $nmi)
       {
           $this->nmi = $nmi;
       }

       public function storeCustomer(Request $request)
       {
           $creditCard = $request->only(['cc_number', 'exp_date', 'cvv']);
           $customerVaultId = $this->nmi->addCustomerVault($creditCard);

           return response()->json(['customer_vault_id' => $customerVaultId]);
       }

       public function processPayment(Request $request)
       {
           $customerVaultId = $request->input('customer_vault_id');
           $amount = $request->input('amount');
           $paymentResponse = $this->nmi->processPaymentUsingVault($customerVaultId, $amount);

           return response()->json($paymentResponse);
       }
   }