aba_payway 0.0.1-beta.1 copy "aba_payway: ^0.0.1-beta.1" to clipboard
aba_payway: ^0.0.1-beta.1 copied to clipboard

A Flutter plugin for the ABA PayWay merchant payment gateway, supporting partner registration, payment collection, self-activation, and onboarding in Cambodia.

example/lib/main.dart

import 'dart:developer';

import 'package:aba_payway/aba_payway.dart';
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

void main() {
  runApp(const ABAPaywayExampleApp());
}

class ABAPaywayExampleApp extends StatelessWidget {
  const ABAPaywayExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(title: 'ABA Payway Example', home: const ABAPaywayHomePage());
  }
}

class ABAPaywayHomePage extends StatefulWidget {
  const ABAPaywayHomePage({super.key});

  @override
  State<ABAPaywayHomePage> createState() => _ABAPaywayHomePageState();
}

class _ABAPaywayHomePageState extends State<ABAPaywayHomePage> with TickerProviderStateMixin {
  final _txtPublicKey = TextEditingController(text: '');
  final _txtPrivateKey = TextEditingController(text: '');
  final _txtPartnerId = TextEditingController(text: '');
  final _txtReferer = TextEditingController(text: '');

  @override
  void dispose() {
    _txtPublicKey.dispose();
    _txtPrivateKey.dispose();
    _txtPartnerId.dispose();
    _txtReferer.dispose();
    super.dispose();
  }

  Future partner() async {
    final abaPayway = ABAPayway(
      publicKey: _txtPublicKey.text,
      privateKey: _txtPrivateKey.text,
      merchantId: 'EC0001',
      env: .sandbox,
      partnerId: _txtPartnerId.text,
      partnerReferer: _txtReferer.text,
    );

    // Register a merchant
    final registerResponse = await abaPayway.partner.registerMerchant(
      ABARegisterMerchantRequestModel(
        pushbackUrl: 'https://webhook.example.com',
        redirectUrl: 'https://example.com',
        registerRef: 'Merchant001',
        currency: .usd,
        type: .web,
        merchantType: .inStore,
      ),
    );
    log('registerResponse = ${registerResponse.toJson()}');
    launchUrl(Uri.parse(registerResponse.status.toString()));

    final getMerchantByRef = await abaPayway.partner.getMerchantByRegisterRef('Merchant001');
    log('getMerchantByRef = ${getMerchantByRef.data?.toJson()}');
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('ABA Payway Example'),
        backgroundColor: Theme.of(context).colorScheme.primaryContainer,
        foregroundColor: Theme.of(context).colorScheme.onPrimaryContainer,
      ),
      body: Placeholder(),
    );
  }
}
1
likes
0
points
50
downloads

Documentation

Documentation

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for the ABA PayWay merchant payment gateway, supporting partner registration, payment collection, self-activation, and onboarding in Cambodia.

Homepage
Repository (GitHub)
View/report issues

Topics

#payments #abapayway #checkout #rest #gateway

License

unknown (license)

Dependencies

basic_utils, crypto, dio, flutter, intl, pointycastle

More

Packages that depend on aba_payway