PAYable IPG SDK - android-ipg-sdk.payable.lk | Create Issue
- Add the below repository into your project level
settings.gradle
orbuild.gradle
file.
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Add the below dependency into your module level
build.gradle
file.
implementation 'com.github.payable:android-ipg-sdk:1.0.5'
1. Import PAYable IPG SDK package.
import com.payable.ipg.PAYableIPGClient;
import com.payable.ipg.model.IPGListener;
import com.payable.ipg.model.IPGPayment;
import com.payable.ipg.model.IPGStatusListener;
2. Create PAYable IPG client with PAYableIPGClient
.
PAYableIPGClient ipgClient = new PAYableIPGClient(
"YOUR_MERCHANT_KEY",
"YOUR_MERCHANT_TOKEN",
"YOUR_REQUEST_URL",
"YOUR_COMPANY_LOGO",
PAYableIPGClient.Environment.SANDBOX, // optional
true // optional
);
3. Prepare IPGPayment
to initiate the payment.
IPGPayment ipgPayment = new IPGPayment(
amount,
currency,
orderDescription,
customerFirstName,
customerLastName,
customerEmail,
customerMobilePhone,
billingAddressStreet,
billingAddressCity,
billingAddressCountry,
billingAddressPostcodeZip
);
4. Call startPayment
method from PAYableIPGClient
to perform the payment.
ipgClient.startPayment(activity, ipgPayment, new IPGListener() {
@Override
public void onPaymentPageLoaded(String uid) {
updateUI("onPaymentPageLoaded: " + uid);
}
@Override
public void onPaymentStarted() {
updateUI("onPaymentStarted");
}
@Override
public void onPaymentCancelled() {
updateUI("onPaymentCancelled");
}
@Override
public void onPaymentError(String data) {
updateUI("onPaymentError: " + data);
}
@Override
public void onPaymentCompleted(String data) {
updateUI("onPaymentCompleted: " + data);
}
});
public class MainActivityJava extends AppCompatActivity {
private ActivityMainJavaBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_main_java);
PAYableIPGClient ipgClient = new PAYableIPGClient(
"KEY",
"TOKEN",
"URL",
"LOGO",
PAYableIPGClient.Environment.SANDBOX,
true
);
IPGPayment ipgPayment = new IPGPayment(
10.00,
"LKR",
"Netflix",
"Aslam",
"Kasun",
"[email protected]",
"0771234567",
"Hill Street",
"Dehiwala",
"LK",
"10350"
);
ipgClient.startPayment(this, ipgPayment, new IPGListener() {
@Override
public void onPaymentPageLoaded(String uid) {
updateUI("onPaymentPageLoaded: " + uid);
}
@Override
public void onPaymentStarted() {
updateUI("onPaymentStarted");
}
@Override
public void onPaymentCancelled() {
updateUI("onPaymentCancelled");
}
@Override
public void onPaymentError(String data) {
updateUI("onPaymentError: " + data);
}
@Override
public void onPaymentCompleted(String data) {
updateUI("onPaymentCompleted: " + data);
try {
JSONObject jsonObject = new JSONObject(data);
ipgClient.getStatus(getApplicationContext(), jsonObject.getString("uid"), jsonObject.getString("resultIndicator"), new IPGStatusListener() {
@Override
public void onResponse(String data) {
updateUI("onResponse: " + data);
}
});
} catch (JSONException ex) {
ex.printStackTrace();
}
}
});
}
private void updateUI(String message) {
binding.textViewResponse.setText(message + "\n" + binding.textViewResponse.getText().toString());
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}
1. Pay with session uid
without merchantKey
and merchantToken
.
ipgClient.startPayment(activity, uid, new IPGListener() {
@Override
public void onPaymentPageLoaded(String uid) {
}
@Override
public void onPaymentStarted() {
}
@Override
public void onPaymentCancelled() {
}
@Override
public void onPaymentError(String data) {
}
@Override
public void onPaymentCompleted(String data) {
}
});
2. Check the status of the transaction using uid
and resultIndicator
.
ipgClient.getStatus(activity, uid, resultIndicator, new IPGStatusListener() {
@Override
public void onResponse(String data) {
updateUI("onResponse: " + data);
}
});
This document contains all the HTTP APIs used in this package.
PAYable IPG SDK - Android Integration