Adding phones, delivery and payment methods - rezolved/rezolve_sdk_sampleapp_android GitHub Wiki
Adding payment cards and delivery addresses is part of the payment flow. It requires payment module dependency:
dependencies {
def rezolveSdkVersion = "3.2.0"
implementation "com.rezolve.sdk:payment-android:$rezolveSdkVersion"
// ...
}
As mentioned in the previous section after session was established you can start to create, update get and delete various items. There's a direct dependency between some of them. To create PaymentCard
one of the required fields is addressId
. To get addressId
you first need to create an Address
, but to do that you need phoneId
, which is returned after phone
object is created.
Phone myPhone = new Phone();
myPhone.setName("User's phone");
myPhone.setPhone("+447400123456");
RezolveSDK.peekInstance().getRezolveSession().getPhonebookManager().create(myPhone, new PhonebookCallback() {
@Override
public void onPhonebookCreateSuccess(Phone phone) {
String phoneId = phone.getId();
}
@Override
public void onError(@NonNull RezolveError error) {
}
});
Address myAddress = new Address.Builder()
.line1("10 Downing Street")
.line2("optional line")
.zip("SW1A 2AA")
.city("London")
.country("United Kingdom")
.phoneId(phoneId)
.fullName("Boris Johnson")
.shortName("My Work Address")
.build();
RezolveSDK.peekInstance().getRezolveSession().getAddressbookManager().create(myAddress, new AddressbookCallback() {
@Override
public void onAddressbookCreateSuccess(Address address) {
String addressId = address.getId();
}
@Override
public void onError(@NonNull RezolveError error) {
}
});
String pan = "4000221111111111";
PaymentCard myCard = new PaymentCard.Builder()
.nameOnCard("John Doe")
.addressId(addressId)
.pan(pan)
.brand("VISA")
.shortName(pan.substring(pan.length() - 4))
.validFrom("0122") // MMYY
.expiresOn("1225") // MMYY
.type("credit")
.build();
RezolveSDK.peekInstance().getRezolveSession().getWalletManager().create(myCard, new WalletCallback() {
@Override
public void onWalletCreateSuccess(PaymentCard paymentCard) {
}
@Override
public void onError(@NonNull RezolveError error) {
}
});