String merchantCode = "merchant_code"; // Liên hệ 9Pay để được cung cấp
String secretKey = "secret_key"; // Liên hệ 9Pay để được cung cấp
String uId = "0975998989"; // Có thể không cần truyền vào
String colorCode = "15AE62";
String flavorEnv = EnvironmentKey.SANDBOX; // EnvironmentKey.PRODUCTION
// Cấu hình khởi tạo
SdkConfig sdkConfig = new SdkConfig.Builder(this)
.merchantCode(merchantCode)
.secretKey(secretKey)
.uid(uId/or null)
.env(flavorEnv)
.brandColor(colorCode)
.build();
initSdk(sdkConfig);
private void initSdk(SdkConfig sdkConfig) {
// Hàm khởi tạo SDK, nó có nhiệm vụ khởi tạo và trả ra các callback tương ứng
// với mỗi dịch vụ mà user chọn hoặc thông tin cần thiết
NPayLibrary.getInstance().init(activity, sdkConfig, new NineLibListener() {
// Được gọi khi hàm NPayLibrary.getInstance().getUserInfo() được gọi để
//lấy thông tin user.
// Cần login trước khi lấy thông tin user, nếu không khi gọi
//NPayLibrary.getInstance().getUserInfo() sẽ trả về mã lỗi 403
@Override
public void getInfoSuccess(String jsonData) {
// Trả về một chuỗi thông tin của user bao gồm:
// Điện thoại đăng nhập, số dư, trạng thái eKYC, tên
}
// Lỗi xảy ra trong quá trình thanh toán
@Override
public void onError(int errorCode, String message) {
// Trả về mã lỗi và message
}
// Được gọi khi user tài khoản ví 9Pay đăng xuất (logout)
//or khi gọi NPayLibrary.getInstance().logout();
@Override
public void onLogoutSuccessful() {
}
// Được gọi lại khi SDK bị đóng bởi người dùng hoặc kết thúc quá trình
// thanh toán.
@Override
public void onCloseSDK() {
//update app merchant...
}
// Một chức năng đã được thực hiện hoàn thành
// Name: tên chức năng.
// status: Trạng thái (onSuccess, onFail)
// params: giá trị trả về (nếu có), mặc định null
@Override
public void sdkDidComplete(String name, Object status, @Nullable Object
params) {
//có thể dùng để update UI
}
// Người dùng di chuyển sang màn khác mà không thực hiện chức năng chính
// của màn hình đó (bỏ thanh toán, bỏ nhập OTP...).
// screen là màn hình người dùng đã bỏ qua.
@Override
public void backToAppFrom(String screen) {
}
});
}
String url = ""; // Url payment được tạo từ backend
String method = PaymentMethod.WALLET; // Phương thức thanh toán
// PaymentMethod.WALLET
// PaymentMethod.ATM_CARD
// PaymentMethod.CREDIT_CARD
// PaymentMethod.DEFAULT
boolean isShowResultScreen = true; // true : Hiển thị màn kết quả của SDK sau khi thanh toán, ngược lại false sẽ không hiển.
//code
NPayLibrary.getInstance().openPaymentOnSDK(url, method, isShowResultScreen);
NPayLibrary.getInstance().getUserInfo();
// Dữ liệu sẽ trả về trong callback ở hàm callback getInfoSuccess
// Trả về object UserInfo chứa thông tin:
// Số điện thoại đăng nhập, số dư, trạng thái eKYC, tên, ngân hàng liên kết.