![](https://i.imgur.com/ULmPUgP.jpg) :arrow_left: [На Головну](/Mj2ZqCVpSq6A6Jzm6ladlw) # SDK Android :::info [TOC] ::: ## Конфігурація проекту По перше, необхідно встановити параметр **minSdkVersion=28** в **build.gradle** та додати залежність: … ## Ініціалізація бібліотеки та здійснення платежу Для ініціалізації бібліотеки та здійснення платежу необхідно передати в клас **Builder** наступні параметри: **Kotlin** ``` val payment: XPayLibPayment = XPayLibPayment { this.partnerToken = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" this.transactionId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" this.googlePayGateway = "exampleGateway" this.googlePayGatewayMerchantId = "exampleMerchantId" this.terminalId = "111" this.payeeEmail = "test@test.com" this.payeePhone = "380xxxxxxxxx" this.payeeUserId = "1" this.payeeName = "Name" this.currency = "UAH" this.amount = 1.01 this.purpose = "purpose" this.order = "example order" this.site = "example site" this.showOrderDetails = true this.orderItemList = orderListData this.visualData = visual } ``` **Java** ``` XPayLibPayment payment = new XPayLibPayment.Builder() .setPartnerToken("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx") .setTransactionId("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx") .setGooglePayGateway("exampleGateway") .setGooglePayGatewayMerchantId("exampleMerchantId") .setTerminalId("111") .setPayeeEmail("test@test.com") .setPayeePhone("380xxxxxxxxx") .setPayeeUserId("1") .setPayeeName("Name") .setCurrency("UAH") .setAmount(1.01) .setPurpose("purpose") .setOrder("example order") .setSite("example site") .showOrderDetails(true) .setOrderList(orderListData) .setVisualData(visual) .build(); ``` де: * **orderItemList** - список товарів типу List<OrderItem>. * **OrderItem** - контейнер для опису одиниці товару. Конструктор даного класу приймає наступні параметри: - `orderItemTitle` типу *String* - назва товару, - `orderItemDescription` типу *String* - опис товару, - `price` типу *Double* - ціна товару. **Приклад створення списку товарів:** :::success **Kotlin** ``` val orderListData = listOf( OrderItem( "Apple iPad Pro 2022", "512Gb, WiFi, Silver", 1300.01 ), OrderItem( "Apple iPhone 14 Pro", с512Gb, Silver", 1300.01 ), ) ``` **Java** ``` List<OrderItem> orderListData = new ArrayList<>(); list.add(new OrderItem("MacBook Pro", "M2, 512Gb, Silver", 2500.99)); list.add(new OrderItem("MacBook Air", "M2, 256Gb, Silver", 1500.99)); ``` ::: Коли всі необхідні параметри встановлені, необхідно запустити платіжний екран: **Kotlin** ``` val requestCode = 123 payment.startPaymentFrom(this, requestCode) ``` **Java** ``` Int requestCode = 123; payment.startPaymentFrom(this, requestCode); ``` де: * **requestCode** - код, за яким необхідно визначати, що платіж завершений та можна повертатися до головного екрану додатка. Для цього необхідно в **Activity** (звідки був викликаний платіжний екран) реалізувати метод: **Kotlin** ``` override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == 13) { if (resultCode == RESULT_OK) { //TODO back to main screen } } } ``` **Java** ``` @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 13) { if (resultCode == RESULT_OK) { //TODO back to main screen } } } ``` ## Кастомізація **visualData** - обʼєкт класу VisualData, що відповідає за кастомізацію зовнішнього вигляду. Щоб створити обʼєкт **visualData** необхідно скористатися **Builder** класом: **Kotlin** ``` val visual = XPayLibVisual { this.orderItemCaptionColor = 0xFF111111 this.orderItemCaptionSize = 12 } ``` **Java** ``` VisualData visual = new XPayLibVisual.Builder() .setOrderItemCaptionColor(0xFF000000) .setOrderItemCaptionSize(12) .build(); ``` Усі доступні **параметри** приведені нижче: ``` orderScreenTitle типу String paymentScreenTitle типу String orderTotalToPayCaption типу String orderAmountCaption типу String orderCommissionCaption типу String orderPayButtonCaption типу String paymentPayButtonCaption типу String successfulBackToHomeScreenButtonCaption типу String successfulSendButtonCaption типу String unsuccessfulTryAnotherCardButtonCaption типу String paymentRemoveCardCaption типу String paymentRemoveCardSnackTitle типу String paymentSaveDialogCaption типу String paymentSaveCardCaption типу String paymentSaveDialogAction типу String paymentRemoveCardSnackAction типу String paymentAmountCaption типу String paymentMethodTitle типу String paymentMethodCardCaption типу String paymentMethodMyCardsCaption типу String successfulSuccessfulCaption типу String successfulReceiptByEmailCaption типу String paymentMethodGoogleCaption типу String successfulReceiptSentCaption типу String unsuccessfulOperationError типу String unsuccessfulRequestIdCaption типу String unsuccessfulReasonCaption типу String ``` **Кольори та розміри:** ``` screenTitleColor типу Long orderItemTitleColor типу Long orderItemTitleSize типу Int orderItemCaptionColor типу Long orderItemCaptionSize типу Int orderItemPriceColor типу Long orderItemPriceSize типу Int orderTotalPaymentCaptionColor типу Long orderTotalPaymentCaptionSize типу Int orderTotalPaymentPriceColor типу Long orderTotalPaymentPriceSize типу Int paymentAmountCaptionColor типу Long paymentAmountCaptionSize типу Int paymentAmountColor типу Long paymentAmountSize типу Int paymentMethodTitleColor типу Long paymentMethodTitleSize типу Int paymentMethodButtonCaptionColor типу Long paymentMethodButtonActivatedCaptionColor типу Long paymentMethodButtonCaptionSize типу Int paymentSaveCardCaptionColor типу Long paymentSaveCardCaptionSize типу Int paymentRemoveCardCaptionColor типу Long paymentRemoveCardBgColor типу Long paymentRemoveCardCaptionSize типу Int paymentResultTitleColor типу Long paymentResultTitleSize типу Int paymentErrorResultTitleColor типу Long paymentResultSubtitleColor типу Long paymentResultSubtitleSize типу Int paymentResultEmailTitleColor типу Long paymentResultEmailErrorColor типу Long paymentUnsuccessTableCaptionColor типу Long paymentUnsuccessTableValueColor типу Long paymentUnsuccessTableCaptionSize типу Int paymentUnsuccessTableValueSize типу Int buttonCaptionColor типу Long viewsMainDisabledBackgroundColor типу Long viewsMainBackgroundColor типу Long ``` ![](https://i.imgur.com/17gAyWb.png) :arrow_left: [На Головну](/Mj2ZqCVpSq6A6Jzm6ladlw) <details> <summary>Служба підтримки XPAY</summary> </br> Телефон: +38 093 891 92 00 Email: info@xpay.com.ua Telegram: @xpaysupportbot </details>