From 3c7c0885f81889a852e983b2126a3b8476712e9b Mon Sep 17 00:00:00 2001 From: afiqmdali Date: Tue, 28 Jan 2025 13:34:02 +0800 Subject: [PATCH] add fields to authentication --- .../example/AuthenticationActivity.java | 69 ++++++++++--------- .../xendit/example/CreateTokenActivity.java | 2 +- .../com/xendit/example/StoreCvnActivity.java | 2 +- .../res/layout/activity_authentication.xml | 23 ++++++- .../androidTest/java/com/xendit/AuthTest.java | 2 +- 5 files changed, 61 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/xendit/example/AuthenticationActivity.java b/app/src/main/java/com/xendit/example/AuthenticationActivity.java index cf5e2b5..e70999e 100644 --- a/app/src/main/java/com/xendit/example/AuthenticationActivity.java +++ b/app/src/main/java/com/xendit/example/AuthenticationActivity.java @@ -28,8 +28,11 @@ public class AuthenticationActivity extends AppCompatActivity implements View.OnClickListener { + public static final String PUBLISHABLE_KEY = "xnd_public_development_D8wJuWpOY15JvjJyUNfCdDUTRYKGp8CSM3W0ST4d0N4CsugKyoGEIx6b84j1D7Pg"; + private EditText apiKeyEditText; private EditText tokenIdEditText; private EditText amountEditText; + private EditText currencyEditText; private EditText cardCvnEditText; private EditText cardHolderFirstNameEditText; private EditText cardHolderLastNameEditText; @@ -50,8 +53,10 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { setActionBarTitle("Authentication"); + apiKeyEditText = (EditText) findViewById(R.id.apiKeyEditText_AuthenticationActivity); tokenIdEditText = (EditText) findViewById(R.id.tokenIdEditText_AuthenticationActivity); amountEditText = (EditText) findViewById(R.id.amountEditText_AuthenticationActivity); + currencyEditText = (EditText) findViewById(R.id.currencyEditText_AuthenticationActivity); cardCvnEditText = (EditText) findViewById(R.id.cardCvnEditText_AuthenticationActivity); cardHolderFirstNameEditText = (EditText) findViewById(R.id.cardHolderFirstNameEditText_AuthenticationActivity); cardHolderLastNameEditText = (EditText) findViewById(R.id.cardHolderLastNameEditText_AuthenticationActivity); @@ -62,7 +67,9 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { authenticateBtn = (Button) findViewById(R.id.authenticateBtn_AuthenticationActivity); resultTextView = (TextView) findViewById(R.id.result_AuthenticationActivity); + apiKeyEditText.setText(PUBLISHABLE_KEY); amountEditText.setText(getString(R.string.amountTest)); + currencyEditText.setText(getString(R.string.currencyTest)); cardCvnEditText.setText(getString(R.string.cvnTest)); cardHolderFirstNameEditText.setText(R.string.cardHolderFirstNameTest); cardHolderLastNameEditText.setText(R.string.cardHolderLastNameTest); @@ -84,46 +91,42 @@ private void setActionBarTitle(String title) { @Override public void onClick(View view) { - Xendit xendit = new Xendit(getApplicationContext(), CreateTokenActivity.PUBLISHABLE_KEY, this); - + String apiKey = apiKeyEditText.getText().toString(); String tokenId = tokenIdEditText.getText().toString(); String amount = amountEditText.getText().toString(); + String currency = currencyEditText.getText().toString(); String cardCvn = cardCvnEditText.getText().toString(); String onBehalfOf = ""; String midLabel = midLabelText.getText().toString(); + Xendit xendit = new Xendit(getApplicationContext(), apiKey, this); + + AuthenticationCallback callback = new AuthenticationCallback() { + @Override + public void onSuccess(Authentication authentication) { + Gson gson = new Gson(); + AuthenticationResponse authenticationResponse = new AuthenticationResponse(authentication); + String json = gson.toJson(authenticationResponse); + resultTextView.setText(json); + Toast.makeText(AuthenticationActivity.this, "Status: " + authentication.getStatus(), Toast.LENGTH_SHORT).show(); + } + + @Override + public void onError(XenditError xenditError) { + String errorMessage = String.format("{ \"error_code\": \"%s\", \"message\": \"%s\" }", xenditError.getErrorCode(), xenditError.getErrorMessage()); + resultTextView.setText(errorMessage); + Toast.makeText(AuthenticationActivity.this, xenditError.getErrorCode(), Toast.LENGTH_SHORT).show(); + } + }; + if (midLabel.isBlank()){ - xendit.createAuthentication(tokenId, amount, "IDR", cardCvn, onBehalfOf, new AuthenticationCallback() { - @Override - public void onSuccess(Authentication authentication) { - Gson gson = new Gson(); - AuthenticationResponse authenticationResponse = new AuthenticationResponse(authentication); - String json = gson.toJson(authenticationResponse); - resultTextView.setText(json); - Toast.makeText(AuthenticationActivity.this, "Status: " + authentication.getStatus(), Toast.LENGTH_SHORT).show(); - } - - @Override - public void onError(XenditError xenditError) { - Toast.makeText(AuthenticationActivity.this, xenditError.getErrorCode(), Toast.LENGTH_SHORT).show(); - } - }); - } else { - xendit.createAuthentication(tokenId, amount, "IDR", cardCvn, onBehalfOf, midLabel ,new AuthenticationCallback() { - @Override - public void onSuccess(Authentication authentication) { - Gson gson = new Gson(); - AuthenticationResponse authenticationResponse = new AuthenticationResponse(authentication); - String json = gson.toJson(authenticationResponse); - resultTextView.setText(json); - Toast.makeText(AuthenticationActivity.this, "Status: " + authentication.getStatus(), Toast.LENGTH_SHORT).show(); - } - - @Override - public void onError(XenditError xenditError) { - Toast.makeText(AuthenticationActivity.this, xenditError.getErrorCode(), Toast.LENGTH_SHORT).show(); - } - }); + if (cardCvn.isBlank()) { + xendit.createAuthentication(tokenId, amount, currency, onBehalfOf, callback); + } else { + xendit.createAuthentication(tokenId, amount, currency, cardCvn, onBehalfOf, callback); + } + } else{ + xendit.createAuthentication(tokenId, amount, currency, cardCvn, onBehalfOf, midLabel , callback); } } diff --git a/app/src/main/java/com/xendit/example/CreateTokenActivity.java b/app/src/main/java/com/xendit/example/CreateTokenActivity.java index 7176e97..e03b8ad 100644 --- a/app/src/main/java/com/xendit/example/CreateTokenActivity.java +++ b/app/src/main/java/com/xendit/example/CreateTokenActivity.java @@ -37,7 +37,7 @@ public class CreateTokenActivity extends AppCompatActivity implements View.OnClickListener { - public static final String PUBLISHABLE_KEY = "xnd_public_development_O4uGfOR3gbOunJU4frcaHmLCYNLy8oQuknDm+R1r9G3S/b2lBQR+gQ=="; + public static final String PUBLISHABLE_KEY = "xnd_public_development_D8wJuWpOY15JvjJyUNfCdDUTRYKGp8CSM3W0ST4d0N4CsugKyoGEIx6b84j1D7Pg"; public static final String onBehalfOf = ""; private EditText apiKeyEditText; diff --git a/app/src/main/java/com/xendit/example/StoreCvnActivity.java b/app/src/main/java/com/xendit/example/StoreCvnActivity.java index 6fdc13c..45ac720 100644 --- a/app/src/main/java/com/xendit/example/StoreCvnActivity.java +++ b/app/src/main/java/com/xendit/example/StoreCvnActivity.java @@ -29,7 +29,7 @@ import com.xendit.utils.StoreCVNCallback; public class StoreCvnActivity extends AppCompatActivity implements View.OnClickListener { - public static final String DUMMY_PUBLISHABLE_KEY = "xnd_public_development_O4uGfOR3gbOunJU4frcaHmLCYNLy8oQuknDm+R1r9G3S/b2lBQR+gQ=="; + public static final String DUMMY_PUBLISHABLE_KEY = "xnd_public_development_D8wJuWpOY15JvjJyUNfCdDUTRYKGp8CSM3W0ST4d0N4CsugKyoGEIx6b84j1D7Pg"; private EditText tokenId; private EditText cardCVN; diff --git a/app/src/main/res/layout/activity_authentication.xml b/app/src/main/res/layout/activity_authentication.xml index 15bbf4a..8140829 100644 --- a/app/src/main/res/layout/activity_authentication.xml +++ b/app/src/main/res/layout/activity_authentication.xml @@ -5,6 +5,15 @@ android:background="@android:color/white" android:orientation="vertical"> + + + android:textColorHint="#cccccc" /> + +