moneyhash_payment 0.0.2 copy "moneyhash_payment: ^0.0.2" to clipboard
moneyhash_payment: ^0.0.2 copied to clipboard

outdated

MoneyHash is a Super-API infrastructure for payment orchestration and revenue operations in emerging markets.

moneyhash_payment #

About MoneyHash #

MoneyHash is a Super-API infrastructure for payment orchestration and revenue operations in emerging markets. We provide a single integration to your network of pay-in and pay-out providers, and various other services that you can utilize and combine to build a unique custom payment stack. Our core features include:

  1. A single API/SDK integration for Pay-in & Pay-out
  2. Unified checkout embed compatible with all integrated providers
  3. Orchestration and routing capabilities to allow for optimal transaction route and to increase authorization rates
  4. Micro-services to extend your stack capabilities such as subscription management, invoicing, and payment links
  5. PCI-compliant card vault to store and tokenize sensitive customer and card information
  6. Central dashboard for a unified stack controls and transaction reporting

You can learn more about us by visiting our website.

MoneyHash Flutter Support #

The SDK allows you to build full payment experiences in your native Android and iOS apps using Flutter.

Installation #

dart pub add moneyhash_payment

Requirements #

Android #

  • Compatible with apps targeting Android 5.0 (API level 21) and above
  • Use Kotlin version 1.6.10 and above: example
  • Using an up-to-date Android Gradle Plugin
  • AndroidX (as of v11.0.0)

Enable databinding in your project.

dataBinding {
  enabled = true
}

iOS #

Compatible with apps targeting iOS 11 or above.

Create a Payment Intent #

You will need to create a Payment Intent and use it's ID to initiate the SDK, There are two ways to create a Payment Intent:

  • Using The Sandbox

    Which is helpful to manually and quickly create a Payment Intent without having to running any backend code. For more information about the Sandbox refer to this section

  • Using The Payment Intent API

    This will be the way your backend server will eventually use to create a Payment Intents, for more information refer to this section

Usage Example #

To start the payment flow use the Payment Intent ID from the step above as a parameter along with a PaymentResultContract instance like below:

1- Add PaymentActivity to AndroidManifest.xml

<activity android:name="com.moneyhash.sdk.android.payment.PaymentActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"/>

2-

startPaymentFlow

import 'package:moneyhash_payment/moneyhash_payment.dart';

    MoneyHashPaymentResult? result;

    try {
      result = await MoneyhashPayment.startPaymentFlow("YourPaymentIntentIdHere");
    } on PlatformException {
      // Handle the errors
    }

startPayoutFlow

1- Add PaymentActivity to AndroidManifest.xml

<activity android:name="com.moneyhash.sdk.android.payout.PayoutActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"/>

2-

import 'package:moneyhash_payment/moneyhash_payment.dart';

    MoneyHashPayoutResult? result;

    try {
      result = await MoneyhashPayment.startPayoutFlow("YourPayoutIntentIdHere");
    } on PlatformException {
      // Handle the errors
    }

Payment Statuses #

Once your customer finishes adding the payment information they will reach one of the following statuses, and a callback is fired with the payment status which indicate the current status of your payment.

Status #
Error There was an error while processing the payment and more details about the errors will be found inside errors data.
Success The payment is Successful.
RequireExtraAction That payment flow is done and the customer needs to do some extra actions off the system, a list of the actions required by the customer will be found inside the actions data, and it should be rendered to the customer in your app.
Failed There was an error while processing the payment.
Unknown There was an unknown state received and this should be checked from your MoneyHash dashboard.
Cancelled The customer cancelled the payment flow by clicking back or cancel.
Redirect That payment flow is done and the customer needs to be redirect to redirectUrl.

MoneyHashPaymentResult #

class MoneyHashPaymentResult {
  final String status; // Payment Status
  final String? errors; // errors if any (incase of status = "error")
  final String? extraActions; // list of extra actions required (incase of status = "require_extra_action")
  final String? redirectUrl; // link needs to be redirect to  (in case of status = "redirect")
  final PaymentResult? result; // the payment details (in case of status = "success" || status = "redirect" ||status = "require_extra_action" || status = "failed")
}

class PaymentResult {
  final PaymentIntent? intent;
  final PaymentTransaction? transaction;
}

MoneyHashPayoutResult #

class MoneyHashPayoutResult {
  final String status; // Payout Status
  final String? errors; // errors if any (in case of status = "error")
  final String? extraActions; // list of extra actions required (in case of status = "require_extra_action")
  final String? redirectUrl; // link needs to be redirect to  (in case of status = "redirect")
  final PayoutResult? result; // the payout details (in case of status = "success" || status = "redirect" || status = "require_extra_action" || status = "failed")
}

class PayoutResult {
  final PayoutIntent? intent;
  final PayoutTransaction? transaction;
}

Questions and Issues #

Please provide any feedback via a GitHub Issue.

4
likes
0
points
200
downloads

Publisher

verified publishermoneyhash.io

Weekly Downloads

MoneyHash is a Super-API infrastructure for payment orchestration and revenue operations in emerging markets.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on moneyhash_payment