Freedom Pay
  1. Payment SDK
Freedom Pay
  • Gateway API
    • Introduction
    • Reference
      • Test cards
      • Error codes
    • Sync API
      • Introduction
      • Page
        • Introduction
        • Page
        • Page with amount control
        • Status
      • Pay
        • Introduction
        • Card
        • 3DSecure
        • Cancel
        • Clearing
        • Refund
        • Status
      • Payout
        • Introduction
        • Card
        • IBAN
        • Balance
        • Status
        • StatusV2
      • Transfer
        • Introduction
        • Card
        • 3DSecure
        • Rates
        • Status
      • Card
        • Introduction
        • Add
        • 3DSecure
        • List
        • Remove
        • Status
      • Token
        • Introduction
        • Token Pay
        • Apple Pay
        • Google Pay
        • Samsung Pay
        • Token Payout
        • Status
    • Async API
      • Introduction
      • create
        • create payment
        • create payment recurrent
      • read
        • read payment
        • read request
      • edit
        • edit payment.refund
        • edit payment.reverse
        • edit payment.clearing
      • delete
  • Merchant API
    • Introduction
    • Reference
      • Test cards
      • Test phone numbers
      • Error codes
    • Page
      • Introduction
      • Page
      • Page with amount control
      • Payout page
      • Frame
      • Widget
      • Status
    • Pay
      • Introduction
      • Cancel
      • Clearing
      • Refund
      • Status
    • Payout
      • Introduction
      • IBAN
      • Balance
      • Status by order_id
      • Status by Payment ID
      • Status by Payment ID V2
    • Mobile balance
      • Introduction
      • Init
      • Pay
      • Approve
      • Resend code
      • Status
    • Card
      • Introduction
      • Add
      • Add for payout
      • Remove
      • List
      • Status
    • Token
      • Introduction
      • Saved card with CVC input (Init)
      • Saved card with CVC input (Pay)
      • Non-acceptance payments
      • Non-acceptance payments (Pay)
      • Token payout
      • Status
    • Invoice
      • Introduction
      • Init
      • Info
      • Pay
      • Status
    • Additional
      • Introduction
      • Check request
      • Result notify
      • Payout notify
      • Redirect back
  • Card API
    • Introduction
    • Payment Cards
      • Reference
        • Request Status
        • Client product
        • Card product
        • Card status
        • Card block
        • Transaction
        • Error codes
      • Card issue
        • Bulk
        • Single
        • Physical
      • Card control
        • Activate
        • Block
        • Unblock
        • Set PIN
        • Reset PIN counter
        • Close
        • Identification
        • Info
        • Balance
        • Secret data
        • Statement
      • Client
        • Create
        • Edit
        • Card list
      • Additional
        • Request status
    • Gift Cards
      • Introduction
      • Reference
        • Request status
        • Card status
      • List
      • Issue
      • Confirm
      • Resend
      • Resend code
      • Status
  • Partner API
    • Rates
      • Introduction
      • Rates
    • Products
      • Introduction
      • Reference
        • Request
        • Product
        • Freedom POS
        • Freedom ECOM
        • Freedom BOX
        • Limits
      • Add user
      • Add product
      • Add user with product
      • Grant user
      • Send auth data
      • Request status
    • E-Money
      • Introduction
      • Reference
        • Request
        • Operation
        • Error codes
      • Add
      • Owner identification
      • Info
      • Close
      • Block
      • Balance
      • Statement
      • Request Status
    • Freedom ID
      • Introduction
      • Android SDK
      • iOS SDK
      • Reference
        • Error codes
      • Link
      • Token
      • Token refresh
      • Info
      • Profile
      • Request
  • Mobile SDK
    • Payment SDK
      • iOS
      • Android
    • Freedom QR
      • Reader SDK (Android)
      • Provider SDK (Android)
  • CMS
    • Introduction
    • Get Merchant ID and key
    • WordPress
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
      • Update
    • Tilda
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • InSales
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • Ecwid
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • Bitrix
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • PrestaShop
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
    • OpenCart
      • Introduction
      • Installation
      • Configuration
      • Test
      • Live payments
  1. Payment SDK

Android

Payment SDK (Android, Kotlin)#

 The Payment SDK is a library that simplifies interaction with the Freedom Pay API. Supports Android 4.4 and above.
Link to the SDK repository
Download the demo APK
Source code for the demo application

Features#

Payment Initialization
Payment Cancellation
Payment Refund
Payment Clearing
Recurring Payments with Saved Cards
Fetching Payment Information/Status
Adding/Removing Cards
Payment with Saved Cards
Direct Debit Payments
Google Pay Integration

