3dsecure part 1
This commit is contained in:
32
.idea/assetWizardSettings.xml
generated
32
.idea/assetWizardSettings.xml
generated
@@ -1,32 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="WizardSettings">
|
|
||||||
<option name="children">
|
|
||||||
<map>
|
|
||||||
<entry key="vectorWizard">
|
|
||||||
<value>
|
|
||||||
<PersistentState>
|
|
||||||
<option name="children">
|
|
||||||
<map>
|
|
||||||
<entry key="vectorAssetStep">
|
|
||||||
<value>
|
|
||||||
<PersistentState>
|
|
||||||
<option name="values">
|
|
||||||
<map>
|
|
||||||
<entry key="assetSourceType" value="FILE" />
|
|
||||||
<entry key="outputName" value="ic_gift" />
|
|
||||||
<entry key="sourceFile" value="$USER_HOME$/Downloads/toxic-warning-sign.svg" />
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</PersistentState>
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</PersistentState>
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
BIN
.idea/caches/gradle_models.ser
generated
BIN
.idea/caches/gradle_models.ser
generated
Binary file not shown.
8
.idea/compiler.xml
generated
Normal file
8
.idea/compiler.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<annotationProcessing>
|
||||||
|
<profile default="true" name="Default" enabled="true" />
|
||||||
|
</annotationProcessing>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
.idea/gradle.xml
generated
6
.idea/gradle.xml
generated
@@ -8,12 +8,6 @@
|
|||||||
</compositeConfiguration>
|
</compositeConfiguration>
|
||||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
<option name="modules">
|
|
||||||
<set>
|
|
||||||
<option value="$PROJECT_DIR$" />
|
|
||||||
<option value="$PROJECT_DIR$/app" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
<option name="resolveModulePerSourceSet" value="false" />
|
<option name="resolveModulePerSourceSet" value="false" />
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
|
|||||||
35
.idea/misc.xml
generated
35
.idea/misc.xml
generated
@@ -1,40 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="NullableNotNullManager">
|
|
||||||
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
|
|
||||||
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
|
|
||||||
<option name="myNullables">
|
|
||||||
<value>
|
|
||||||
<list size="10">
|
|
||||||
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
|
|
||||||
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
|
|
||||||
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
|
|
||||||
<item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
|
|
||||||
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
|
|
||||||
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
|
|
||||||
<item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
|
|
||||||
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
|
|
||||||
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
|
|
||||||
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
|
|
||||||
</list>
|
|
||||||
</value>
|
|
||||||
</option>
|
|
||||||
<option name="myNotNulls">
|
|
||||||
<value>
|
|
||||||
<list size="9">
|
|
||||||
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
|
|
||||||
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
|
|
||||||
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
|
|
||||||
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
|
|
||||||
<item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
|
|
||||||
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
|
|
||||||
<item index="6" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
|
|
||||||
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
|
|
||||||
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
|
|
||||||
</list>
|
|
||||||
</value>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
2
.idea/vcs.xml
generated
2
.idea/vcs.xml
generated
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="VcsDirectoryMappings">
|
<component name="VcsDirectoryMappings">
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
<mapping directory="" vcs="Git" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -91,8 +91,8 @@ dependencies {
|
|||||||
implementation 'com.wdullaer:materialdatetimepicker:3.6.3'
|
implementation 'com.wdullaer:materialdatetimepicker:3.6.3'
|
||||||
implementation 'io.nlopez.smartlocation:library:3.3.3'
|
implementation 'io.nlopez.smartlocation:library:3.3.3'
|
||||||
implementation 'q.rorbin:badgeview:1.1.0'
|
implementation 'q.rorbin:badgeview:1.1.0'
|
||||||
implementation 'com.braintreepayments.api:braintree:2.13.1'
|
implementation 'com.braintreepayments.api:braintree:2.22.0'
|
||||||
implementation('com.braintreepayments.api:drop-in:3.1.0') {
|
implementation('com.braintreepayments.api:drop-in:3.7.1') {
|
||||||
exclude group: 'com.braintreepayments.api', module: 'braintree'
|
exclude group: 'com.braintreepayments.api', module: 'braintree'
|
||||||
}
|
}
|
||||||
implementation('com.crashlytics.sdk.android:crashlytics:2.9.4@aar') {
|
implementation('com.crashlytics.sdk.android:crashlytics:2.9.4@aar') {
|
||||||
|
|||||||
@@ -49,5 +49,6 @@ public class ApiEndPoints {
|
|||||||
public static final String API_CREATE_PAYMENT = PREFIX + "checkBrainTreePayment" + SUFFIX + "&token=";
|
public static final String API_CREATE_PAYMENT = PREFIX + "checkBrainTreePayment" + SUFFIX + "&token=";
|
||||||
public static final String API_REPEAT_ORDER = PREFIX + "reOrder" + SUFFIX + "&token=";
|
public static final String API_REPEAT_ORDER = PREFIX + "reOrder" + SUFFIX + "&token=";
|
||||||
public static final String API_CHECK_ORDER_PRICE = PREFIX + "checkOrderPrice" + SUFFIX + "&token=";
|
public static final String API_CHECK_ORDER_PRICE = PREFIX + "checkOrderPrice" + SUFFIX + "&token=";
|
||||||
|
public static final String API_CREATE_PAYMENT_TOKEN = PREFIX + "createPaymentToken" + SUFFIX + "&token=";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import ch.pizzapp.android.model.CheckCouponModel;
|
|||||||
import ch.pizzapp.android.model.CountryModel;
|
import ch.pizzapp.android.model.CountryModel;
|
||||||
import ch.pizzapp.android.model.DeleteAddressResponseModel;
|
import ch.pizzapp.android.model.DeleteAddressResponseModel;
|
||||||
import ch.pizzapp.android.model.PaymentMethodsResponseModel;
|
import ch.pizzapp.android.model.PaymentMethodsResponseModel;
|
||||||
|
import ch.pizzapp.android.model.PaymentTokenModel;
|
||||||
import ch.pizzapp.android.model.RemoveProductFromCartResponseModel;
|
import ch.pizzapp.android.model.RemoveProductFromCartResponseModel;
|
||||||
import ch.pizzapp.android.model.ShippingMethodModel;
|
import ch.pizzapp.android.model.ShippingMethodModel;
|
||||||
import ch.pizzapp.android.model.StoreInfoModel;
|
import ch.pizzapp.android.model.StoreInfoModel;
|
||||||
@@ -229,6 +230,8 @@ public interface ApiInterface {
|
|||||||
Call<ResponseObject> checkOrderPrice(@Url String url,
|
Call<ResponseObject> checkOrderPrice(@Url String url,
|
||||||
@FieldMap HashMap<String, Object> body);
|
@FieldMap HashMap<String, Object> body);
|
||||||
|
|
||||||
|
@GET
|
||||||
|
Call<ResponseObject<PaymentTokenModel>> createPaymentToken(@Url String url);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class ApiService {
|
|||||||
|
|
||||||
HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); // set your desired log level
|
HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); // set your desired log level
|
||||||
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
|
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
|
||||||
//builder.addInterceptor(logging);
|
builder.addInterceptor(logging);
|
||||||
|
|
||||||
OkHttpClient client = builder.build();
|
OkHttpClient client = builder.build();
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import ch.pizzapp.android.helper.PriceHelper;
|
|||||||
import ch.pizzapp.android.helper.SessionHelper;
|
import ch.pizzapp.android.helper.SessionHelper;
|
||||||
import ch.pizzapp.android.helper.SharedPrefsHelper;
|
import ch.pizzapp.android.helper.SharedPrefsHelper;
|
||||||
import ch.pizzapp.android.model.PaymentMethodModel;
|
import ch.pizzapp.android.model.PaymentMethodModel;
|
||||||
|
import ch.pizzapp.android.model.PaymentTokenModel;
|
||||||
import ch.pizzapp.android.model.StoreShiftModel;
|
import ch.pizzapp.android.model.StoreShiftModel;
|
||||||
import ch.pizzapp.android.model.StoreWorkDayModel;
|
import ch.pizzapp.android.model.StoreWorkDayModel;
|
||||||
import ch.pizzapp.android.model.cart.CartInfoModel;
|
import ch.pizzapp.android.model.cart.CartInfoModel;
|
||||||
@@ -93,6 +94,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
|||||||
private OrderPriceRecyclerAdapter orderPriceRecyclerAdapter;
|
private OrderPriceRecyclerAdapter orderPriceRecyclerAdapter;
|
||||||
private ProductOnOrderSummaryRecyclerAdapter productOnOrderSummaryRecyclerAdapter;
|
private ProductOnOrderSummaryRecyclerAdapter productOnOrderSummaryRecyclerAdapter;
|
||||||
private StoreShiftModel storeShiftModel;
|
private StoreShiftModel storeShiftModel;
|
||||||
|
private PaymentTokenModel braintreePaymentTokenModel;
|
||||||
|
|
||||||
public CreateOrderSummaryFragment() {}
|
public CreateOrderSummaryFragment() {}
|
||||||
|
|
||||||
@@ -121,7 +123,7 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
|||||||
if (resultCode == Activity.RESULT_OK) {
|
if (resultCode == Activity.RESULT_OK) {
|
||||||
DropInResult result = data.getParcelableExtra(DropInResult.EXTRA_DROP_IN_RESULT);
|
DropInResult result = data.getParcelableExtra(DropInResult.EXTRA_DROP_IN_RESULT);
|
||||||
createOrderActivity.setSelectedPaymentMethod(result.getPaymentMethodType());
|
createOrderActivity.setSelectedPaymentMethod(result.getPaymentMethodType());
|
||||||
createBraintreePayment(result);
|
//createBraintreePayment(result);
|
||||||
// use the result to update your UI and send the payment method nonce to your server
|
// use the result to update your UI and send the payment method nonce to your server
|
||||||
} else if (resultCode == Activity.RESULT_CANCELED) {
|
} else if (resultCode == Activity.RESULT_CANCELED) {
|
||||||
// the user canceled
|
// the user canceled
|
||||||
@@ -689,7 +691,6 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
|||||||
call.enqueue(new Callback<ResponseObject<CartInfoModel>>() {
|
call.enqueue(new Callback<ResponseObject<CartInfoModel>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(Call<ResponseObject<CartInfoModel>> call, Response<ResponseObject<CartInfoModel>> response) {
|
public void onResponse(Call<ResponseObject<CartInfoModel>> call, Response<ResponseObject<CartInfoModel>> response) {
|
||||||
DialogHelper.hideLoadingDialog();
|
|
||||||
if(response.isSuccessful() &&
|
if(response.isSuccessful() &&
|
||||||
response.body().getData() != null &&
|
response.body().getData() != null &&
|
||||||
response.body().isSuccess()){
|
response.body().isSuccess()){
|
||||||
@@ -700,9 +701,12 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
|||||||
cartTotalList.clear();
|
cartTotalList.clear();
|
||||||
cartTotalList.addAll(cartInfoModel.getTotalsList());
|
cartTotalList.addAll(cartInfoModel.getTotalsList());
|
||||||
orderPriceRecyclerAdapter.notifyDataSetChanged();
|
orderPriceRecyclerAdapter.notifyDataSetChanged();
|
||||||
|
createPaymentToken();
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
|
DialogHelper.hideLoadingDialog();
|
||||||
ApiErrorUtils.parseError(response);
|
ApiErrorUtils.parseError(response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -713,19 +717,55 @@ public class CreateOrderSummaryFragment extends CreateOrderBaseFragment {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void createPaymentToken(){
|
||||||
|
|
||||||
|
Call<ResponseObject<PaymentTokenModel>> call = ApiService.apiInterface.createPaymentToken(
|
||||||
|
"/" + SessionHelper.getSelectedStore().getStoreName() + ApiEndPoints.API_CREATE_PAYMENT_TOKEN + SessionHelper.getCustomerToken().getToken());
|
||||||
|
|
||||||
|
call.enqueue(new Callback<ResponseObject<PaymentTokenModel>>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ResponseObject<PaymentTokenModel>> call, Response<ResponseObject<PaymentTokenModel>> response) {
|
||||||
|
DialogHelper.hideLoadingDialog();
|
||||||
|
if(response.isSuccessful() &&
|
||||||
|
response.body().getData() != null &&
|
||||||
|
response.body().isSuccess()){
|
||||||
|
braintreePaymentTokenModel = response.body().getData();
|
||||||
|
Log.i("fuhrfuhruhfr", "fhurhfurfhurfh");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ApiErrorUtils.parseError(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ResponseObject<PaymentTokenModel>> call, Throwable t) {
|
||||||
|
DialogHelper.hideLoadingDialog();
|
||||||
|
DialogHelper.showFailedDialog();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void startBraintreePayment(){
|
private void startBraintreePayment(){
|
||||||
|
|
||||||
// CVV kodu default olarak gozukmuyor.
|
// CVV kodu default olarak gozukmuyor.
|
||||||
// Gozukmesi için braintree'ye login ol
|
// Gozukmesi için braintree'ye login ol
|
||||||
// Go to Settings --> Processing --> CVV --> Click on Edit --> Check option 'CVV not provided(l)', Enable option 'for any transaction'
|
// Go to Settings --> Processing --> CVV --> Click on Edit --> Check option 'CVV not provided(l)', Enable option 'for any transaction'
|
||||||
|
|
||||||
|
if(braintreePaymentTokenModel == null ||braintreePaymentTokenModel.getToken().isEmpty()){
|
||||||
|
DialogHelper.showAlertDialog(BaseActivity.currentActivity, getString(R.string.something_went_wrong));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String amountStringForBraintree = PriceHelper.removeCurrencyFromPrice(cartTotalList.get(cartTotalList.size() - 1).getText());
|
||||||
DropInRequest paymentRequest = new DropInRequest()
|
DropInRequest paymentRequest = new DropInRequest()
|
||||||
//.tokenizationKey(ApiConstants.BRAINTREE_TOKENIZATION_KEY_SANDBOX)
|
//.tokenizationKey(ApiConstants.BRAINTREE_TOKENIZATION_KEY_SANDBOX)
|
||||||
.tokenizationKey(ApiConstants.BRAINTREE_TOKENIZATION_KEY_PRODUCTION)
|
//.tokenizationKey(ApiConstants.BRAINTREE_TOKENIZATION_KEY_PRODUCTION)
|
||||||
//.clientToken("eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiI3NzY2ZmNmNTQ3MDc1YWMzMGZiNmIxMzU3MTI1ZTJmODc5YjM4MmNkOTcwYmYwZmYyNmQzMWJmNGRiYjI1MjQzfGNyZWF0ZWRfYXQ9MjAxOC0wNi0xM1QxODo1Mzo0Mi4wODA4MDc5MDQrMDAwMFx1MDAyNm1lcmNoYW50X2lkPTM0OHBrOWNnZjNiZ3l3MmJcdTAwMjZwdWJsaWNfa2V5PTJuMjQ3ZHY4OWJxOXZtcHIiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvMzQ4cGs5Y2dmM2JneXcyYi9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJjaGFsbGVuZ2VzIjpbXSwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzLzM0OHBrOWNnZjNiZ3l3MmIvY2xpZW50X2FwaSIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIiwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vb3JpZ2luLWFuYWx5dGljcy1zYW5kLnNhbmRib3guYnJhaW50cmVlLWFwaS5jb20vMzQ4cGs5Y2dmM2JneXcyYiJ9LCJ0aHJlZURTZWN1cmVFbmFibGVkIjp0cnVlLCJwYXlwYWxFbmFibGVkIjp0cnVlLCJwYXlwYWwiOnsiZGlzcGxheU5hbWUiOiJBY21lIFdpZGdldHMsIEx0ZC4gKFNhbmRib3gpIiwiY2xpZW50SWQiOm51bGwsInByaXZhY3lVcmwiOiJodHRwOi8vZXhhbXBsZS5jb20vcHAiLCJ1c2VyQWdyZWVtZW50VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3RvcyIsImJhc2VVcmwiOiJodHRwczovL2Fzc2V0cy5icmFpbnRyZWVnYXRld2F5LmNvbSIsImFzc2V0c1VybCI6Imh0dHBzOi8vY2hlY2tvdXQucGF5cGFsLmNvbSIsImRpcmVjdEJhc2VVcmwiOm51bGwsImFsbG93SHR0cCI6dHJ1ZSwiZW52aXJvbm1lbnROb05ldHdvcmsiOnRydWUsImVudmlyb25tZW50Ijoib2ZmbGluZSIsInVudmV0dGVkTWVyY2hhbnQiOmZhbHNlLCJicmFpbnRyZWVDbGllbnRJZCI6Im1hc3RlcmNsaWVudDMiLCJiaWxsaW5nQWdyZWVtZW50c0VuYWJsZWQiOnRydWUsIm1lcmNoYW50QWNjb3VudElkIjoiYWNtZXdpZGdldHNsdGRzYW5kYm94IiwiY3VycmVuY3lJc29Db2RlIjoiVVNEIn0sIm1lcmNoYW50SWQiOiIzNDhwazljZ2YzYmd5dzJiIiwidmVubW8iOiJvZmYifQ==")
|
//.clientToken("eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiI3NzY2ZmNmNTQ3MDc1YWMzMGZiNmIxMzU3MTI1ZTJmODc5YjM4MmNkOTcwYmYwZmYyNmQzMWJmNGRiYjI1MjQzfGNyZWF0ZWRfYXQ9MjAxOC0wNi0xM1QxODo1Mzo0Mi4wODA4MDc5MDQrMDAwMFx1MDAyNm1lcmNoYW50X2lkPTM0OHBrOWNnZjNiZ3l3MmJcdTAwMjZwdWJsaWNfa2V5PTJuMjQ3ZHY4OWJxOXZtcHIiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvMzQ4cGs5Y2dmM2JneXcyYi9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJjaGFsbGVuZ2VzIjpbXSwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzLzM0OHBrOWNnZjNiZ3l3MmIvY2xpZW50X2FwaSIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIiwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vb3JpZ2luLWFuYWx5dGljcy1zYW5kLnNhbmRib3guYnJhaW50cmVlLWFwaS5jb20vMzQ4cGs5Y2dmM2JneXcyYiJ9LCJ0aHJlZURTZWN1cmVFbmFibGVkIjp0cnVlLCJwYXlwYWxFbmFibGVkIjp0cnVlLCJwYXlwYWwiOnsiZGlzcGxheU5hbWUiOiJBY21lIFdpZGdldHMsIEx0ZC4gKFNhbmRib3gpIiwiY2xpZW50SWQiOm51bGwsInByaXZhY3lVcmwiOiJodHRwOi8vZXhhbXBsZS5jb20vcHAiLCJ1c2VyQWdyZWVtZW50VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3RvcyIsImJhc2VVcmwiOiJodHRwczovL2Fzc2V0cy5icmFpbnRyZWVnYXRld2F5LmNvbSIsImFzc2V0c1VybCI6Imh0dHBzOi8vY2hlY2tvdXQucGF5cGFsLmNvbSIsImRpcmVjdEJhc2VVcmwiOm51bGwsImFsbG93SHR0cCI6dHJ1ZSwiZW52aXJvbm1lbnROb05ldHdvcmsiOnRydWUsImVudmlyb25tZW50Ijoib2ZmbGluZSIsInVudmV0dGVkTWVyY2hhbnQiOmZhbHNlLCJicmFpbnRyZWVDbGllbnRJZCI6Im1hc3RlcmNsaWVudDMiLCJiaWxsaW5nQWdyZWVtZW50c0VuYWJsZWQiOnRydWUsIm1lcmNoYW50QWNjb3VudElkIjoiYWNtZXdpZGdldHNsdGRzYW5kYm94IiwiY3VycmVuY3lJc29Db2RlIjoiVVNEIn0sIm1lcmNoYW50SWQiOiIzNDhwazljZ2YzYmd5dzJiIiwidmVubW8iOiJvZmYifQ==")
|
||||||
//.amount("CHF1.0")
|
.clientToken(braintreePaymentTokenModel.getToken())
|
||||||
//.requestThreeDSecureVerification(true)
|
.requestThreeDSecureVerification(true)
|
||||||
|
.amount(amountStringForBraintree)
|
||||||
.disableAndroidPay()
|
.disableAndroidPay()
|
||||||
|
//.amount("1.00")
|
||||||
|
.requestThreeDSecureVerification(true)
|
||||||
.disableVenmo();
|
.disableVenmo();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package ch.pizzapp.android.model;
|
||||||
|
|
||||||
|
public class PaymentTokenModel {
|
||||||
|
|
||||||
|
private String token;
|
||||||
|
|
||||||
|
public String getToken() {
|
||||||
|
return token != null ? token : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToken(String token) {
|
||||||
|
this.token = token;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@ buildscript {
|
|||||||
maven { url 'https://maven.fabric.io/public' }
|
maven { url 'https://maven.fabric.io/public' }
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.3.0'
|
classpath 'com.android.tools.build:gradle:3.3.1'
|
||||||
classpath 'io.fabric.tools:gradle:1.+'
|
classpath 'io.fabric.tools:gradle:1.+'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
|
|||||||
Reference in New Issue
Block a user