From 687b92b38ea85376d061573fa4b7d7bc26fe8a04 Mon Sep 17 00:00:00 2001 From: Damilola Odujoko Date: Mon, 4 Mar 2024 12:21:03 +0100 Subject: [PATCH] Feat: Add Android SDK reference snippets --- .../android-sdk/builder-library-import.js | 5 +++ .../android-sdk/builder-library-usage.js | 11 ++++++ .../android-sdk/installation.js | 5 +++ .../android-sdk/payment-sheet-init.js | 14 +++++++ .../android-sdk/payment-sheet-launch.js | 8 ++++ .../android-sdk/payment-sheet-result-full.js | 39 +++++++++++++++++++ .../android-sdk/payment-sheet-result-init.js | 9 +++++ .../builder-library-import/config.yml | 3 ++ .../builder-library-import/index.java | 1 + .../builder-library-import/index.kt | 1 + .../builder-library-usage/config.yml | 3 ++ .../builder-library-usage/index.java | 4 ++ .../builder-library-usage/index.kt | 4 ++ .../android-sdk/installation/config.yml | 2 + .../android-sdk/installation/index.gradle | 3 ++ .../android-sdk/payment-sheet-init/config.yml | 3 ++ .../android-sdk/payment-sheet-init/index.java | 1 + .../android-sdk/payment-sheet-init/index.kt | 10 +++++ .../payment-sheet-launch/config.yml | 3 ++ .../payment-sheet-launch/index.java | 1 + .../android-sdk/payment-sheet-launch/index.kt | 4 ++ .../payment-sheet-result-full/config.yml | 3 ++ .../payment-sheet-result-full/index.java | 19 +++++++++ .../payment-sheet-result-full/index.kt | 17 ++++++++ .../payment-sheet-result-init/config.yml | 3 ++ .../payment-sheet-result-init/index.java | 1 + .../payment-sheet-result-init/index.kt | 5 +++ 27 files changed, 182 insertions(+) create mode 100644 dist/doc/developer-tools/android-sdk/builder-library-import.js create mode 100644 dist/doc/developer-tools/android-sdk/builder-library-usage.js create mode 100644 dist/doc/developer-tools/android-sdk/installation.js create mode 100644 dist/doc/developer-tools/android-sdk/payment-sheet-init.js create mode 100644 dist/doc/developer-tools/android-sdk/payment-sheet-launch.js create mode 100644 dist/doc/developer-tools/android-sdk/payment-sheet-result-full.js create mode 100644 dist/doc/developer-tools/android-sdk/payment-sheet-result-init.js create mode 100644 src/doc/developer-tools/android-sdk/builder-library-import/config.yml create mode 100644 src/doc/developer-tools/android-sdk/builder-library-import/index.java create mode 100644 src/doc/developer-tools/android-sdk/builder-library-import/index.kt create mode 100644 src/doc/developer-tools/android-sdk/builder-library-usage/config.yml create mode 100644 src/doc/developer-tools/android-sdk/builder-library-usage/index.java create mode 100644 src/doc/developer-tools/android-sdk/builder-library-usage/index.kt create mode 100644 src/doc/developer-tools/android-sdk/installation/config.yml create mode 100644 src/doc/developer-tools/android-sdk/installation/index.gradle create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-init/config.yml create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-init/index.java create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-init/index.kt create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-launch/config.yml create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-launch/index.java create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-launch/index.kt create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-result-full/config.yml create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-result-full/index.java create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-result-full/index.kt create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-result-init/config.yml create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-result-init/index.java create mode 100644 src/doc/developer-tools/android-sdk/payment-sheet-result-init/index.kt diff --git a/dist/doc/developer-tools/android-sdk/builder-library-import.js b/dist/doc/developer-tools/android-sdk/builder-library-import.js new file mode 100644 index 0000000..2e44d16 --- /dev/null +++ b/dist/doc/developer-tools/android-sdk/builder-library-import.js @@ -0,0 +1,5 @@ +const kt = `import com.paystack.android.core.Paystack` + +const java = `import com.paystack.android.core.Paystack;` + +export {kt, java} \ No newline at end of file diff --git a/dist/doc/developer-tools/android-sdk/builder-library-usage.js b/dist/doc/developer-tools/android-sdk/builder-library-usage.js new file mode 100644 index 0000000..56a4960 --- /dev/null +++ b/dist/doc/developer-tools/android-sdk/builder-library-usage.js @@ -0,0 +1,11 @@ +const kt = `Paystack.builder() + .setPublicKey("pk_domain_xxxxxxxx") + .setLoggingEnabled(true) + .build()` + +const java = `Paystack.builder() + .setPublicKey("pk_domain_xxxxxxxx") + .setLoggingEnabled(true) + .build();` + +export {kt, java} \ No newline at end of file diff --git a/dist/doc/developer-tools/android-sdk/installation.js b/dist/doc/developer-tools/android-sdk/installation.js new file mode 100644 index 0000000..93cb8c9 --- /dev/null +++ b/dist/doc/developer-tools/android-sdk/installation.js @@ -0,0 +1,5 @@ +const gradle = `dependencies { + implementation 'com.paystack.android:paystack-ui:0.0.5' +}` + +export {gradle} \ No newline at end of file diff --git a/dist/doc/developer-tools/android-sdk/payment-sheet-init.js b/dist/doc/developer-tools/android-sdk/payment-sheet-init.js new file mode 100644 index 0000000..08987cf --- /dev/null +++ b/dist/doc/developer-tools/android-sdk/payment-sheet-init.js @@ -0,0 +1,14 @@ +const kt = `private lateinit var paymentSheet: PaymentSheet + +override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + paymentSheet = PaymentSheet(this) { paymentResult -> + // Handle payment result here. + } + +}` + +const java = `// TODO: Add snippet` + +export {kt, java} \ No newline at end of file diff --git a/dist/doc/developer-tools/android-sdk/payment-sheet-launch.js b/dist/doc/developer-tools/android-sdk/payment-sheet-launch.js new file mode 100644 index 0000000..6146fc0 --- /dev/null +++ b/dist/doc/developer-tools/android-sdk/payment-sheet-launch.js @@ -0,0 +1,8 @@ +const kt = `fun startPayment() { + val accessCode = initializeTransactionOnServer() + paymentSheet.launch(accessCode) +}` + +const java = `// TODO: Add snippet` + +export {kt, java} \ No newline at end of file diff --git a/dist/doc/developer-tools/android-sdk/payment-sheet-result-full.js b/dist/doc/developer-tools/android-sdk/payment-sheet-result-full.js new file mode 100644 index 0000000..14055d8 --- /dev/null +++ b/dist/doc/developer-tools/android-sdk/payment-sheet-result-full.js @@ -0,0 +1,39 @@ +const kt = `private fun paymentComplete(paymentSheetResult: PaymentSheetResult ) { + val message = when (paymentSheetResult) { + PaymentSheetResult.Cancelled -> "Cancelled" + is PaymentSheetResult.Failed -> { + Log.e("Something went wrong", paymentSheetResult.error.message.orEmpty(), paymentSheetResult.error) + paymentSheetResult.error.message ?: "Failed" + } + + is PaymentSheetResult.Completed -> { + // Returns the transaction reference PaymentCompletionDetails(reference={TransactionRef}) + Log.d("Payment successful", paymentSheetResult.paymentCompletionDetails.toString()) + "Successful" + } + } + + Toast.makeText(this, "Payment $message", Toast.LENGTH_SHORT).show() +}` + +const java = `private void onPaymentResult(PaymentSheetResult paymentResult) { + String message; + if (paymentResult instanceof PaymentSheetResult.Cancelled) { + message = "Cancelled"; + } else if (paymentResult instanceof PaymentSheetResult.Failed) { + PaymentSheetResult.Failed failedResult = (PaymentSheetResult.Failed) paymentResult; + Log.e(TAG, failedResult.getError().getMessage() != null ? + failedResult.getError().getMessage() : "Failed", failedResult.getError()); + message = failedResult.getError().getMessage() != null ? + failedResult.getError().getMessage() : "Failed"; + } else if (paymentResult instanceof PaymentSheetResult.Completed) { + Log.d("Payment successful", paymentSheetResult.paymentCompletionDetails.toString()) + message = "Successful"; + } else { + message = ""; + } + + Toast.makeText(this, "Payment " + message, Toast.LENGTH_SHORT).show(); +}` + +export {kt, java} \ No newline at end of file diff --git a/dist/doc/developer-tools/android-sdk/payment-sheet-result-init.js b/dist/doc/developer-tools/android-sdk/payment-sheet-result-init.js new file mode 100644 index 0000000..bf2a9d2 --- /dev/null +++ b/dist/doc/developer-tools/android-sdk/payment-sheet-result-init.js @@ -0,0 +1,9 @@ +const kt = `import com.paystack.android_sdk.ui.paymentsheet.PaymentSheetResult + +private fun paymentComplete(paymentSheetResult: PaymentSheetResult ) { + +}` + +const java = `// TODO: Add snippet` + +export {kt, java} \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/builder-library-import/config.yml b/src/doc/developer-tools/android-sdk/builder-library-import/config.yml new file mode 100644 index 0000000..b0fe944 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/builder-library-import/config.yml @@ -0,0 +1,3 @@ +languages: + - kt + - java \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/builder-library-import/index.java b/src/doc/developer-tools/android-sdk/builder-library-import/index.java new file mode 100644 index 0000000..e999963 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/builder-library-import/index.java @@ -0,0 +1 @@ +import com.paystack.android.core.Paystack; \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/builder-library-import/index.kt b/src/doc/developer-tools/android-sdk/builder-library-import/index.kt new file mode 100644 index 0000000..ecaf562 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/builder-library-import/index.kt @@ -0,0 +1 @@ +import com.paystack.android.core.Paystack \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/builder-library-usage/config.yml b/src/doc/developer-tools/android-sdk/builder-library-usage/config.yml new file mode 100644 index 0000000..b0fe944 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/builder-library-usage/config.yml @@ -0,0 +1,3 @@ +languages: + - kt + - java \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/builder-library-usage/index.java b/src/doc/developer-tools/android-sdk/builder-library-usage/index.java new file mode 100644 index 0000000..2204f2d --- /dev/null +++ b/src/doc/developer-tools/android-sdk/builder-library-usage/index.java @@ -0,0 +1,4 @@ +Paystack.builder() + .setPublicKey("pk_domain_xxxxxxxx") + .setLoggingEnabled(true) + .build(); \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/builder-library-usage/index.kt b/src/doc/developer-tools/android-sdk/builder-library-usage/index.kt new file mode 100644 index 0000000..891046d --- /dev/null +++ b/src/doc/developer-tools/android-sdk/builder-library-usage/index.kt @@ -0,0 +1,4 @@ +Paystack.builder() + .setPublicKey("pk_domain_xxxxxxxx") + .setLoggingEnabled(true) + .build() \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/installation/config.yml b/src/doc/developer-tools/android-sdk/installation/config.yml new file mode 100644 index 0000000..59dd7d0 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/installation/config.yml @@ -0,0 +1,2 @@ +languages: + - gradle \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/installation/index.gradle b/src/doc/developer-tools/android-sdk/installation/index.gradle new file mode 100644 index 0000000..64dea88 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/installation/index.gradle @@ -0,0 +1,3 @@ +dependencies { + implementation 'com.paystack.android:paystack-ui:0.0.5' +} \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-init/config.yml b/src/doc/developer-tools/android-sdk/payment-sheet-init/config.yml new file mode 100644 index 0000000..b0fe944 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-init/config.yml @@ -0,0 +1,3 @@ +languages: + - kt + - java \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-init/index.java b/src/doc/developer-tools/android-sdk/payment-sheet-init/index.java new file mode 100644 index 0000000..d4c7a52 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-init/index.java @@ -0,0 +1 @@ +// TODO: Add snippet \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-init/index.kt b/src/doc/developer-tools/android-sdk/payment-sheet-init/index.kt new file mode 100644 index 0000000..2c959f6 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-init/index.kt @@ -0,0 +1,10 @@ +private lateinit var paymentSheet: PaymentSheet + +override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + paymentSheet = PaymentSheet(this) { paymentResult -> + // Handle payment result here. + } + +} \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-launch/config.yml b/src/doc/developer-tools/android-sdk/payment-sheet-launch/config.yml new file mode 100644 index 0000000..b0fe944 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-launch/config.yml @@ -0,0 +1,3 @@ +languages: + - kt + - java \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-launch/index.java b/src/doc/developer-tools/android-sdk/payment-sheet-launch/index.java new file mode 100644 index 0000000..d4c7a52 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-launch/index.java @@ -0,0 +1 @@ +// TODO: Add snippet \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-launch/index.kt b/src/doc/developer-tools/android-sdk/payment-sheet-launch/index.kt new file mode 100644 index 0000000..c1da841 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-launch/index.kt @@ -0,0 +1,4 @@ +fun startPayment() { + val accessCode = initializeTransactionOnServer() + paymentSheet.launch(accessCode) +} \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-result-full/config.yml b/src/doc/developer-tools/android-sdk/payment-sheet-result-full/config.yml new file mode 100644 index 0000000..b0fe944 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-result-full/config.yml @@ -0,0 +1,3 @@ +languages: + - kt + - java \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-result-full/index.java b/src/doc/developer-tools/android-sdk/payment-sheet-result-full/index.java new file mode 100644 index 0000000..64deba5 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-result-full/index.java @@ -0,0 +1,19 @@ +private void onPaymentResult(PaymentSheetResult paymentResult) { + String message; + if (paymentResult instanceof PaymentSheetResult.Cancelled) { + message = "Cancelled"; + } else if (paymentResult instanceof PaymentSheetResult.Failed) { + PaymentSheetResult.Failed failedResult = (PaymentSheetResult.Failed) paymentResult; + Log.e(TAG, failedResult.getError().getMessage() != null ? + failedResult.getError().getMessage() : "Failed", failedResult.getError()); + message = failedResult.getError().getMessage() != null ? + failedResult.getError().getMessage() : "Failed"; + } else if (paymentResult instanceof PaymentSheetResult.Completed) { + Log.d("Payment successful", paymentSheetResult.paymentCompletionDetails.toString()) + message = "Successful"; + } else { + message = ""; + } + + Toast.makeText(this, "Payment " + message, Toast.LENGTH_SHORT).show(); +} \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-result-full/index.kt b/src/doc/developer-tools/android-sdk/payment-sheet-result-full/index.kt new file mode 100644 index 0000000..802bcf4 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-result-full/index.kt @@ -0,0 +1,17 @@ +private fun paymentComplete(paymentSheetResult: PaymentSheetResult ) { + val message = when (paymentSheetResult) { + PaymentSheetResult.Cancelled -> "Cancelled" + is PaymentSheetResult.Failed -> { + Log.e("Something went wrong", paymentSheetResult.error.message.orEmpty(), paymentSheetResult.error) + paymentSheetResult.error.message ?: "Failed" + } + + is PaymentSheetResult.Completed -> { + // Returns the transaction reference PaymentCompletionDetails(reference={TransactionRef}) + Log.d("Payment successful", paymentSheetResult.paymentCompletionDetails.toString()) + "Successful" + } + } + + Toast.makeText(this, "Payment $message", Toast.LENGTH_SHORT).show() +} \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-result-init/config.yml b/src/doc/developer-tools/android-sdk/payment-sheet-result-init/config.yml new file mode 100644 index 0000000..b0fe944 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-result-init/config.yml @@ -0,0 +1,3 @@ +languages: + - kt + - java \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-result-init/index.java b/src/doc/developer-tools/android-sdk/payment-sheet-result-init/index.java new file mode 100644 index 0000000..d4c7a52 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-result-init/index.java @@ -0,0 +1 @@ +// TODO: Add snippet \ No newline at end of file diff --git a/src/doc/developer-tools/android-sdk/payment-sheet-result-init/index.kt b/src/doc/developer-tools/android-sdk/payment-sheet-result-init/index.kt new file mode 100644 index 0000000..5026993 --- /dev/null +++ b/src/doc/developer-tools/android-sdk/payment-sheet-result-init/index.kt @@ -0,0 +1,5 @@ +import com.paystack.android_sdk.ui.paymentsheet.PaymentSheetResult + +private fun paymentComplete(paymentSheetResult: PaymentSheetResult ) { + +} \ No newline at end of file