portone_flutter_v2 1.0.7
portone_flutter_v2: ^1.0.7 copied to clipboard
A module for integrating PortOne V2 payment service in Flutter App.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.7 - 2025-04-28 #
Added #
- Introduces the
PortoneErrorHandlerclass to provide a flexible way to handle error callbacks. - Added
_redirectedUrlsto track redirected URLs during WebView navigation. This list is used to generate a stack trace if an error occurs, providing a history of navigation events leading to the error.
Changed #
- Modified the
onErrorparameter in thePortonePaymentconstructor to accept aPortoneErrorHandlerinstance. - Ensured that errors originating from the PortOne SDK, WebView errors, and navigation errors include stack traces when invoking the error callback.
- Introduced the
_handleErrormethod to centralize error reporting, ensuring that both the error object and a stack trace (either the current stack trace or one generated from_redirectedUrls) are consistently passed to thewidget.onErrorcallback. - Added null safety check for url in
shouldOverrideUrlLoadingto prevent errors when the URL is null.
1.0.6 - 2025-04-27 #
Added #
- Added
onReceivedErrorcallback to capture and propagateWebResourceErrorobjects via thewidget.onErrorhandler. - Added
onReceivedHttpErrorcallback to capture and propagateWebResourceResponseobjects via thewidget.onErrorhandler.
Changed #
- Modified payment data processing to directly include the
appSchemein the payment data map. - Removed the conditional logic for setting
retAppSchemespecifically for Toss Payments, as it's no longer required. - Updated paymentData to be a mutable map to allow modification.
1.0.5 - 2025-04-26 #
- Added
portone_flutter_v2.podspecfor CocoaPods integration. - Created
PrivacyInfo.xcprivacyto declare the app's privacy practices. - Added
ios/Runner.xcodeproj/project.pbxprojto unmanaged files in.metadatato prevent template overwrites.
1.0.4 - 2025-04-26 #
Added #
- Updated the supported payment methods section in the README to reflect the new PG Company specific support.
- Enable the Android plugin so that the app has the schema without modifying the manifest separately, and declare the external app schema (including <queries> for package visibility) in the plugin manifest.
1.0.3 - 2025-04-26 #
Added #
- Added
pgfield to thePaymentRequestmodel, accepting aPGCompanyenum to specify the payment gateway. - Updated the
PaymentRequest.fromJsonfactory method to handle the newpgfield. - Added
PGCompanyenum to represent supported PG companies. - Added conditional logic to include the
retAppSchemeparameter when using the Tosspayments PG for redirect handling.
Changed #
- Introduced validation in the
PaymentRequestconstructor to ensure the selectedpayMethodis supported by the specifiedPGCompany. - Throws an
ArgumentErrorwhen an unsupportedpayMethodis provided, with a clear error message listing the supported methods. - Added unit tests verifying that an
ArgumentErroris thrown for unsupportedpayMethodcases and that object creation succeeds for supported cases. - Removed
includeToJson: falseannotation from thepgfield in thePaymentRequestmodel. (If still present, please remove.)
1.0.2 - 2025-04-25 #
Added #
- Added unit tests for most of model classes
Changed #
- Exposes the
PortonePaymentStateclass as public and adds comprehensive documentation to facilitate testing and improve understanding of the payment process. - Sets a default
redirectUrlin thepaymentDataif it is null. - Adds
retAppSchemeto thepaymentDatafor compatibility with Tosspayments' TossPay, as it requires this parameter.
1.0.1 - 2025-04-12 #
Added #
- Added
PaymentCurrencyenum with support for a wide range of currencies based on ISO 4217. - Added Missing documentation for all public members to improve code readability and maintainability.
Changed #
- Translated the CHANGELOG from Korean to English.
- Converted enum values in
CashReceiptTradeOptionto snake case for consistency.
1.0.0 - 2025-04-11 #
Added #
- Initial integration of PortOne V2 payment service
- Implementation of payment process using the
PortonePaymentwidget - Support for multiple payment methods (credit card, virtual account, easy-pay, etc.)
- Implementation of payment request model (
PaymentRequest) and payment response model (PaymentResponse) - Added
PGCompanyenumeration to support various PG companies - Added
PaymentSupportedMethodsextension for checking supported payment methods per PG company - Functionality for handling payment callbacks via app schemes
- Option to configure payment window type (iframe, popup)
- Multilingual support (Korean, English)
- Localization support for PG company names
- Support for multiple currencies (according to the ISO 4217 standard)
- Support for country information (according to the ISO 3166-1 alpha-2 standard)
- Added bypass parameter support for each PG company:
- e.g., KakaoPay, Toss Payments, Toss Pay V2, KSNET, Smartro V2, Naver Pay, etc.
- Support for transmitting additional information such as custom data, store information, and shipping address
- Error handling and logging functionality
Changed #
- Renamed class from
PortOnePaymenttoPortonePaymentfor consistency
Fixed #
- Improved handling of intent URL processing
- Improved payment response processing via app scheme
- Modified field type in PaymentRequest model (changed
isEscrowto nullable) - Changed
paypaltoconvenienceStorein thePaymentPayMethodenumeration