Installation#

 Add the Jitpack repositories to your build.gradle at the project level, at the end of the allprojects repositories
 Add to your build.gradle

SDK integration#

Initialization#

Add the PaymentView to your activity#

<money.paybox.payboxsdk.view.PaymentView
   android:id="@+id/paymentView"
   android:layout_width="match_parent"
   android:layout_height="match_parent"/>

Pass the instance of paymentView to the SDK#

To track the progress of loading the payment page, use WebListener#


SDK Configuration#

Test mode#

By default, test mode is enabled

Region selection#

Region.DEFAULT is the default value
 The Region class has the following values:
ParameterValue
DEFAULTKazakhstan and other countries of presence
RURussia
UZUzbekistan
KGKyrgyzstan

Payment System selection#

Payment currency selection#

Auto-clearing activation#

Encoding configuration#

By default, UTF-8

Lifetime of the recurring profile#

By default, 36 months (the parameter is excluded from the list when the value is 0)

Lifetime of the payment page, within which the payment must be completed#

By default, 300 seconds

Enabling recurring payment mode#

By default, it is false

Setup customer's phone#

 The customer's phone number will be displayed on the payment page. If not provided, the user will be prompted to enter it on the payment page.

Setup customer's email#

 The customer's email will be displayed on the payment page. If the email is not provided, the user will be prompted to enter it on the payment page.

Language of the payment page#

To transmit information from the payment gateway#

Display a Frame instead of the payment page#

By default, it is false

Working with the SDK#

Creating a payment#

 After calling it, the payment page will open in the paymentView.

Recurring payment#

Fetching the payment status#

Payment clearing#

 If null is specified instead of the clearing amount, the clearing will be processed for the full payment amount.

Payment cancellation#

Payment refund#

Saving the card#

 After calling it, the page to add a card will open in the paymentView.

Retrieve the list of saved cards#

Removing a saved card#

Creating a payment with a saved card#

The createCardPayment method using cardId is deprecated

Confirming the payment of a created payment#

 After calling it, the payment page for 3DS authentication will open in the paymentView.

Confirming the payment of a created payment with a direct debit (without acceptance)#


Google Pay Integration#

Add the dependency to your build.gradle#

Next, update the AndroidManifest#

<application>
   ...
   <!-- Enables the Google Pay API -->
   <meta-data android:name="com.google.android.gms.wallet.api.enabled"
       android:value="true" />
</application>  	

Add the PayButton to your XML#

<com.google.android.gms.wallet.button.PayButton
   android:id="@+id/buttonPaymentByGoogle"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   />

Initializing the payment button for Google Pay PayButton#

Initializing the PaymentsClient#

 Wallet.getPaymentsClient is the method to get an instance of PaymentsClient.
 Method Parameters:
ParameterValue
ENVIRONMENT_PRODUCTIONproduction environment
ENVIRONMENT_TESTtest environment
THEME_LIGHTlight theme

Creating a payment using Google Pay#

sdk.createGooglePayment— Creating a payment using Google Pay.
createPaymentDataRequest() — A method that returns a PaymentDataRequest object. This object defines the parameters and requirements for the payment data request, such as payment methods, shipping address, and more (the code is provided below).
loadPaymentData() — Initiates an asynchronous task to load payment data using the provided request.
AutoResolveHelper.resolveTask<PaymentData>()— A method used to handle the payment data loading task.
REQUEST_CODE— A request code used to identify the result of the task in the onActivityResult method.

The createPaymentDataRequest() method creates and returns a PaymentDataRequest object for use with the Google Pay API#

PaymentDataRequest.newBuilder() - Creates a new builder for the payment data request.
setTransactionInfo() - Sets transaction information, such as the total payment amount and currency code.
PaymentMethodTokenizationParameters.newBuilder() - Creates a builder for the payment method tokenization parameters.
setPaymentMethodTokenizationType() - Sets the tokenization type (in this case, a payment gateway).
addParameter() - Adds parameters for the payment gateway, such as gateway and gatewayMerchantId.
setPaymentMethodTokenizationParameters() - Sets the tokenization parameters in the payment data request.

Get the result in onActivityResult()#

onActivityResult - Used to handle the results returned by the Google Pay integration activity.
data - The object containing the data returned by the activity.
Activity.RESULT_OK - This constant indicates the successful completion of the operation.
AutoResolveHelper.RESULT_ERROR - This constant is used to indicate that an error occurred while resolving the request.

Payment confirmation#


Support#

If you have questions or need help, feel free to reach out! 👋
Email: support@freedompay.uz
Previous
iOS
Next
Reader SDK (Android)