{"id":340,"date":"2024-06-19T14:53:57","date_gmt":"2024-06-19T14:53:57","guid":{"rendered":"https:\/\/developers.10npay.com\/?post_type=docs&#038;p=1166"},"modified":"2026-05-19T14:57:00","modified_gmt":"2026-05-19T14:57:00","password":"","slug":"merchant-authentication","status":"publish","type":"docs","link":"https:\/\/developers.10npay.com\/bg\/docs\/merchant-authentication\/","title":{"rendered":"Client Authentication"},"content":{"rendered":"<p data-renderer-start-pos=\"1\" data-local-id=\"a7db6cc9313f\">How to authenticate your app against the Tenn.Pay platform using <span data-highlighted=\"true\" data-vc=\"highlighted-text\"><span class=\"_kqswh2mm\"><span class=\"_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke\" data-testid=\"definition-highlighter\">OIDC<\/span><\/span><\/span> and call the API.<\/p>\n<h2 id=\"1.-Configure-your-OIDC-client\" tabindex=\"-1\" data-local-id=\"4680f855fc07\" data-renderer-start-pos=\"90\">1. Configure your <span data-highlighted=\"true\" data-vc=\"highlighted-text\">OIDC<\/span> client<\/h2>\n<p data-renderer-start-pos=\"121\" data-local-id=\"6b3e571d98a2\">Use any compliant <span data-highlighted=\"true\" data-vc=\"highlighted-text\">OIDC<\/span> library (e.g. <code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\"><span data-highlighted=\"true\" data-vc=\"highlighted-text\">oidc<\/span>-client<\/code> \/ <code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\"><span data-highlighted=\"true\" data-vc=\"highlighted-text\">oidc<\/span>-client-ts<\/code> on web, <code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">AppAuth<\/code> on mobile). Flow: <strong data-renderer-mark=\"true\">Authorization Code + <span data-highlighted=\"true\" data-vc=\"highlighted-text\"><span class=\"_kqswh2mm\"><span class=\"_5pioz8co _189e1dm9 _1il9buyh _19lc184f _d0altlke\" data-testid=\"definition-highlighter\">PKCE<\/span><\/span><\/span><\/strong>.<\/p>\n<div class=\"pm-table-container with-shadow-observer\" data-layout=\"custom\" data-testid=\"table-container\">\n<div class=\"pm-table-sticky-scrollbar-sentinel-top\" data-testid=\"sticky-scrollbar-sentinel-top\"><\/div>\n<div class=\"css-h0a4k\">\n<div class=\"fixed-table-div-custom-table-resizing css-7xlaiv\" data-testid=\"sticky-table-fixed\">\n<div class=\"pm-table-container is-sticky with-shadow-observer\" data-layout=\"default\">\n<div class=\"pm-table-sticky-wrapper\">\n<table data-testid=\"renderer-table\" data-number-column=\"false\" data-table-width=\"760\" data-layout=\"default\">\n<colgroup><\/colgroup>\n<tbody>\n<tr>\n<th class=\"ak-renderer-tableHeader-sortable-column__wrapper\" colspan=\"1\" rowspan=\"1\" aria-sort=\"none\">\n<div class=\"ak-renderer-tableHeader-sortable-column\">\n<p data-renderer-start-pos=\"252\" data-local-id=\"c3ce150e988e\">Setting<\/p>\n<figure class=\"ak-renderer-tableHeader-sorting-icon__wrapper ak-renderer-tableHeader-sorting-icon__no-order\">\n<div role=\"presentation\">\n<div class=\"ak-renderer-tableHeader-sorting-icon css-7smbrx\" tabindex=\"0\" role=\"button\" aria-label=\"No sort applied to the column\" aria-disabled=\"false\" aria-hidden=\"false\">\n<div class=\"sorting-icon-svg__no_order ak-renderer-tableHeader-sorting-icon-inactive css-1asrlx7\"><\/div>\n<\/div>\n<\/div>\n<\/figure>\n<\/div>\n<\/th>\n<th class=\"ak-renderer-tableHeader-sortable-column__wrapper\" colspan=\"1\" rowspan=\"1\" aria-sort=\"none\">\n<div class=\"ak-renderer-tableHeader-sortable-column\">\n<p data-renderer-start-pos=\"263\" data-local-id=\"2e05e9703b58\">Value<\/p>\n<figure class=\"ak-renderer-tableHeader-sorting-icon__wrapper ak-renderer-tableHeader-sorting-icon__no-order\">\n<div role=\"presentation\">\n<div class=\"ak-renderer-tableHeader-sorting-icon css-7smbrx\" tabindex=\"0\" role=\"button\" aria-label=\"No sort applied to the column\" aria-disabled=\"false\" aria-hidden=\"false\">\n<div class=\"sorting-icon-svg__no_order ak-renderer-tableHeader-sorting-icon-inactive css-1asrlx7\"><\/div>\n<\/div>\n<\/div>\n<\/figure>\n<\/div>\n<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"pm-table-wrapper\" data-number-column=\"false\" data-layout=\"default\" data-autosize=\"false\" data-table-local-id=\"8a7cf56a57d1\" data-table-width=\"760\" data-vc=\"table-node-wrapper\">\n<div class=\"sentinel-left\"><\/div>\n<table data-testid=\"renderer-table\" data-number-column=\"false\" data-table-width=\"760\" data-layout=\"default\">\n<colgroup><\/colgroup>\n<tbody>\n<tr>\n<th class=\"ak-renderer-tableHeader-sortable-column__wrapper\" colspan=\"1\" rowspan=\"1\" aria-sort=\"none\">\n<div class=\"ak-renderer-tableHeader-sortable-column\">\n<p data-renderer-start-pos=\"252\" data-local-id=\"c3ce150e988e\">Setting<\/p>\n<figure class=\"ak-renderer-tableHeader-sorting-icon__wrapper ak-renderer-tableHeader-sorting-icon__no-order\">\n<div role=\"presentation\">\n<div class=\"ak-renderer-tableHeader-sorting-icon css-7smbrx\" tabindex=\"0\" role=\"button\" aria-label=\"No sort applied to the column\" aria-disabled=\"false\" aria-hidden=\"false\">\n<div class=\"sorting-icon-svg__no_order ak-renderer-tableHeader-sorting-icon-inactive css-1asrlx7\"><\/div>\n<\/div>\n<\/div>\n<\/figure>\n<\/div>\n<\/th>\n<th class=\"ak-renderer-tableHeader-sortable-column__wrapper\" colspan=\"1\" rowspan=\"1\" aria-sort=\"none\">\n<div class=\"ak-renderer-tableHeader-sortable-column\">\n<p data-renderer-start-pos=\"263\" data-local-id=\"2e05e9703b58\">Value<\/p>\n<figure class=\"ak-renderer-tableHeader-sorting-icon__wrapper ak-renderer-tableHeader-sorting-icon__no-order\">\n<div role=\"presentation\">\n<div class=\"ak-renderer-tableHeader-sorting-icon css-7smbrx\" tabindex=\"0\" role=\"button\" aria-label=\"No sort applied to the column\" aria-disabled=\"false\" aria-hidden=\"false\">\n<div class=\"sorting-icon-svg__no_order ak-renderer-tableHeader-sorting-icon-inactive css-1asrlx7\"><\/div>\n<\/div>\n<\/div>\n<\/figure>\n<\/div>\n<\/th>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"274\" data-local-id=\"afd0986b1dd8\">Authority \/ Issuer<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"297\" data-local-id=\"2044fb5ccafe\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">https:\/\/api.10npay.com<\/code> (provided per environment)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"353\" data-local-id=\"78e880554877\">Client ID<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"367\" data-local-id=\"32d8f373e83d\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">ClientName_Oidc<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"389\" data-local-id=\"1b3df3bcb671\">Response type<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"407\" data-local-id=\"3cb5622de44a\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">code<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"418\" data-local-id=\"5a252814cedf\">Redirect URI<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"435\" data-local-id=\"e173e99ca7cd\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">&lt;https:\/\/&lt;your-app&gt;&gt;\/auth-result<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"474\" data-local-id=\"02dc1a429b2e\">Post-logout redirect URI<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"503\" data-local-id=\"5827fb7458a9\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">&lt;https:\/\/&lt;your-app&gt;&gt;\/Logout<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"537\" data-local-id=\"ee098d3e225f\">Silent renew URI<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"558\" data-local-id=\"cfc5c221ea39\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">&lt;https:\/\/&lt;your-app&gt;&gt;\/silentRenew<\/code><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"597\" data-local-id=\"4b54949646e2\">Scopes<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p data-renderer-start-pos=\"608\" data-local-id=\"8cef91eecf54\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">openid profile IdentityServerApi offline_access tenant TokenserverAPI.read TokenserverAPI.write Tenn.CRM Tenn.Messaging Tenn.Issuing Tenn.RiskService Tenn.Payment Tenn.FastPay<\/code><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"sentinel-right\"><\/div>\n<\/div>\n<div class=\"pm-table-sticky-scrollbar-container-view-page\" data-vc=\"table-sticky-scrollbar-container\">\n<div><\/div>\n<\/div>\n<div class=\"pm-table-sticky-scrollbar-sentinel-bottom\" data-testid=\"sticky-scrollbar-sentinel-bottom\"><\/div>\n<\/div>\n<p data-renderer-start-pos=\"789\" data-local-id=\"5d73748fe945\">Standard discovery endpoints (under the issuer):<\/p>\n<ul class=\"ak-ul\" data-local-id=\"ea9028611338\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"841\" data-local-id=\"ec954f290470\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">\/connect\/authorize<\/code><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"863\" data-local-id=\"ea3d2cd16ca5\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">\/connect\/token<\/code><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"881\" data-local-id=\"42dcc15ffce6\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">\/connect\/userinfo<\/code><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"902\" data-local-id=\"776a548cbfa0\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">\/connect\/endsession<\/code><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"925\" data-local-id=\"b311ddabc73c\"><code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">\/connect\/revocation<\/code><\/p>\n<\/li>\n<\/ul>\n<h2 id=\"2.-Get-an-access-token\" tabindex=\"-1\" data-local-id=\"fabb5d512ca6\" data-renderer-start-pos=\"948\">2. Get an access token<\/h2>\n<ol class=\"ak-ol\" start=\"1\" data-local-id=\"97be1909afb9\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"974\" data-local-id=\"782278b987df\">Trigger <code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">signinRedirect()<\/code> \u2014 the user is bounced to the auth server, signs in, and is redirected back to your <code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">redirect_uri<\/code> with a <code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">code<\/code>.<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"1111\" data-local-id=\"bd08eb2e0c8f\">On the callback page, call <code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">signinRedirectCallback()<\/code> to exchange the code for tokens.<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"1199\" data-local-id=\"ed96c3671fd5\">Read <code class=\"_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rkofajl _11c819w5 _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhk187e _16d9qvcn _syazi7uo _vwz41kw7 _1i4q1hna _o5721jtm\" data-renderer-mark=\"true\">user.access_token<\/code> (JWT) from the returned user object.<\/p>\n<\/li>\n<\/ol>\n<h2 id=\"3.-Call-the-API\" tabindex=\"-1\" data-local-id=\"cfb607d12f4d\" data-renderer-start-pos=\"1262\">3. Call the API<\/h2>\n<p data-renderer-start-pos=\"1279\" data-local-id=\"1a3ad281646c\">Attach the access token to every request:<\/p>\n<div class=\"ak-renderer-sticky-safe-breakout-wrapper ak-renderer-flex-center-wrapper css-l5clsc\">\n<div class=\"ak-renderer-sticky-safe-breakout-inner fabric-editor-breakout-mark fabric-editor-block-mark css-ozd7xs\" data-mode=\"wide\" data-has-width=\"true\" data-width=\"760\">\n<div class=\"code-block css-1l9rc3g\" data-local-id=\"aefebffccbb4\" data-ssr-placeholder=\"7voiQ:EfLS5:z8NN7:qz-Pe:OP-5u-0\">\n<div class=\"css-1sws8jd\">\n<div class=\"css-1u47mc9\">\n<div role=\"presentation\"><\/div>\n<div role=\"presentation\">\n<div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><span class=\"prismjs _11c819w5 _2rko12b0 _1dqoglyw _1e0c1txw _vwz4gktf _1reo1wug _o572qvpr _1eimjvyg _bfhk187e _syazi7uo _1ozdn7od _7xinn7od _t7aun7od _r28du2gc _tajqu2gc _1ohiu2gc _m802u2gc _i6ntu2gc _1w2xu2gc _1hmyegat _vblregat _vbulegat _196q1xv3 _1vbw1xv3 _1v9c1xv3 _1srnt0uh _18r6myb0 _vyvc1n1a _1d4j1y44 _1f8gstnw _1pzyb3bt _ra6gsb9t _13cdh2mm _1pp0126e _zvy9f705 _qcxof705 _qzn01a66 _j0l11wug _1weckb7n _1na21hna _vsnzgrf3 _x7c815vq _lh0y15vq _1m3815vq _qk1e15vq _12l6ysn8 _uga3ysn8 _mx8b7mnp _1kr87mnp _xo19t94y _1bemt94y _nalpstnw _151dstnw _1exb1q9c _1hgu1q9c _1mgnt94y _nhket94y _h909i8nm _scgayz1z _ipl81e17 _40uk1l04 _i81p1a66 _1gx21e5h _1ls01ule _vm2c1rh5 _12ok1rh5 _rude1ule _1q16glyw _1io6glyw _juomusic _lcwuusic _pyovu2gc _ccm6u2gc _1ascu2gc _1yuau2gc _xr0w1a66 _4io21a66 _euyxusvi _cahfusvi _zhnuidpf _1amdidpf _mbgc124n _bu7z124n _131n1giz _gy101giz _1wfuwrk5 _16kzwrk5 _9kk3wu06 _cjus1w1g _9k2r1m30 _nhmw1m30 _yl021m30 _eihtd5cb _t9zbd5cb _mqok1w1g _3hsg1w1g _i7ngn7od _9wu1fb2s _1xcoh55r _1t36i7uo _137bh55r _1k7di7uo _97li16jw _12nh9lu1 _1g0517qg _i2igqmo9 _326zi7uo _113p1rpy _1n6t16jw _tgu817qg _1k4716jw _g0lxi7uo _ys4e1rpy _7gp8h55r _1yvqqmo9 _1vwwqmo9 _1rjuqmo9 _1v0lh55r _wmyy17qg _748n17qg _1mfn17qg _1d7e17qg _p2vr17qg _19o6qmo9 _kxov17qg _1np517qg _m2f517qg _1b9t16jw _1tq616jw _1rd216jw _1pbk16jw _k3li16jw _13zt1rpy _2g12fb2s _k86bqmo9 _b5iy1rpy _gti31rpy _1f0g16jw _9d3e17qg _qdia16jw _72uv16jw _13dgkb7n _1707efft _1i3h1txw _16noidpf _h4fuidpf _pp6yidpf _1g4tidpf _11wmidpf _1bx8idpf\" data-code-lang=\"\" data-ds--code--code-block=\"\" data-testid=\"renderer-code-block\"><code class=\"language-\"><span class=\"\" data-testid=\"renderer-code-block-line-1\" data-ds--code--row=\"\">Authorization: Bearer &lt;access_token&gt;<\/span><\/code><\/span><\/div>\n<\/div>\n<\/div>\n<p data-renderer-start-pos=\"1360\" data-local-id=\"5212470c4cae\">That is the only auth requirement. The user identity is taken from the token \u2014 you do not need to pass any user ID or individual ID alongside it.<\/p>","protected":false},"excerpt":{"rendered":"<p>How to authenticate your app against the Tenn.Pay platform using OIDC and call the API. 1. Configure your OIDC client Use any compliant OIDC library (e.g. oidc-client \/ oidc-client-ts on web, AppAuth on mobile). Flow: Authorization Code + PKCE. Setting Value Setting Value Authority \/ Issuer https:\/\/api.10npay.com (provided per environment) Client ID ClientName_Oidc Response type [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"doc_category":[49],"doc_tag":[],"knowledge_base":[33],"class_list":["post-340","docs","type-docs","status-publish","hentry","doc_category-authentication-tokenization","knowledge_base-10npay"],"year_month":"2026-05","word_count":219,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"10npaydev","author_nicename":"10npaydev","author_url":"https:\/\/developers.10npay.com\/bg\/author\/10npaydev\/"},"doc_category_info":[{"term_name":"Authentication\/Tokenization","term_url":"https:\/\/developers.10npay.com\/bg\/docs\/10npay\/authentication-tokenization\/"}],"doc_tag_info":[],"knowledge_base_info":[{"term_name":"10npay","term_url":"https:\/\/developers.10npay.com\/bg\/docs\/10npay\/","term_slug":"10npay"}],"knowledge_base_slug":["10npay"],"_links":{"self":[{"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/docs\/340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/comments?post=340"}],"version-history":[{"count":1,"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/docs\/340\/revisions"}],"predecessor-version":[{"id":361,"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/docs\/340\/revisions\/361"}],"wp:attachment":[{"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/media?parent=340"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/doc_category?post=340"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/doc_tag?post=340"},{"taxonomy":"knowledge_base","embeddable":true,"href":"https:\/\/developers.10npay.com\/bg\/wp-json\/wp\/v2\/knowledge_base?post=340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}