The API can be downloaded from
https://developers.tosspaids.com/.
Overview
This extension fully integrates TossPayments into Paymenter and supports the following features:
Standard Payment Widget (One-time Payments)
Saved Payment Methods (Billing/Automatic Payments)
Both features are integrated into a single extension for simplicity and stability.
Features
✅ Integration with TossPayments Payment Widget
✅ Saved Payment Methods (Billing Key System)
✅ Process automatic payments using saved cards
✅ Admin Settings:
Client Key
Secret Key
Billing Client Key
Payment Secret Key
✅ Payment status is automatically updated via webhooks/callbacks.
✅ Perfect integration with the Paymenter invoice system
Installation
Upload the newly merged extension:
/var/www/paymenter/extensions/Gateways/TossPaymentsGateway
Set the appropriate permissions:
chmod -R 755 TossPaymentsGateway
Clear cache:
php artisan optimize:clear
Settings (Admin Panel)
Navigate to:
Admin → Extensions → TossPaymentsGateway
Enter:
Standard Payment
Client Key
Secret Key
Payment Method (Saved Method)
Billing Client Key
Payment Secret Key
⚠️ Important:
Use the API integration key, not the widget-only key.
You must enable the payment key in the TossPayments dashboard.
Directions
Start Billing Agreement
/extensions/tosspayments/start-agreement
(After redirection) Set up Billing Agreement
/extensions/tosspayments/setup-agreement
How it works
1. Save Payment Method
The user clicks "Add Payment Method".
They are redirected to the Toss Payment Agreement page.
Once the payment is completed, the payment key is saved.
2. Pay with Saved Payment Method
The user selects the saved card.
The payment is processed using the billing key.
The bill is automatically marked as paid.
3. One-time Payment
Uses the TossPayments widget.
Proceeds in the same way as a regular payment.
Mobile Support
Optimized for mobile devices
Can be used with the automatic return feature once the payment is completed.
Troubleshooting
The payment is stuck in the "Processing" state.
Check the webhook/callback handling method.
Check that the secret key is correct.
tossPayments.billing is not a function.
Please ensure you are using a billing client key.
Please ensure the SDK is loaded correctly.
500 Server Error
Check the log file:
storage/logs/laravel.log
Check the key in the .env file.
Note
No database schema modification is required.
Fully compatible with Paymenter version 1.4.7.
Designed for production use.
Author
Merged and optimized for stable commercial use.
Only KRW is supported.
Mobile payments are also available.
Business registration is mandatory in Korea.