@extends('layouts.app') @section('title', 'Add payment account') @section('subtitle', 'Customers pay directly into this account.') @section('back', route('accounts.index')) @section('content') @php $meta = [ 'paytm_business' => ['Paytm for Business', 'Your Paytm Business QR. Confirmed automatically via MID.', 'bolt', null], 'phonepe_pg' => ['PhonePe PG', 'Official PhonePe Payment Gateway. UPI, cards & netbanking.', 'shield', 'Official'], 'paytm_pg' => ['Paytm PG', 'Official Paytm Payment Gateway with signed APIs.', 'shield', 'Official'], 'manual' => ['Any UPI ID', 'Any bank or app. Customer submits UTR, you confirm it.', 'qr', null], ]; $selected = old('provider', 'paytm_business'); @endphp
@csrf
Account type
@foreach ($providers as $key => $provider) @php [$title, $desc, $icon, $badge] = $meta[$key] ?? [$provider['label'], '', 'qr', null]; @endphp @endforeach
Environment
@foreach (['sandbox' => ['Sandbox (test)', 'Test credentials. No real money.'], 'production' => ['Production (live)', 'Real payments with live credentials.']] as $env => [$envTitle, $envDesc]) @endforeach
@error('environment')

{{ $message }}

@enderror
Cancel
Your money stays yours

Payments go straight to your own UPI or PG account. {{ config('app.name') }} only creates the payment and checks its status. We never hold or settle funds.

How Paytm Business verification works
  1. Use the UPI ID of your Paytm for Business QR.
  2. Enter your MID so we can check each order's status.
  3. Orders are marked paid automatically once the amount matches.

Uses Paytm's merchant status endpoint, which is not an official public API.

How the official PG works
  1. The customer opens your payment link and is sent to the PG's secure checkout.
  2. They pay with UPI, card or netbanking.
  3. We confirm the payment with the PG's official Status API and record the UTR.

Settlement and PG charges follow your agreement with PhonePe/Paytm. Start with Sandbox credentials to test.

How manual verification works

After paying, the customer enters their 12-digit UTR. You match it with your bank/UPI app and approve.

@push('scripts') @endpush @endsection