Creating an Uber Clone - Part XXXII
Braintree cn1lib
© Codename One 2017 all rights reserved
public class PaymentService implements Purchase.Callback {
private String rideId;
private PaymentService(String rideId) {
this.rideId = rideId;
}
public static void sendPaymentAuthorization(String rideId) {
Purchase.startOrder(new PaymentService(rideId));
}
@Override
public void onPurchaseSuccess(String nonce) {
Log.p("Payment succeeded we got a nonce: " + nonce);
Rest.get(SERVER_URL + "pay/token").
acceptJson().
queryParam("ride", rideId).
queryParam("nonce", nonce).
getAsStringAsync(new Callback<Response<String>>() {
@Override
public void onSucess(Response<String> value) {
}
@Override
public void onError(Object sender, Throwable err, int errorCode, String
PaymentService
public class PaymentService implements Purchase.Callback {
private String rideId;
private PaymentService(String rideId) {
this.rideId = rideId;
}
public static void sendPaymentAuthorization(String rideId) {
Purchase.startOrder(new PaymentService(rideId));
}
@Override
public void onPurchaseSuccess(String nonce) {
Log.p("Payment succeeded we got a nonce: " + nonce);
Rest.get(SERVER_URL + "pay/token").
acceptJson().
queryParam("ride", rideId).
queryParam("nonce", nonce).
getAsStringAsync(new Callback<Response<String>>() {
@Override
public void onSucess(Response<String> value) {
}
@Override
public void onError(Object sender, Throwable err, int errorCode, String
PaymentService
public class PaymentService implements Purchase.Callback {
private String rideId;
private PaymentService(String rideId) {
this.rideId = rideId;
}
public static void sendPaymentAuthorization(String rideId) {
Purchase.startOrder(new PaymentService(rideId));
}
@Override
public void onPurchaseSuccess(String nonce) {
Log.p("Payment succeeded we got a nonce: " + nonce);
Rest.get(SERVER_URL + "pay/token").
acceptJson().
queryParam("ride", rideId).
queryParam("nonce", nonce).
getAsStringAsync(new Callback<Response<String>>() {
@Override
public void onSucess(Response<String> value) {
}
@Override
public void onError(Object sender, Throwable err, int errorCode, String
PaymentService
public void onSucess(Response<String> value) {
}
@Override
public void onError(Object sender, Throwable err, int errorCode, String errorMessage) {
Log.p("Payment server error!");
ToastBar.showErrorMessage("There was an error processing your payment: " + errorMessage);
}
});
}
@Override
public void onPurchaseFail(String a) {
Log.p("Payment failed!");
ToastBar.showErrorMessage("There was an error processing your payment: " + a);
}
@Override
public void onPurchaseCancel() {
Log.p("Purchase Canceled");
}
@Override
public String fetchToken() {
return Rest.get(SERVER_URL + "pay/token").
acceptJson().
getAsString().
getResponseData();
}
}
PaymentService
public void onSucess(Response<String> value) {
}
@Override
public void onError(Object sender, Throwable err, int errorCode, String errorMessage) {
Log.p("Payment server error!");
ToastBar.showErrorMessage("There was an error processing your payment: " + errorMessage);
}
});
}
@Override
public void onPurchaseFail(String a) {
Log.p("Payment failed!");
ToastBar.showErrorMessage("There was an error processing your payment: " + a);
}
@Override
public void onPurchaseCancel() {
Log.p("Purchase Canceled");
}
@Override
public String fetchToken() {
return Rest.get(SERVER_URL + "pay/token").
acceptJson().
getAsString().
getResponseData();
}
}
PaymentService
private void hailRideImpl(User car, final Container pinLayer) {
// snipped the top as the code is unchanged
Button ok = new Button("Pay With Cash", "BlackButton");
Button pay = new Button("Pay With Credit", "BlackButton");
Container dialog = BoxLayout.encloseY(driver, stars, ok, pay);
dialog.setUIID("SearchingDialog");
pinLayer.add(SOUTH, dialog);
revalidate();
ok.addActionListener(ee -> {
dialog.remove();
revalidate();
});
pay.addActionListener(ee -> {
dialog.remove();
revalidate();
PaymentService.sendPaymentAuthorization("" + car.currentRide.getLong());
});
}
hailRideImpl
private void hailRideImpl(User car, final Container pinLayer) {
// snipped the top as the code is unchanged
Button ok = new Button("Pay With Cash", "BlackButton");
Button pay = new Button("Pay With Credit", "BlackButton");
Container dialog = BoxLayout.encloseY(driver, stars, ok, pay);
dialog.setUIID("SearchingDialog");
pinLayer.add(SOUTH, dialog);
revalidate();
ok.addActionListener(ee -> {
dialog.remove();
revalidate();
});
pay.addActionListener(ee -> {
dialog.remove();
revalidate();
PaymentService.sendPaymentAuthorization("" + car.currentRide.getLong());
});
}
hailRideImpl

Creating an Uber Clone - Part XXXII.pdf

  • 1.
    Creating an UberClone - Part XXXII
  • 2.
    Braintree cn1lib © CodenameOne 2017 all rights reserved
  • 3.
    public class PaymentServiceimplements Purchase.Callback { private String rideId; private PaymentService(String rideId) { this.rideId = rideId; } public static void sendPaymentAuthorization(String rideId) { Purchase.startOrder(new PaymentService(rideId)); } @Override public void onPurchaseSuccess(String nonce) { Log.p("Payment succeeded we got a nonce: " + nonce); Rest.get(SERVER_URL + "pay/token"). acceptJson(). queryParam("ride", rideId). queryParam("nonce", nonce). getAsStringAsync(new Callback<Response<String>>() { @Override public void onSucess(Response<String> value) { } @Override public void onError(Object sender, Throwable err, int errorCode, String PaymentService
  • 4.
    public class PaymentServiceimplements Purchase.Callback { private String rideId; private PaymentService(String rideId) { this.rideId = rideId; } public static void sendPaymentAuthorization(String rideId) { Purchase.startOrder(new PaymentService(rideId)); } @Override public void onPurchaseSuccess(String nonce) { Log.p("Payment succeeded we got a nonce: " + nonce); Rest.get(SERVER_URL + "pay/token"). acceptJson(). queryParam("ride", rideId). queryParam("nonce", nonce). getAsStringAsync(new Callback<Response<String>>() { @Override public void onSucess(Response<String> value) { } @Override public void onError(Object sender, Throwable err, int errorCode, String PaymentService
  • 5.
    public class PaymentServiceimplements Purchase.Callback { private String rideId; private PaymentService(String rideId) { this.rideId = rideId; } public static void sendPaymentAuthorization(String rideId) { Purchase.startOrder(new PaymentService(rideId)); } @Override public void onPurchaseSuccess(String nonce) { Log.p("Payment succeeded we got a nonce: " + nonce); Rest.get(SERVER_URL + "pay/token"). acceptJson(). queryParam("ride", rideId). queryParam("nonce", nonce). getAsStringAsync(new Callback<Response<String>>() { @Override public void onSucess(Response<String> value) { } @Override public void onError(Object sender, Throwable err, int errorCode, String PaymentService
  • 6.
    public void onSucess(Response<String>value) { } @Override public void onError(Object sender, Throwable err, int errorCode, String errorMessage) { Log.p("Payment server error!"); ToastBar.showErrorMessage("There was an error processing your payment: " + errorMessage); } }); } @Override public void onPurchaseFail(String a) { Log.p("Payment failed!"); ToastBar.showErrorMessage("There was an error processing your payment: " + a); } @Override public void onPurchaseCancel() { Log.p("Purchase Canceled"); } @Override public String fetchToken() { return Rest.get(SERVER_URL + "pay/token"). acceptJson(). getAsString(). getResponseData(); } } PaymentService
  • 7.
    public void onSucess(Response<String>value) { } @Override public void onError(Object sender, Throwable err, int errorCode, String errorMessage) { Log.p("Payment server error!"); ToastBar.showErrorMessage("There was an error processing your payment: " + errorMessage); } }); } @Override public void onPurchaseFail(String a) { Log.p("Payment failed!"); ToastBar.showErrorMessage("There was an error processing your payment: " + a); } @Override public void onPurchaseCancel() { Log.p("Purchase Canceled"); } @Override public String fetchToken() { return Rest.get(SERVER_URL + "pay/token"). acceptJson(). getAsString(). getResponseData(); } } PaymentService
  • 8.
    private void hailRideImpl(Usercar, final Container pinLayer) { // snipped the top as the code is unchanged Button ok = new Button("Pay With Cash", "BlackButton"); Button pay = new Button("Pay With Credit", "BlackButton"); Container dialog = BoxLayout.encloseY(driver, stars, ok, pay); dialog.setUIID("SearchingDialog"); pinLayer.add(SOUTH, dialog); revalidate(); ok.addActionListener(ee -> { dialog.remove(); revalidate(); }); pay.addActionListener(ee -> { dialog.remove(); revalidate(); PaymentService.sendPaymentAuthorization("" + car.currentRide.getLong()); }); } hailRideImpl
  • 9.
    private void hailRideImpl(Usercar, final Container pinLayer) { // snipped the top as the code is unchanged Button ok = new Button("Pay With Cash", "BlackButton"); Button pay = new Button("Pay With Credit", "BlackButton"); Container dialog = BoxLayout.encloseY(driver, stars, ok, pay); dialog.setUIID("SearchingDialog"); pinLayer.add(SOUTH, dialog); revalidate(); ok.addActionListener(ee -> { dialog.remove(); revalidate(); }); pay.addActionListener(ee -> { dialog.remove(); revalidate(); PaymentService.sendPaymentAuthorization("" + car.currentRide.getLong()); }); } hailRideImpl