{"title":"BLIK iOS Component","category":"default","creationDate":1776961628,"content":"<p>This page explains how to add BLIK to your existing iOS Components integration.<\/p>\n<h2>Requirements<\/h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that you have built your <a href=\"\/pt\/online-payments\/build-your-integration\/sessions-flow?platform=iOS&amp;integration=Components%2F%3Ftarget%3D_blank\">Components integration<\/a>. <br> <p>BLIK for iOS requires at least v3.8.0 of Components. For more information, refer to <a href=\"\/pt\/online-payments\/release-notes\" target=\"_blank\">Release notes<\/a>.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">Before you begin, <a href=\"\/pt\/payment-methods\/add-payment-methods\">add BLIK in your test Customer Area<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Component configuration<\/h2>\n<h3>v5.0.0 or later<\/h3>\n<p>If your integration uses iOS Components v5.0.0 or later, configure and create an instance of the BLIK Component:<\/p>\n\n<div id=\"tabcKIMv\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;\\\/sessions&quot;,&quot;content&quot;:&quot;\\n  &lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Component configuration&#039;\\&quot; :id=\\&quot;&#039;presentable_component_sessions&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;swift\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;let paymentMethods = session.sessionContext.paymentMethods\\\\n\\\\\\\/\\\\\\\/ Check that the payment method is supported before showing the Component.\\\\nguard let paymentMethod = paymentMethods.paymentMethod(ofType: BLIKPaymentMethod.self) else { return }\\\\nlet configuration = BLIKComponent.Configuration()\\\\nlet component = BLIKComponent(paymentMethod: paymentMethod,\\\\n                                         context: context,\\\\n                                         configuration: configuration)\\\\nself.currentComponent = component\\\\n\\\\\\\/\\\\\\\/ Set the session as the delegate.\\\\ncomponent.delegate = session\\\\npresent(component)\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n    &quot;,&quot;altTitle&quot;:&quot;sessions-5-config&quot;,&quot;oldTabId&quot;:&quot;sessions-5-config_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Advanced flow&quot;,&quot;content&quot;:&quot;\\n  &lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Component configuration&#039;\\&quot; :id=\\&quot;&#039;presentable_component_advanced&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;swift\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;\\\\\\\/\\\\\\\/ Check that the payment method is supported before showing the Component.\\\\nguard let paymentMethod = paymentMethods.paymentMethod(ofType: BLIKPaymentMethod.self) else { return }\\\\nlet configuration = BLIKComponent.Configuration()\\\\nlet component = BLIKComponent(paymentMethod: paymentMethod,\\\\n                                         context: context,\\\\n                                         configuration: configuration)\\\\nself.currentComponent = component\\\\n\\\\\\\/\\\\\\\/ Set the component as the delegate.\\\\ncomponent.delegate = self\\\\npresent(component)\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n    &quot;,&quot;altTitle&quot;:&quot;advanced-5-config&quot;,&quot;oldTabId&quot;:&quot;advanced-5-config_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h3>v4.x.x<\/h3>\n<p>If your integration uses an earlier version of iOS Components:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Component configuration'\" :id=\"''\" :code-data='[{\"language\":\"swift\",\"tabTitle\":\"\",\"content\":\"\\\/\\\/ Check that the payment method is supported before showing the Component.\\nguard let paymentMethod = paymentMethods.paymentMethod(ofType: BLIKPaymentMethod.self) else { return }\\nlet style = FormComponentStyle()\\nlet component = BLIKComponent(paymentMethod: paymentMethod,\\n                                apiContext: context,\\n                                style: style)\\npresent(component)\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>There are no configuration steps specific to BLIK required for Components.<\/p>\n<h2>API reference<\/h2>\n<p>Include fields for the endpoint you integrated:<\/p>\n\n<div id=\"tabuIEMD\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;&lt;code&gt;\\\/sessions&lt;\\\/code&gt;&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;You do not need to send additional fields for BLIK. To see optional fields that you can send for all payment methods, see:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/sessions\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/sessions&lt;\\\/a&gt;&amp;#58; This is the default with &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/build-your-integration\\\/sessions-flow?platform=iOS&amp;amp;integration=Components\\&quot;&gt;Components v5.0.0&lt;\\\/a&gt; or later.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;h2&gt;Test and go live&lt;\\\/h2&gt;\\n&lt;p&gt;To test a BLIK with code payment:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;Use BLIK code 777213.&lt;\\\/li&gt;\\n&lt;li&gt;Make sure your implementation satisfies BLIK\\u2019s guidelines.&lt;\\\/li&gt;\\n&lt;li&gt;Test your integration end-to-end.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;h3&gt;Going live&lt;\\\/h3&gt;\\n&lt;p&gt;Before you can accept live BLIK payments, you need to add BLIK in your live Customer Area.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:&quot;sessions&quot;,&quot;oldTabId&quot;:&quot;sessions-api_1&quot;,&quot;relation&quot;:&quot;sessions&quot;},{&quot;title&quot;:&quot;&lt;code&gt;\\\/payments&lt;\\\/code&gt;&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;You must include the following additional fields when making a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request with BLIK:&lt;\\\/p&gt;\\n&lt;div class=\\&quot;accordion-shortcode adl-accordion adl-accordion--max-height-transition\\&quot; data-expand=\\&quot;true\\&quot; data-ignore=\\&quot;anchorjs-link\\&quot;&gt;\\n    \\n    &lt;div class=\\&quot;adl-accordion__item\\&quot; style=\\&quot;\\&quot;&gt;\\n        &lt;div tabindex=\\&quot;0\\&quot; role=\\&quot;item\\&quot; aria-expanded=\\&quot;false\\&quot; class=\\&quot;adl-accordion__header\\&quot;&gt;\\n            &lt;i class=\\&quot;adl-accordion__toggle adl-icon-chevron-down\\&quot;&gt;&lt;\\\/i&gt;\\n            &lt;div class=\\&quot;adl-accordion__title-wrapper\\&quot; data-accordion=\\&quot;#blik-with-code\\&quot;&gt;\\n                                    &lt;h4 class=\\&quot;adl-accordion__title\\&quot;&gt;BLIK with code&lt;\\\/h4&gt;\\n                            &lt;\\\/div&gt;\\n        &lt;\\\/div&gt;\\n        &lt;div role=\\&quot;region\\&quot; class=\\&quot;adl-accordion__content\\&quot;&gt;\\n            \\n&lt;p&gt;To show BLIK in your payment form, you need to:&lt;\\\/p&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Show BLIK as an available payment method.&lt;\\\/li&gt;\\n&lt;li&gt;Include a field where the shopper can enter the &lt;code&gt;blikCode&lt;\\\/code&gt; for their corresponding payment.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;p&gt;In your  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paymentMethods&lt;\\\/a&gt; request, specify:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;countryCode&lt;\\\/a&gt;&amp;colon; &lt;strong&gt;PL&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods#request-amount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;amount.currency&lt;\\\/a&gt;&amp;colon; &lt;strong&gt;PLN&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods#request-amount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;amount.value&lt;\\\/a&gt;&amp;colon; The value of the payment, in minor units.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The response contains &lt;code&gt;paymentMethod.type&lt;\\\/code&gt;: &lt;strong&gt;blik&lt;\\\/strong&gt;. The response contains &lt;code&gt;paymentMethod.type&lt;\\\/code&gt;: &lt;strong&gt;blik&lt;\\\/strong&gt; and &lt;code&gt;storedPaymentMethods.type&lt;\\\/code&gt;: &lt;strong&gt;blik&lt;\\\/strong&gt; (if your shopper already signed up for BLIK One Click in one of the previous BLIK transactions).&lt;\\\/p&gt;\\n&lt;h2 id=\\&quot;make-payment\\&quot;&gt;Make a payment&lt;\\\/h2&gt;\\n&lt;p&gt;In your  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request, specify:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;paymentMethod.type&lt;\\\/code&gt;: &lt;strong&gt;blik&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;paymentMethod.blikCode&lt;\\\/code&gt;: The 6-digit &lt;code&gt;blikCode&lt;\\\/code&gt; that the shopper entered at checkout.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;&#039;\\&quot; :id=\\&quot;&#039;blik-payments&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;curl&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v68\\\\\\\/payments \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;:\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;:{\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;PLN\\\\&amp;quot;,\\\\n      \\\\&amp;quot;value\\\\&amp;quot;:1000\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;:{\\\\n      \\\\&amp;quot;type\\\\&amp;quot;:\\\\&amp;quot;blik\\\\&amp;quot;,\\\\n      \\\\&amp;quot;blikCode\\\\&amp;quot;:\\\\&amp;quot;777987\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;countryCode\\\\&amp;quot;:\\\\&amp;quot;PL\\\\&amp;quot;\\\\n}&#039;&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;java&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Java&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Java API Library v27.0.0\\\\nimport com.adyen.Client;\\\\nimport com.adyen.enums.Environment;\\\\nimport com.adyen.model.checkout.*;\\\\nimport java.time.OffsetDateTime;\\\\nimport java.util.*;\\\\nimport com.adyen.model.RequestOptions;\\\\nimport com.adyen.service.checkout.*;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nClient client = new Client(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, Environment.TEST);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount()\\\\n  .currency(\\\\&amp;quot;PLN\\\\&amp;quot;)\\\\n  .value(1000L);\\\\n\\\\nBlikDetails blikDetails = new BlikDetails()\\\\n  .type(BlikDetails.TypeEnum.BLIK)\\\\n  .blikCode(\\\\&amp;quot;777987\\\\&amp;quot;);\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest()\\\\n  .reference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  .amount(amount)\\\\n  .merchantAccount(\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  .countryCode(\\\\&amp;quot;PL\\\\&amp;quot;)\\\\n  .paymentMethod(new CheckoutPaymentMethod(blikDetails));\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nPaymentsApi service = new PaymentsApi(client);\\\\nPaymentResponse response = service.payments(paymentRequest, new RequestOptions().idempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;));&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;php&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;PHP&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen PHP API Library v19.0.0\\\\nuse Adyen\\\\\\\\Client;\\\\nuse Adyen\\\\\\\\Environment;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\Amount;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\CheckoutPaymentMethod;\\\\nuse Adyen\\\\\\\\Model\\\\\\\\Checkout\\\\\\\\PaymentRequest;\\\\nuse Adyen\\\\\\\\Service\\\\\\\\Checkout\\\\\\\\PaymentsApi;\\\\n\\\\n$client = new Client();\\\\n$client-&amp;gt;setXApiKey(\\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;);\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\n$client-&amp;gt;setEnvironment(Environment::TEST);\\\\n\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\n$amount = new Amount();\\\\n$amount\\\\n  -&amp;gt;setCurrency(\\\\&amp;quot;PLN\\\\&amp;quot;)\\\\n  -&amp;gt;setValue(1000);\\\\n\\\\n$checkoutPaymentMethod = new CheckoutPaymentMethod();\\\\n$checkoutPaymentMethod\\\\n  -&amp;gt;setType(\\\\&amp;quot;blik\\\\&amp;quot;)\\\\n  -&amp;gt;setBlikCode(\\\\&amp;quot;777987\\\\&amp;quot;);\\\\n\\\\n$paymentRequest = new PaymentRequest();\\\\n$paymentRequest\\\\n  -&amp;gt;setReference(\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;)\\\\n  -&amp;gt;setAmount($amount)\\\\n  -&amp;gt;setMerchantAccount(\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;)\\\\n  -&amp;gt;setCountryCode(\\\\&amp;quot;PL\\\\&amp;quot;)\\\\n  -&amp;gt;setPaymentMethod($checkoutPaymentMethod);\\\\n\\\\n$requestOptions[&#039;idempotencyKey&#039;] = &#039;UUID&#039;;\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\n$service = new PaymentsApi($client);\\\\n$response = $service-&amp;gt;payments($paymentRequest, $requestOptions);&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;cs&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;C#&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen .net API Library v17.0.0\\\\nusing Adyen;\\\\nusing Environment = Adyen.Model.Environment;\\\\nusing Adyen.Model;\\\\nusing Adyen.Model.Checkout;\\\\nusing Adyen.Service.Checkout;\\\\n\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nvar config = new Config()\\\\n{\\\\n    XApiKey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n    Environment = Environment.Test\\\\n};\\\\nvar client = new Client(config);\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nAmount amount = new Amount\\\\n{\\\\n  Currency = \\\\&amp;quot;PLN\\\\&amp;quot;,\\\\n  Value = 1000\\\\n};\\\\n\\\\nBlikDetails blikDetails = new BlikDetails\\\\n{\\\\n  Type = BlikDetails.TypeEnum.Blik,\\\\n  BlikCode = \\\\&amp;quot;777987\\\\&amp;quot;\\\\n};\\\\n\\\\nPaymentRequest paymentRequest = new PaymentRequest\\\\n{\\\\n  Reference = \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount = amount,\\\\n  MerchantAccount = \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  CountryCode = \\\\&amp;quot;PL\\\\&amp;quot;,\\\\n  PaymentMethod = new CheckoutPaymentMethod(blikDetails)\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nvar service = new PaymentsService(client);\\\\nvar response = service.Payments(paymentRequest, requestOptions: new RequestOptions { IdempotencyKey = \\\\&amp;quot;UUID\\\\&amp;quot;});&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;js&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (JavaScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v18.0.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nconst { Client, CheckoutAPI } = require(&#039;@adyen\\\\\\\/api-library&#039;);\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst paymentRequest = {\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  amount: {\\\\n    currency: \\\\&amp;quot;PLN\\\\&amp;quot;,\\\\n    value: 1000\\\\n  },\\\\n  paymentMethod: {\\\\n    type: \\\\&amp;quot;blik\\\\&amp;quot;,\\\\n    blikCode: \\\\&amp;quot;777987\\\\&amp;quot;\\\\n  },\\\\n  countryCode: \\\\&amp;quot;PL\\\\&amp;quot;\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;go&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Go&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Go API Library v10.4.0\\\\nimport (\\\\n  \\\\&amp;quot;context\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/common\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/adyen\\\\&amp;quot;\\\\n  \\\\&amp;quot;github.com\\\\\\\/adyen\\\\\\\/adyen-go-api-library\\\\\\\/v9\\\\\\\/src\\\\\\\/checkout\\\\&amp;quot;\\\\n)\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nclient := adyen.NewClient(&amp;amp;common.Config{\\\\n  ApiKey:      \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;,\\\\n  Environment: common.TestEnv,\\\\n})\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\namount := checkout.Amount{\\\\n  Currency: \\\\&amp;quot;PLN\\\\&amp;quot;,\\\\n  Value: 1000,\\\\n}\\\\n\\\\nblikDetails := checkout.BlikDetails{\\\\n  Type: common.PtrString(\\\\&amp;quot;blik\\\\&amp;quot;),\\\\n  BlikCode: common.PtrString(\\\\&amp;quot;777987\\\\&amp;quot;),\\\\n}\\\\n\\\\npaymentRequest := checkout.PaymentRequest{\\\\n  Reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  Amount: amount,\\\\n  MerchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  CountryCode: common.PtrString(\\\\&amp;quot;PL\\\\&amp;quot;),\\\\n  PaymentMethod: checkout.BlikDetailsAsCheckoutPaymentMethod(&amp;amp;blikDetails),\\\\n}\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nservice := client.Checkout()\\\\nreq := service.PaymentsApi.PaymentsInput().IdempotencyKey(\\\\&amp;quot;UUID\\\\&amp;quot;).PaymentRequest(paymentRequest)\\\\nres, httpRes, err := service.PaymentsApi.Payments(context.Background(), req)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;py&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Python API Library v12.5.1\\\\nimport Adyen\\\\n\\\\nadyen = Adyen.Adyen()\\\\nadyen.client.xapikey = \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;\\\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nadyen.client.platform = \\\\&amp;quot;test\\\\&amp;quot; # The environment to use library in.\\\\n\\\\n# Create the request object(s)\\\\njson_request = {\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;currency\\\\&amp;quot;: \\\\&amp;quot;PLN\\\\&amp;quot;,\\\\n    \\\\&amp;quot;value\\\\&amp;quot;: 1000\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;: {\\\\n    \\\\&amp;quot;type\\\\&amp;quot;: \\\\&amp;quot;blik\\\\&amp;quot;,\\\\n    \\\\&amp;quot;blikCode\\\\&amp;quot;: \\\\&amp;quot;777987\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;countryCode\\\\&amp;quot;: \\\\&amp;quot;PL\\\\&amp;quot;\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.payments(request=json_request, idempotency_key=\\\\&amp;quot;UUID\\\\&amp;quot;)&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;rb&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;Ruby&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;# Adyen Ruby API Library v9.5.1\\\\nrequire \\\\&amp;quot;adyen-ruby-api-library\\\\&amp;quot;\\\\n\\\\nadyen = Adyen::Client.new\\\\nadyen.api_key = &#039;ADYEN_API_KEY&#039;\\\\n# For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nadyen.env = :test # Set to \\\\&amp;quot;live\\\\&amp;quot; for live environment\\\\n\\\\n# Create the request object(s)\\\\nrequest_body = {\\\\n  :merchantAccount =&amp;gt; &#039;ADYEN_MERCHANT_ACCOUNT&#039;,\\\\n  :reference =&amp;gt; &#039;YOUR_ORDER_NUMBER&#039;,\\\\n  :amount =&amp;gt; {\\\\n    :currency =&amp;gt; &#039;PLN&#039;,\\\\n    :value =&amp;gt; 1000\\\\n  },\\\\n  :paymentMethod =&amp;gt; {\\\\n    :type =&amp;gt; &#039;blik&#039;,\\\\n    :blikCode =&amp;gt; &#039;777987&#039;\\\\n  },\\\\n  :countryCode =&amp;gt; &#039;PL&#039;\\\\n}\\\\n\\\\n# Send the request\\\\nresult = adyen.checkout.payments_api.payments(request_body, headers: { &#039;Idempotency-Key&#039; =&amp;gt; &#039;UUID&#039; })&amp;quot;},{&amp;quot;language&amp;quot;:&amp;quot;ts&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;NodeJS (TypeScript)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\\\\/\\\\\\\/ Adyen Node API Library v18.0.0\\\\n\\\\\\\/\\\\\\\/ Require the parts of the module you want to use\\\\nimport { Client, CheckoutAPI, Types } from \\\\&amp;quot;@adyen\\\\\\\/api-library\\\\&amp;quot;;\\\\n\\\\\\\/\\\\\\\/ Initialize the client object\\\\n\\\\\\\/\\\\\\\/ For the live environment, additionally include your liveEndpointUrlPrefix.\\\\nconst client = new Client({apiKey: \\\\&amp;quot;ADYEN_API_KEY\\\\&amp;quot;, environment: \\\\&amp;quot;TEST\\\\&amp;quot;});\\\\n\\\\n\\\\\\\/\\\\\\\/ Create the request object(s)\\\\nconst amount: Types.checkout.Amount = {\\\\n  currency: \\\\&amp;quot;PLN\\\\&amp;quot;,\\\\n  value: 1000\\\\n};\\\\n\\\\nconst blikDetails: Types.checkout.BlikDetails = {\\\\n  type: Types.checkout.BlikDetails.TypeEnum.Blik,\\\\n  blikCode: \\\\&amp;quot;777987\\\\&amp;quot;\\\\n};\\\\n\\\\nconst paymentRequest: Types.checkout.PaymentRequest = {\\\\n  reference: \\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  amount: amount,\\\\n  merchantAccount: \\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  countryCode: \\\\&amp;quot;PL\\\\&amp;quot;,\\\\n  paymentMethod: blikDetails\\\\n};\\\\n\\\\n\\\\\\\/\\\\\\\/ Send the request\\\\nconst checkoutAPI = new CheckoutAPI(client);\\\\nconst response = checkoutAPI.PaymentsApi.payments(paymentRequest, { idempotencyKey: \\\\&amp;quot;UUID\\\\&amp;quot; });&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; response contains:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;resultCode&lt;\\\/code&gt;: &lt;strong&gt;Pending&lt;\\\/strong&gt; (The shopper must complete the payment in their BLIK app.)&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;action&lt;\\\/code&gt;: Use this object to display the waiting screen while the shopper completes the payment in their BLIK app.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;\\\/payments response&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;resultCode\\\\\\&quot;: \\\\\\&quot;Pending\\\\\\&quot;,\\\\n    \\\\\\&quot;action\\\\\\&quot;: {\\\\n        \\\\\\&quot;paymentData\\\\\\&quot;: \\\\\\&quot;Ab02b4c0!BQABAg...\\\\\\&quot;,\\\\n        \\\\\\&quot;paymentMethodType\\\\\\&quot;: \\\\\\&quot;blik\\\\\\&quot;,\\\\n        \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;{hint:Wait for the webhook to know the payment outcome.}await{\\\\\\\/hint}\\\\\\&quot;\\\\n    },\\\\n    \\\\\\&quot;paymentData\\\\\\&quot;: \\\\\\&quot;Ab02b4c0!BQABAg...\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;h2 id=\\&quot;show-waiting-screen\\&quot;&gt;Show the waiting screen&lt;\\\/h2&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Show a waiting screen to the shopper, telling them you are waiting for them to complete the payment.&lt;\\\/li&gt;\\n&lt;li&gt;Check your &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/webhooks\\&quot;&gt;webhooks&lt;\\\/a&gt; to see the payment result.&lt;br \\\/&gt;\\nWe send you an AUTHORISATION webhook after the shopper completes the payment in their BLIK app.&lt;\\\/li&gt;\\n&lt;li&gt;Once you receive the webhook, redirect them to your website, and &lt;a href=\\&quot;#present-the-payment-result\\&quot;&gt;present the payment result&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;h2&gt;Present the payment result&lt;\\\/h2&gt;\\n&lt;p&gt;Use the &lt;code&gt;resultCode&lt;\\\/code&gt; that you received in the   &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; response to inform your shopper of the payment status.&lt;\\\/p&gt;\\n&lt;p&gt;The &lt;code&gt;resultCode&lt;\\\/code&gt; values you can receive for payments made through  are:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;resultCode&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Action to take&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;strong&gt;Pending&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Show the waiting screen to the shopper, informing them that they have to go to their bank app to complete the payment. &lt;br&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;strong&gt;Refused&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Inform the shopper that the payment is refused, for example, because of incorrect &lt;code&gt;blikCode&lt;\\\/code&gt; value. &lt;br&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;&lt;a id=\\&quot;webhooks\\&quot;&gt;&lt;\\\/a&gt; Wait for webhooks to know the outcome of the payment. The webhooks you can receive for  are:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;eventCode&lt;\\\/th&gt;\\n&lt;th&gt;success field&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;th&gt;Action to take&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;strong&gt;AUTHORISATION&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;strong&gt;false&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The transaction failed.&lt;\\\/td&gt;\\n&lt;td&gt;Cancel the order and inform the shopper that the payment failed.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;strong&gt;AUTHORISATION&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The shopper successfully completed the payment.&lt;\\\/td&gt;\\n&lt;td&gt;Inform the shopper that the payment has been successful and proceed with the order.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;h2 id=\\&quot;test-and-go-live\\&quot;&gt;Test and go live&lt;\\\/h2&gt;\\n&lt;p&gt;To test a BLIK with code payment:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;Use BLIK code 777213.&lt;\\\/li&gt;\\n&lt;li&gt;Make sure your implementation satisfies BLIK\\u2019s guidelines.&lt;\\\/li&gt;\\n&lt;li&gt;Test your integration end-to-end.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;h3&gt;Going live&lt;\\\/h3&gt;\\n&lt;p&gt;Before you can accept live BLIK payments, you need to add BLIK in your live Customer Area.&lt;\\\/p&gt;\\n\\n        &lt;\\\/div&gt;\\n    &lt;\\\/div&gt;\\n&lt;\\\/div&gt;\\n\\n&lt;div class=\\&quot;accordion-shortcode adl-accordion adl-accordion--max-height-transition\\&quot; data-expand=\\&quot;true\\&quot; data-ignore=\\&quot;anchorjs-link\\&quot;&gt;\\n    \\n    &lt;div class=\\&quot;adl-accordion__item\\&quot; style=\\&quot;\\&quot;&gt;\\n        &lt;div tabindex=\\&quot;0\\&quot; role=\\&quot;item\\&quot; aria-expanded=\\&quot;false\\&quot; class=\\&quot;adl-accordion__header\\&quot;&gt;\\n            &lt;i class=\\&quot;adl-accordion__toggle adl-icon-chevron-down\\&quot;&gt;&lt;\\\/i&gt;\\n            &lt;div class=\\&quot;adl-accordion__title-wrapper\\&quot; data-accordion=\\&quot;#blik-one-click\\&quot;&gt;\\n                                    &lt;h4 class=\\&quot;adl-accordion__title\\&quot;&gt;BLIK OneClick&lt;\\\/h4&gt;\\n                            &lt;\\\/div&gt;\\n        &lt;\\\/div&gt;\\n        &lt;div role=\\&quot;region\\&quot; class=\\&quot;adl-accordion__content\\&quot;&gt;\\n            \\n&lt;p&gt;In your  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paymentMethods&lt;\\\/a&gt; request, specify:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;countryCode&lt;\\\/a&gt;&amp;colon; &lt;strong&gt;PL&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods#request-amount\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;amount.currency&lt;\\\/a&gt;&amp;colon; &lt;strong&gt;PLN&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;shopperReference&lt;\\\/code&gt;&amp;colon; Your unique reference for the shopper.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The response contains &lt;code&gt;paymentMethod.type&lt;\\\/code&gt;: &lt;strong&gt;blik&lt;\\\/strong&gt; and &lt;code&gt;storedPaymentMethods.type&lt;\\\/code&gt;: &lt;strong&gt;blik&lt;\\\/strong&gt;.&lt;\\\/p&gt;\\n&lt;p&gt;When rendering the BLIK without code make sure to include the &lt;code&gt;label&lt;\\\/code&gt; to ensure that the shopper recognises the linked issuer account.&lt;\\\/p&gt;\\n&lt;h2 id=\\&quot;make-payment\\&quot;&gt;Make a payment&lt;\\\/h2&gt;\\n&lt;p&gt;In your  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; request, specify:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;paymentMethod.type&lt;\\\/code&gt;: &lt;strong&gt;blik&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;paymentMethod.blikCode&lt;\\\/code&gt;: The 6-digit &lt;code&gt;blikCode&lt;\\\/code&gt; that the shopper entered at checkout.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;Include the following parameters to request the shopper to give consent for future BLIK payments to proceed without the 6-digit code:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;shopperReference&lt;\\\/code&gt;: Your unique identifier for the shopper.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;storePaymentMethod&lt;\\\/code&gt;: &lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;recurringProcessingModel&lt;\\\/code&gt;: &lt;strong&gt;CardOnFile&lt;\\\/strong&gt;&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;&#039;\\&quot; :id=\\&quot;&#039;blik-payments-oneclick&#039;\\&quot; :code-data=\\&quot;[{&amp;quot;language&amp;quot;:&amp;quot;bash&amp;quot;,&amp;quot;tabTitle&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;curl https:\\\\\\\/\\\\\\\/checkout-test.adyen.com\\\\\\\/v68\\\\\\\/payments \\\\\\\\\\\\n-H &#039;x-api-key: ADYEN_API_KEY&#039; \\\\\\\\\\\\n-H &#039;content-type: application\\\\\\\/json&#039; \\\\\\\\\\\\n-d &#039;{\\\\n  \\\\&amp;quot;merchantAccount\\\\&amp;quot;:\\\\&amp;quot;ADYEN_MERCHANT_ACCOUNT\\\\&amp;quot;,\\\\n  \\\\&amp;quot;reference\\\\&amp;quot;:\\\\&amp;quot;YOUR_ORDER_NUMBER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;shopperReference\\\\&amp;quot;: \\\\&amp;quot;UNIQUE_SHOPPER_IDENTIFIER\\\\&amp;quot;,\\\\n  \\\\&amp;quot;storePaymentMethod\\\\&amp;quot;: \\\\&amp;quot;true\\\\&amp;quot;,\\\\n  \\\\&amp;quot;recurringProcessingModel\\\\&amp;quot;: \\\\&amp;quot;CardOnFile\\\\&amp;quot;\\\\n  \\\\&amp;quot;amount\\\\&amp;quot;:{\\\\n      \\\\&amp;quot;currency\\\\&amp;quot;:\\\\&amp;quot;PLN\\\\&amp;quot;,\\\\n      \\\\&amp;quot;value\\\\&amp;quot;:1000\\\\n  },\\\\n  \\\\&amp;quot;paymentMethod\\\\&amp;quot;:{\\\\n      \\\\&amp;quot;type\\\\&amp;quot;:\\\\&amp;quot;blik\\\\&amp;quot;,\\\\n      \\\\&amp;quot;blikCode\\\\&amp;quot;:\\\\&amp;quot;777987\\\\&amp;quot;\\\\n  },\\\\n  \\\\&amp;quot;countryCode\\\\&amp;quot;:\\\\&amp;quot;PL\\\\&amp;quot;\\\\n}&#039;&amp;quot;}]\\&quot; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; response contains:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;resultCode&lt;\\\/code&gt;: &lt;strong&gt;Pending&lt;\\\/strong&gt; (The shopper must complete the payment in their BLIK app.)&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;action&lt;\\\/code&gt;: Use this object to display the waiting screen while the shopper completes the payment in their BLIK app.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;\\\/payments response&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;resultCode\\\\\\&quot;: \\\\\\&quot;Pending\\\\\\&quot;,\\\\n    \\\\\\&quot;action\\\\\\&quot;: {\\\\n        \\\\\\&quot;paymentData\\\\\\&quot;: \\\\\\&quot;Ab02b4c0!BQABAg...\\\\\\&quot;,\\\\n        \\\\\\&quot;paymentMethodType\\\\\\&quot;: \\\\\\&quot;blik\\\\\\&quot;,\\\\n        \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;{hint:Wait for the webhook to know the payment outcome.}await{\\\\\\\/hint}\\\\\\&quot;\\\\n    },\\\\n    \\\\\\&quot;paymentData\\\\\\&quot;: \\\\\\&quot;Ab02b4c0!BQABAg...\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;h2 id=\\&quot;show-waiting-screen\\&quot;&gt;Show the waiting screen&lt;\\\/h2&gt;\\n&lt;ol&gt;\\n&lt;li&gt;Show a waiting screen to the shopper, telling them you are waiting for them to complete the payment.&lt;\\\/li&gt;\\n&lt;li&gt;Check your &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/webhooks\\&quot;&gt;webhooks&lt;\\\/a&gt; to see the payment result.&lt;br \\\/&gt;\\nWe send you an AUTHORISATION webhook after the shopper completes the payment in their BLIK app.&lt;\\\/li&gt;\\n&lt;li&gt;Once you receive the webhook, redirect them to your website, and &lt;a href=\\&quot;#present-the-payment-result\\&quot;&gt;present the payment result&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&lt;h2&gt;Present the payment result&lt;\\\/h2&gt;\\n&lt;p&gt;Use the &lt;code&gt;resultCode&lt;\\\/code&gt; that you received in the   &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/payments\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/payments&lt;\\\/a&gt; response to inform your shopper of the payment status.&lt;\\\/p&gt;\\n&lt;p&gt;The &lt;code&gt;resultCode&lt;\\\/code&gt; values you can receive for payments made through  are:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;resultCode&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Action to take&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;strong&gt;Pending&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Show the waiting screen to the shopper, informing them that they have to go to their bank app to complete the payment. &lt;br&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;strong&gt;Refused&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Inform the shopper that the payment is refused, for example, because of incorrect &lt;code&gt;blikCode&lt;\\\/code&gt; value. &lt;br&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;&lt;a id=\\&quot;webhooks\\&quot;&gt;&lt;\\\/a&gt; Wait for webhooks to know the outcome of the payment. The webhooks you can receive for  are:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th&gt;eventCode&lt;\\\/th&gt;\\n&lt;th&gt;success field&lt;\\\/th&gt;\\n&lt;th&gt;Description&lt;\\\/th&gt;\\n&lt;th&gt;Action to take&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;strong&gt;AUTHORISATION&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;strong&gt;false&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The transaction failed.&lt;\\\/td&gt;\\n&lt;td&gt;Cancel the order and inform the shopper that the payment failed.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td&gt;&lt;strong&gt;AUTHORISATION&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;&lt;strong&gt;true&lt;\\\/strong&gt;&lt;\\\/td&gt;\\n&lt;td&gt;The shopper successfully completed the payment.&lt;\\\/td&gt;\\n&lt;td&gt;Inform the shopper that the payment has been successful and proceed with the order.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;p&gt;If the shopper gave consent to make future payments without a BLIK code, you will also receive a &lt;a href=\\&quot;\\\/pt\\\/online-payments\\\/tokenization\\\/create-tokens#enable-the-webhook\\&quot;&gt;Recurring tokens life cycle&lt;\\\/a&gt; webhook with type &lt;code&gt;recurring.token.created&lt;\\\/code&gt;. Make sure to enable the &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/webhooks\\\/webhook-types#other-webhooks\\&quot;&gt;Recurring tokens life cycle&lt;\\\/a&gt; webhook in your Customer Area.&lt;\\\/p&gt;\\n&lt;p&gt;This webhook contains:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;storedPaymentMethodId&lt;\\\/code&gt;: the ID of the token that was created.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;eventId&lt;\\\/code&gt;: the PSP reference of the transaction.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;shopperReference&lt;\\\/code&gt;: your unique shopper reference. Use this to associate the shopper with the token and the payment.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;To let your shopper identify the specific issuer in case they have used BLIK on multiple issuer apps, you need the BLIK app label. To get this value, make a  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/Checkout\\\/latest\\\/post\\\/paymentMethods\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;\\\/paymentMethods&lt;\\\/a&gt; request. The response contains the &lt;code&gt;additionalData.BLIK.APP_LABEL&lt;\\\/code&gt; field.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Example additionalData object in the \\\/paymentMethods response&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;\\\\\\&quot;additionalData\\\\\\&quot; : {\\\\n   \\\\\\&quot;Blik.APP_LABEL\\\\\\&quot; : \\\\\\&quot;PKO BP - 795***925\\\\\\&quot;,\\\\n   \\\\\\&quot;Blik.EXPIRATION_DATE\\\\\\&quot; : \\\\\\&quot;2026-02-26 00:00:00\\\\\\&quot;,\\\\n   \\\\\\&quot;tokenization.shopperReference\\\\\\&quot; : \\\\\\&quot;YOUR_SHOPPER_REFERENCE\\\\\\&quot;,\\\\n   \\\\\\&quot;tokenization.storedPaymentMethodId\\\\\\&quot;: \\\\\\&quot;M5N7TQ4TG5PFWR50\\\\\\&quot;,\\\\n   \\\\\\&quot;acquirerAccountCode\\\\\\&quot; : \\\\\\&quot;YOUR_ACQUIRER_ACCOUNT_CODE\\\\\\&quot;\\\\n\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;h2 id=\\&quot;test-and-go-live\\&quot;&gt;Test and go live&lt;\\\/h2&gt;\\n&lt;p&gt;To test a BLIK One Click payment:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;Use BLIK code 777213.&lt;\\\/li&gt;\\n&lt;li&gt;Make sure your implementation satisfies BLIK\\u2019s guidelines.&lt;\\\/li&gt;\\n&lt;li&gt;Test your integration end-to-end.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;h3&gt;Going live&lt;\\\/h3&gt;\\n&lt;p&gt;Before you can accept live BLIK payments:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;Reach out to BLIK for certification and enablement at products@blik.com.&lt;\\\/li&gt;\\n&lt;li&gt;Add BLIK in your live Customer Area.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n\\n        &lt;\\\/div&gt;\\n    &lt;\\\/div&gt;\\n&lt;\\\/div&gt;\\n\\n&quot;,&quot;altTitle&quot;:&quot;advanced&quot;,&quot;oldTabId&quot;:&quot;advanced-api_2&quot;,&quot;relation&quot;:&quot;advanced&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2 id=\"see-also\">See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/online-payments\/build-your-integration\/sessions-flow?platform=iOS&amp;integration=Components\"\n                        target=\"_self\"\n                        >\n                    iOS Components integration guide\n                <\/a><\/li><li><a href=\"\/development-resources\/webhooks\"\n                        target=\"_self\"\n                        >\n                    Webhooks\n                <\/a><\/li><li><a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/CheckoutService\/latest\/overview\"\n                        target=\"_blank\"\n                         class=\"external\">\n                    API Explorer\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/blik\/ios-component","articleFields":{"description":"Add BLIK to an existing iOS Components integration.","parameters":{"payment_method":"BLIK","country_code":"PL","currency":"PLN","payment_method_type":"blik","return_url":"my-app:\/\/adyen","version":"3.8.0","integration":"Components","platform":"iOS","integration_guide_url":"build-your-integration\/sessions-flow?platform=iOS&integration=Components","component_name":"the BLIK Component","component_js_const":"blik","ios_config_component_type":"PresentableComponent","ios_config_payment_method":"BLIK","ios_config_component_name":"BLIK"},"feedback_component":true},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/payment-methods\/blik\/ios-component","title":"BLIK iOS Component","content":"This page explains how to add BLIK to your existing iOS Components integration.\nRequirements\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nMake sure that you have built your Components integration.  BLIK for iOS requires at least v3.8.0 of Components. For more information, refer to Release notes.\n\n\n\nSetup steps\nBefore you begin, add BLIK in your test Customer Area.\n\n\n\nComponent configuration\nv5.0.0 or later\nIf your integration uses iOS Components v5.0.0 or later, configure and create an instance of the BLIK Component:\n\n\n    \n        \n        \n    \n\n\nv4.x.x\nIf your integration uses an earlier version of iOS Components:\n\n    \n\nThere are no configuration steps specific to BLIK required for Components.\nAPI reference\nInclude fields for the endpoint you integrated:\n\n\n    \n        \n        \n    \n\n\nSee also\n\n\n                    iOS Components integration guide\n                \n                    Webhooks\n                \n                    API Explorer\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Payment methods","lvl2":"BLIK","lvl3":"BLIK iOS Component"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/payment-methods","lvl2":"https:\/\/docs.adyen.com\/pt\/payment-methods\/blik","lvl3":"\/pt\/payment-methods\/blik\/ios-component"},"levels":4,"category":"Payment method","category_color":"green","tags":["Component"]}}
