1(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function i(i){for(var a,t,d=i[0],m=i[1],s=i[2],k=0,o=[];k<d.length;k++)t=d[k],Object.prototype.hasOwnProperty.call(r,t)&&r[t]&&o.push(r[t][0]),r[t]=0;for(a in m)Object.prototype.hasOwnProperty.call(m,a)&&(e[a]=m[a]);for(u&&u(i);o.length;)o.shift()();return l.push.apply(l,s||[]),n()}function n(){for(var e,i=0;i<l.length;i++){for(var n=l[i],a=!0,d=1;d<n.length;d++){var m=n[d];0!==r[m]&&(a=!1)}a&&(l.splice(i--,1),e=t(t.s=n[0]))}return e}var a={},r={13:0},l=[];function t(i){if(a[i])return a[i].exports;var n=a[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,t),n.l=!0,n.exports}t.e=function(e){var i=[],n=r[e];if(0!==n)if(n)i.push(n[2]);else{var a=new Promise((function(i,a){n=r[e]=[i,a]}));i.push(n[2]=a);var l,d=document.createElement("script");d.charset="utf-8",d.timeout=120,t.nc&&d.setAttribute("nonce",t.nc),d.src=function(e){return t.p+"assets/js/"+({14:"vendors~docsearch"}[e]||e)+"."+{1:"d3419479",2:"484a14f6",3:"43da589b",4:"f865ed41",5:"ee1d951c",6:"ab10f7fc",7:"1da5ce0f",8:"93d599e6",9:"c1e1d6c2",10:"51f8626e",11:"452b283d",12:"9cfc9ded",14:"2cdbc4a2",15:"0ddc6579",16:"487f380b",17:"286f0068",18:"140498cb",19:"e806f998",20:"947b69c0",21:"20c03261",22:"17f00dc3",23:"dd5e09da",24:"db073f16",25:"dd740719",26:"a0ccbc75",27:"906389c9",28:"42c37ed6",29:"c32a9437",30:"62f76616",31:"b17fed96",32:"545f479b",33:"f2e76a85",34:"7cd9ebbc",35:"a0308e6f",36:"2e60eed1",37:"1d79f5c0",38:"2f097d28",39:"425d08b1",40:"6bef2065",41:"3876ae4c",42:"ac7a2ece",43:"381f48e0",44:"4113163c",45:"7761d8de",46:"7b930815",47:"aa5da579",48:"9daea828",49:"3355f252",50:"dfbe829f",51:"82759ea7",52:"0269347d",53:"4d00b261",54:"eef17477",55:"9200d8ee",56:"ece329b6",57:"cb8f95c1",58:"15a1c97b",59:"52f562ab",60:"d249f4f4",61:"54e25de5",62:"cc130124",63:"3cd612f3",64:"145aafc1",65:"a8fef4ab",66:"0906aefd",67:"c7e6d720",68:"25a08d2f",69:"a7a1880a",70:"f570af1a",71:"0238b940",72:"2c12f096",73:"b4ac53c8",74:"17fb3a33",75:"96e8ac3b",76:"9907dc4e",77:"575c93f3",78:"577450cd",79:"0a51d2e3",80:"d6ef57b4",81:"86dd65b7",82:"7705c415",83:"207e9c23",84:"665cea46",85:"16779d2e",86:"82b4f6b0",87:"ce388e58",88:"c8bce608",89:"f0dc1d72",90:"2746e664",91:"fdf7cfa0",92:"8afd71cd",93:"a2a017c9",94:"d194b8cd",95:"1a7a7043",96:"f93927e5",97:"29a8c7ab",98:"f7a59bb3",99:"02a9be02",100:"4bba77e7",101:"52660392",102:"34923ed6",103:"396ad9c1",104:"98661a9e",105:"88398786",106:"c16c355f",107:"83ed4c26",108:"936cc147",109:"6c13c824",110:"bd566c19",111:"fdb42917",112:"3951ee8d",113:"807e0ac8",114:"0b7c2831",115:"8a1300e0",116:"b4d01a96",117:"7b66cc05",118:"2d279739",119:"21593bd4",120:"20039be9",121:"d34a8ab5",122:"d489fae5",123:"434365d9",124:"d826e5cf",125:"8d668e4f",126:"0ceb7ec6",127:"804e6234",128:"7cd680d4",129:"8f5a3939",130:"8f245b7e",131:"a6f15b85",132:"4cd71ed6"}[e]+".js"}(e);var m=new Error;l=function(i){d.onerror=d.onload=null,clearTimeout(s);var n=r[e];if(0!==n){if(n){var a=i&&("load"===i.type?"missing":i.type),l=i&&i.target&&i.target.src;m.message="Loading chunk "+e+" failed.\n("+a+": "+l+")",m.name="ChunkLoadError",m.type=a,m.request=l,n[1](m)}r[e]=void 0}};var s=setTimeout((function(){l({type:"timeout",target:d})}),12e4);d.onerror=d.onload=l,document.head.appendChild(d)}return Promise.all(i)},t.m=e,t.c=a,t.d=function(e,i,n){t.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,i){if(1&i&&(e=t(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var a in e)t.d(n,a,function(i){return e[i]}.bind(null,a));return n},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},t.p="/",t.oe=function(e){throw console.error(e),e};var d=window.webpackJsonp=window.webpackJsonp||[],m=d.push.bind(d);d.push=i,d=d.slice();for(var s=0;s<d.length;s++)i(d[s]);var u=m;l.push([145,0]),n()}([function(e,i,n){"use strict";n.r(i),n.d(i,"EffectScope",(function(){return pi})),n.d(i,"computed",(function(){return di})),n.d(i,"customRef",(function(){return ei})),n.d(i,"default",(function(){return qa})),n.d(i,"defineAsyncComponent",(function(){return Nn})),n.d(i,"defineComponent",(function(){return jn})),n.d(i,"del",(function(){return Ee})),n.d(i,"effectScope",(function(){return Si})),n.d(i,"getCurrentInstance",(function(){return oe})),n.d(i,"getCurrentScope",(function(){return zi})),n.d(i,"h",(function(){return yn})),n.d(i,"inject",(function(){return Ai})),n.d(i,"isProxy",(function(){return Le})),n.d(i,"isReactive",(function(){return Me})),n.d(i,"isReadonly",(function(){return _e})),n.d(i,"isRef",(function(){return je})),n.d(i,"isShallow",(function(){return Fe})),n.d(i,"markRaw",(function(){return Ue})),n.d(i,"mergeDefaults",(function(){return mn})),n.d(i,"nextTick",(function(){return Bn})),n.d(i,"onActivated",(function(){return Vn})),n.d(i,"onBeforeMount",(function(){return On})),n.d(i,"onBeforeUnmount",(function(){return Zn})),n.d(i,"onBeforeUpdate",(function(){return In})),n.d(i,"onDeactivated",(function(){return Cn})),n.d(i,"onErrorCaptured",(function(){return xn})),n.d(i,"onMounted",(function(){return Dn})),n.d(i,"onRenderTracked",(function(){return Fn})),n.d(i,"onRenderTriggered",(function(){return _n})),n.d(i,"onScopeDispose",(function(){return hi})),n.d(i,"onServerPrefetch",(function(){return Mn})),n.d(i,"onUnmounted",(function(){return Gn})),n.d(i,"onUpdated",(function(){return En})),n.d(i,"provide",(function(){return Ki})),n.d(i,"proxyRefs",(function(){return qe})),n.d(i,"reactive",(function(){return Ge})),n.d(i,"readonly",(function(){return ai})),n.d(i,"ref",(function(){return we})),n.d(i,"set",(function(){return Ie})),n.d(i,"shallowReactive",(function(){return Ve})),n.d(i,"shallowReadonly",(function(){return ti})),n.d(i,"shallowRef",(function(){return $e})),n.d(i,"toRaw",(function(){return xe})),n.d(i,"toRef",(function(){return ni})),n.d(i,"toRefs",(function(){return ii})),n.d(i,"triggerRef",(function(){return Xe})),n.d(i,"unref",(function(){return We})),n.d(i,"useAttrs",(function(){return ln})),n.d(i,"useCssModule",(function(){return Rn})),n.d(i,"useCssVars",(function(){return Yn})),n.d(i,"useListeners",(function(){return tn})),n.d(i,"useSlots",(function(){return rn})),n.d(i,"version",(function(){return Un})),n.d(i,"watch",(function(){return ci})),n.d(i,"watchEffect",(function(){return ki})),n.d(i,"watchPostEffect",(function(){return oi})),n.d(i,"watchSyncEffect",(function(){return yi})); 2/*! 3 * Vue.js v2.7.16 4 * (c) 2014-2023 Evan You 5 * Released under the MIT License. 6 */ 7var a=Object.freeze({}),r=Array.isArray;function l(e){return null==e}function t(e){return null!=e}function d(e){return!0===e}function m(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function s(e){return"function"==typeof e}function u(e){return null!==e&&"object"==typeof e}var k=Object.prototype.toString;function o(e){return"[object Object]"===k.call(e)}function y(e){return"[object RegExp]"===k.call(e)}function b(e){var i=parseFloat(String(e));return i>=0&&Math.floor(i)===i&&isFinite(e)}function g(e){return t(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function c(e){return null==e?"":Array.isArray(e)||o(e)&&e.toString===k?JSON.stringify(e,H,2):String(e)}function H(e,i){return i&&i.__v_isRef?i.value:i}function p(e){var i=parseFloat(e);return isNaN(i)?e:i}function S(e,i){for(var n=Object.create(null),a=e.split(","),r=0;r<a.length;r++)n[a[r]]=!0;return i?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}S("slot,component",!0);var z=S("key,ref,slot,slot-scope,is");function h(e,i){var n=e.length;if(n){if(i===e[n-1])return void(e.length=n-1);var a=e.indexOf(i);if(a>-1)return e.splice(a,1)}}var K=Object.prototype.hasOwnProperty;function v(e,i){return K.call(e,i)}function A(e){var i=Object.create(null);return function(n){return i[n]||(i[n]=e(n))}}var T=/-(\w)/g,f=A((function(e){return e.replace(T,(function(e,i){return i?i.toUpperCase():""}))})),B=A((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),R=/\B([A-Z])/g,Y=A((function(e){return e.replace(R,"-$1").toLowerCase()}));var N=Function.prototype.bind?function(e,i){return e.bind(i)}:function(e,i){function n(n){var a=arguments.length;return a?a>1?e.apply(i,arguments):e.call(i,n):e.call(i)}return n._length=e.length,n};
vendor: 15,259 bytes, line 7
7function P(e,i){i=i||0;for(var n=e.length-i,a=new Array(n);n--;)a[n]=e[n+i];return a}function O(e,i){for(var n in i)e[n]=i[n];return e}function D(e){for(var i={},n=0;n<e.length;n++)e[n]&&O(i,e[n]);return i}function I(e,i,n){}var E=function(e,i,n){return!1},Z=function(e){return e};function G(e,i){if(e===i)return!0;var n=u(e),a=u(i);if(!n||!a)return!n&&!a&&String(e)===String(i);try{var r=Array.isArray(e),l=Array.isArray(i);if(r&&l)return e.length===i.length&&e.every((function(e,n){return G(e,i[n])}));if(e instanceof Date&&i instanceof Date)return e.getTime()===i.getTime();if(r||l)return!1;var t=Object.keys(e),d=Object.keys(i);return t.length===d.length&&t.every((function(n){return G(e[n],i[n])}))}catch(e){return!1}}function V(e,i){for(var n=0;n<e.length;n++)if(G(e[n],i))return n;return-1}function C(e){var i=!1;return function(){i||(i=!0,e.apply(this,arguments))}}function M(e,i){return e===i?0===e&&1/e!=1/i:e==e||i==i}var F=["component","directive","filter"],_=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch","renderTracked","renderTriggered"],L={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:E,isReservedAttr:E,isUnknownElement:E,getTagNamespace:I,parsePlatformTagName:Z,mustUseProp:E,async:!0,_lifecycleHooks:_},x=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function U(e){var i=(e+"").charCodeAt(0);return 36===i||95===i}function j(e,i,n,a){Object.defineProperty(e,i,{value:n,enumerable:!!a,writable:!0,configurable:!0})}var w=new RegExp("[^".concat(x.source,".$_\\d]"));var $="__proto__"in{},J="undefined"!=typeof window,X=J&&window.navigator.userAgent.toLowerCase(),W=X&&/msie|trident/.test(X),q=X&&X.indexOf("msie 9.0")>0,Q=X&&X.indexOf("edge/")>0;X&&X.indexOf("android");var ee=X&&/iphone|ipad|ipod|ios/.test(X);X&&/chrome\/\d+/.test(X),X&&/phantomjs/.test(X);var ie,ne=X&&X.match(/firefox\/(\d+)/),ae={}.watch,re=!1;if(J)try{var le={};Object.defineProperty(le,"passive",{get:function(){re=!0}}),window.addEventListener("test-passive",null,le)}catch(e){}var te=function(){return void 0===ie&&(ie=!J&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),ie},de=J&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function me(e){return"function"==typeof e&&/native code/.test(e.toString())}var se,ue="undefined"!=typeof Symbol&&me(Symbol)&&"undefined"!=typeof Reflect&&me(Reflect.ownKeys);se="undefined"!=typeof Set&&me(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ke=null;function oe(){return ke&&{proxy:ke}}function ye(e){void 0===e&&(e=null),e||ke&&ke._scope.off(),ke=e,e&&e._scope.on()}var be=function(){function e(e,i,n,a,r,l,t,d){this.tag=e,this.data=i,this.children=n,this.text=a,this.elm=r,this.ns=void 0,this.context=l,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=i&&i.key,this.componentOptions=t,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=d,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(e.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),e}(),ge=function(e){void 0===e&&(e="");var i=new be;return i.text=e,i.isComment=!0,i};function ce(e){return new be(void 0,void 0,void 0,String(e))}function He(e){var i=new be(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return i.ns=e.ns,i.isStatic=e.isStatic,i.key=e.key,i.isComment=e.isComment,i.fnContext=e.fnContext,i.fnOptions=e.fnOptions,i.fnScopeId=e.fnScopeId,i.asyncMeta=e.asyncMeta,i.isCloned=!0,i}"function"==typeof SuppressedError&&SuppressedError;var pe=0,Se=[],ze=function(){function e(){this._pending=!1,this.id=pe++,this.subs=[]}return e.prototype.addSub=function(e){this.subs.push(e)},e.prototype.removeSub=function(e){this.subs[this.subs.indexOf(e)]=null,this._pending||(this._pending=!0,Se.push(this))},e.prototype.depend=function(i){e.target&&e.target.addDep(this)},e.prototype.notify=function(e){var i=this.subs.filter((function(e){return e}));for(var n=0,a=i.length;n<a;n++){0,i[n].update()}},e}();ze.target=null;var he=[];function Ke(e){he.push(e),ze.target=e}function ve(){he.pop(),ze.target=he[he.length-1]}var Ae=Array.prototype,Te=Object.create(Ae);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(e){var i=Ae[e];j(Te,e,(function(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];var r,l=i.apply(this,n),t=this.__ob__;switch(e){case"push":case"unshift":r=n;break;case"splice":r=n.slice(2)}return r&&t.observeArray(r),t.dep.notify(),l}))}));var fe=Object.getOwnPropertyNames(Te),Be={},Re=!0;function Ye(e){Re=e}var Ne={notify:I,depend:I,addSub:I,removeSub:I},Pe=function(){function e(e,i,n){if(void 0===i&&(i=!1),void 0===n&&(n=!1),this.value=e,this.shallow=i,this.mock=n,this.dep=n?Ne:new ze,this.vmCount=0,j(e,"__ob__",this),r(e)){if(!n)if($)e.__proto__=Te;else for(var a=0,l=fe.length;a<l;a++){j(e,d=fe[a],Te[d])}i||this.observeArray(e)}else{var t=Object.keys(e);for(a=0;a<t.length;a++){var d;De(e,d=t[a],Be,void 0,i,n)}}}return e.prototype.observeArray=function(e){for(var i=0,n=e.length;i<n;i++)Oe(e[i],!1,this.mock)},e}();function Oe(e,i,n){return e&&v(e,"__ob__")&&e.__ob__ instanceof Pe?e.__ob__:!Re||!n&&te()||!r(e)&&!o(e)||!Object.isExtensible(e)||e.__v_skip||je(e)||e instanceof be?void 0:new Pe(e,i,n)}function De(e,i,n,a,l,t,d){void 0===d&&(d=!1);var m=new ze,s=Object.getOwnPropertyDescriptor(e,i);if(!s||!1!==s.configurable){var u=s&&s.get,k=s&&s.set;u&&!k||n!==Be&&2!==arguments.length||(n=e[i]);var o=l?n&&n.__ob__:Oe(n,!1,t);return Object.defineProperty(e,i,{enumerable:!0,configurable:!0,get:function(){var i=u?u.call(e):n;return ze.target&&(m.depend(),o&&(o.dep.depend(),r(i)&&Ze(i))),je(i)&&!l?i.value:i},set:function(i){var a=u?u.call(e):n;if(M(a,i)){if(k)k.call(e,i);else{if(u)return;if(!l&&je(a)&&!je(i))return void(a.value=i);n=i}o=l?i&&i.__ob__:Oe(i,!1,t),m.notify()}}}),m}}function Ie(e,i,n){if(!_e(e)){var a=e.__ob__;return r(e)&&b(i)?(e.length=Math.max(e.length,i),e.splice(i,1,n),a&&!a.shallow&&a.mock&&Oe(n,!1,!0),n):i in e&&!(i in Object.prototype)?(e[i]=n,n):e._isVue||a&&a.vmCount?n:a?(De(a.value,i,n,void 0,a.shallow,a.mock),a.dep.notify(),n):(e[i]=n,n)}}function Ee(e,i){if(r(e)&&b(i))e.splice(i,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||_e(e)||v(e,i)&&(delete e[i],n&&n.dep.notify())}}function Ze(e){for(var i=void 0,n=0,a=e.length;n<a;n++)(i=e[n])&&i.__ob__&&i.__ob__.dep.depend(),r(i)&&Ze(i)}function Ge(e){return Ce(e,!1),e}function Ve(e){return Ce(e,!0),j(e,"__v_isShallow",!0),e}function Ce(e,i){if(!_e(e)){Oe(e,i,te());0}}function Me(e){return _e(e)?Me(e.__v_raw):!(!e||!e.__ob__)}function Fe(e){return!(!e||!e.__v_isShallow)}function _e(e){return!(!e||!e.__v_isReadonly)}function Le(e){return Me(e)||_e(e)}function xe(e){var i=e&&e.__v_raw;return i?xe(i):e}function Ue(e){return Object.isExtensible(e)&&j(e,"__v_skip",!0),e}function je(e){return!(!e||!0!==e.__v_isRef)}function we(e){return Je(e,!1)}function $e(e){return Je(e,!0)}function Je(e,i){if(je(e))return e;var n={};return j(n,"__v_isRef",!0),j(n,"__v_isShallow",i),j(n,"dep",De(n,"value",e,null,i,te())),n}function Xe(e){e.dep&&e.dep.notify()}function We(e){return je(e)?e.value:e}function qe(e){if(Me(e))return e;for(var i={},n=Object.keys(e),a=0;a<n.length;a++)Qe(i,e,n[a]);return i}function Qe(e,i,n){Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:function(){var e=i[n];if(je(e))return e.value;var a=e&&e.__ob__;return a&&a.dep.depend(),e},set:function(e){var a=i[n];je(a)&&!je(e)?a.value=e:i[n]=e}})}function ei(e){var i=new ze,n=e((function(){i.depend()}),(function(){i.notify()})),a=n.get,r=n.set,l={get value(){return a()},set value(e){r(e)}};return j(l,"__v_isRef",!0),l}function ii(e){var i=r(e)?new Array(e.length):{};for(var n in e)i[n]=ni(e,n);return i}function ni(e,i,n){var a=e[i];if(je(a))return a;var r={get value(){var a=e[i];return void 0===a?n:a},set value(n){e[i]=n}};return j(r,"__v_isRef",!0),r}function ai(e){return ri(e,!1)}function ri(e,i){if(!o(e))return e;if(_e(e))return e;var n=i?"__v_rawToShallowReadonly":"__v_rawToReadonly",a=e[n];if(a)return a;var r=Object.create(Object.getPrototypeOf(e));j(e,n,r),j(r,"__v_isReadonly",!0),j(r,"__v_raw",e),je(e)&&j(r,"__v_isRef",!0),(i||Fe(e))&&j(r,"__v_isShallow",!0);for(var l=Object.keys(e),t=0;t<l.length;t++)li(r,e,l[t],i);return r}function li(e,i,n,a){Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:function(){var e=i[n];return a||!o(e)?e:ai(e)},set:function(){}})}function ti(e){return ri(e,!0)}function di(e,i){var n,a,r=s(e);r?(n=e,a=I):(n=e.get,a=e.set);var l=te()?null:new Wn(ke,n,I,{lazy:!0});var t={effect:l,get value(){return l?(l.dirty&&l.evaluate(),ze.target&&l.depend(),l.value):n()},set value(e){a(e)}};return j(t,"__v_isRef",!0),j(t,"__v_isReadonly",r),t}var mi="".concat("watcher"," callback"),si="".concat("watcher"," getter"),ui="".concat("watcher"," cleanup");function ki(e,i){return Hi(e,null,i)}function oi(e,i){return Hi(e,null,{flush:"post"})}function yi(e,i){return Hi(e,null,{flush:"sync"})}var bi,gi={};function ci(e,i,n){return Hi(e,i,n)}function Hi(e,i,n){var l=void 0===n?a:n,t=l.immediate,d=l.deep,m=l.flush,u=void 0===m?"pre":m;l.onTrack,l.onTrigger;var k,o,y=ke,b=function(e,i,n){void 0===n&&(n=null);var a=gn(e,null,n,y,i);return d&&a&&a.__ob__&&a.__ob__.dep.depend(),a},g=!1,c=!1;if(je(e)?(k=function(){return e.value},g=Fe(e)):Me(e)?(k=function(){return e.__ob__.dep.depend(),e},d=!0):r(e)?(c=!0,g=e.some((function(e){return Me(e)||Fe(e)})),k=function(){return e.map((function(e){return je(e)?e.value:Me(e)?(e.__ob__.dep.depend(),$n(e)):s(e)?b(e,si):void 0}))}):k=s(e)?i?function(){return b(e,si)}:function(){if(!y||!y._isDestroyed)return o&&o(),b(e,"watcher",[p])}:I,i&&d){var H=k;k=function(){return $n(H())}}var p=function(e){o=S.onStop=function(){b(e,ui)}};if(te())return p=I,i?t&&b(i,mi,[k(),c?[]:void 0,p]):k(),I;var S=new Wn(ke,k,I,{lazy:!0});S.noRecurse=!i;var z=c?[]:gi;return S.run=function(){if(S.active)if(i){var e=S.get();(d||g||(c?e.some((function(e,i){return M(e,z[i])})):M(e,z)))&&(o&&o(),b(i,mi,[e,z===gi?void 0:z,p]),z=e)}else S.get()},"sync"===u?S.update=S.run:"post"===u?(S.post=!0,S.update=function(){return pa(S)}):S.update=function(){if(y&&y===ke&&!y._isMounted){var e=y._preWatchers||(y._preWatchers=[]);e.indexOf(S)<0&&e.push(S)}else pa(S)},i?t?S.run():z=S.get():"post"===u&&y?y.$once("hook:mounted",(function(){return S.get()})):S.get(),function(){S.teardown()}}var pi=function(){function e(e){void 0===e&&(e=!1),this.detached=e,this.active=!0,this.effects=[],this.cleanups=[],this.parent=bi,!e&&bi&&(this.index=(bi.scopes||(bi.scopes=[])).push(this)-1)}return e.prototype.run=function(e){if(this.active){var i=bi;try{return bi=this,e()}finally{bi=i}}else 0},e.prototype.on=function(){bi=this},e.prototype.off=function(){bi=this.parent},e.prototype.stop=function(e){if(this.active){var i=void 0,n=void 0;for(i=0,n=this.effects.length;i<n;i++)this.effects[i].teardown();for(i=0,n=this.cleanups.length;i<n;i++)this.cleanups[i]();if(this.scopes)for(i=0,n=this.scopes.length;i<n;i++)this.scopes[i].stop(!0);if(!this.detached&&this.parent&&!e){var a=this.parent.scopes.pop();a&&a!==this&&(this.parent.scopes[this.index]=a,a.index=this.index)}this.parent=void 0,this.active=!1}},e}();function Si(e){return new pi(e)}function zi(){return bi}function hi(e){bi&&bi.cleanups.push(e)}function Ki(e,i){ke&&(vi(ke)[e]=i)}function vi(e){var i=e._provided,n=e.$parent&&e.$parent._provided;return n===i?e._provided=Object.create(n):i}function Ai(e,i,n){void 0===n&&(n=!1);var a=ke;if(a){var r=a.$parent&&a.$parent._provided;if(r&&e in r)return r[e];if(arguments.length>1)return n&&s(i)?i.call(a):i}else 0}var Ti=A((function(e){var i="&"===e.charAt(0),n="~"===(e=i?e.slice(1):e).charAt(0),a="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=a?e.slice(1):e,once:n,capture:a,passive:i}}));function fi(e,i){function n(){var e=n.fns;if(!r(e))return gn(e,null,arguments,i,"v-on handler");for(var a=e.slice(),l=0;l<a.length;l++)gn(a[l],null,arguments,i,"v-on handler")}return n.fns=e,n}function Bi(e,i,n,a,r,t){var m,s,u,k;for(m in e)s=e[m],u=i[m],k=Ti(m),l(s)||(l(u)?(l(s.fns)&&(s=e[m]=fi(s,t)),d(k.once)&&(s=e[m]=r(k.name,s,k.capture)),n(k.name,s,k.capture,k.passive,k.params)):s!==u&&(u.fns=s,e[m]=u));for(m in i)l(e[m])&&a((k=Ti(m)).name,i[m],k.capture)}function Ri(e,i,n){var a;e instanceof be&&(e=e.data.hook||(e.data.hook={}));var r=e[i];function m(){n.apply(this,arguments),h(a.fns,m)}l(r)?a=fi([m]):t(r.fns)&&d(r.merged)?(a=r).fns.push(m):a=fi([r,m]),a.merged=!0,e[i]=a}function Yi(e,i,n,a,r){if(t(i)){if(v(i,n))return e[n]=i[n],r||delete i[n],!0;if(v(i,a))return e[n]=i[a],r||delete i[a],!0}return!1}function Ni(e){return m(e)?[ce(e)]:r(e)?function e(i,n){var a,s,u,k,o=[];for(a=0;a<i.length;a++)l(s=i[a])||"boolean"==typeof s||(u=o.length-1,k=o[u],r(s)?s.length>0&&(Pi((s=e(s,"".concat(n||"","_").concat(a)))[0])&&Pi(k)&&(o[u]=ce(k.text+s[0].text),s.shift()),o.push.apply(o,s)):m(s)?Pi(k)?o[u]=ce(k.text+s):""!==s&&o.push(ce(s)):Pi(s)&&Pi(k)?o[u]=ce(k.text+s.text):(d(i._isVList)&&t(s.tag)&&l(s.key)&&t(n)&&(s.key="__vlist".concat(n,"_").concat(a,"__")),o.push(s)));return o}(e):void 0}function Pi(e){return t(e)&&t(e.text)&&!1===e.isComment}function Oi(e,i){var n,a,l,d,m=null;if(r(e)||"string"==typeof e)for(m=new Array(e.length),n=0,a=e.length;n<a;n++)m[n]=i(e[n],n);else if("number"==typeof e)for(m=new Array(e),n=0;n<e;n++)m[n]=i(n+1,n);else if(u(e))if(ue&&e[Symbol.iterator]){m=[];for(var s=e[Symbol.iterator](),k=s.next();!k.done;)m.push(i(k.value,m.length)),k=s.next()}else for(l=Object.keys(e),m=new Array(l.length),n=0,a=l.length;n<a;n++)d=l[n],m[n]=i(e[d],d,n);return t(m)||(m=[]),m._isVList=!0,m}function Di(e,i,n,a){var r,l=this.$scopedSlots[e];l?(n=n||{},a&&(n=O(O({},a),n)),r=l(n)||(s(i)?i():i)):r=this.$slots[e]||(s(i)?i():i);var t=n&&n.slot;return t?this.$createElement("template",{slot:t},r):r}function Ii(e){return Za(this.$options,"filters",e,!0)||Z}function Ei(e,i){return r(e)?-1===e.indexOf(i):e!==i}function Zi(e,i,n,a,r){var l=L.keyCodes[i]||n;return r&&a&&!L.keyCodes[i]?Ei(r,a):l?Ei(l,e):a?Y(a)!==i:void 0===e}function Gi(e,i,n,a,l){if(n)if(u(n)){r(n)&&(n=D(n));var t=void 0,d=function(r){if("class"===r||"style"===r||z(r))t=e;else{var d=e.attrs&&e.attrs.type;t=a||L.mustUseProp(i,d,r)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var m=f(r),s=Y(r);m in t||s in t||(t[r]=n[r],l&&((e.on||(e.on={}))["update:".concat(r)]=function(e){n[r]=e}))};for(var m in n)d(m)}else;return e}function Vi(e,i){var n=this._staticTrees||(this._staticTrees=[]),a=n[e];return a&&!i||Mi(a=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,this._c,this),"__static__".concat(e),!1),a}
vendor: 2,489 bytes, line 7
7function Ci(e,i,n){return Mi(e,"__once__".concat(i).concat(n?"_".concat(n):""),!0),e}function Mi(e,i,n){if(r(e))for(var a=0;a<e.length;a++)e[a]&&"string"!=typeof e[a]&&Fi(e[a],"".concat(i,"_").concat(a),n);else Fi(e,i,n)}function Fi(e,i,n){e.isStatic=!0,e.key=i,e.isOnce=n}function _i(e,i){if(i)if(o(i)){var n=e.on=e.on?O({},e.on):{};for(var a in i){var r=n[a],l=i[a];n[a]=r?[].concat(r,l):l}}else;return e}function Li(e,i,n,a){i=i||{$stable:!n};for(var l=0;l<e.length;l++){var t=e[l];r(t)?Li(t,i,n):t&&(t.proxy&&(t.fn.proxy=!0),i[t.key]=t.fn)}return a&&(i.$key=a),i}function xi(e,i){for(var n=0;n<i.length;n+=2){var a=i[n];"string"==typeof a&&a&&(e[i[n]]=i[n+1])}return e}function Ui(e,i){return"string"==typeof e?i+e:e}function ji(e){e._o=Ci,e._n=p,e._s=c,e._l=Oi,e._t=Di,e._q=G,e._i=V,e._m=Vi,e._f=Ii,e._k=Zi,e._b=Gi,e._v=ce,e._e=ge,e._u=Li,e._g=_i,e._d=xi,e._p=Ui}function wi(e,i){if(!e||!e.length)return{};for(var n={},a=0,r=e.length;a<r;a++){var l=e[a],t=l.data;if(t&&t.attrs&&t.attrs.slot&&delete t.attrs.slot,l.context!==i&&l.fnContext!==i||!t||null==t.slot)(n.default||(n.default=[])).push(l);else{var d=t.slot,m=n[d]||(n[d]=[]);"template"===l.tag?m.push.apply(m,l.children||[]):m.push(l)}}for(var s in n)n[s].every($i)&&delete n[s];return n}function $i(e){return e.isComment&&!e.asyncFactory||" "===e.text}function Ji(e){return e.isComment&&e.asyncFactory}function Xi(e,i,n,r){var l,t=Object.keys(n).length>0,d=i?!!i.$stable:!t,m=i&&i.$key;if(i){if(i._normalized)return i._normalized;if(d&&r&&r!==a&&m===r.$key&&!t&&!r.$hasNormal)return r;for(var s in l={},i)i[s]&&"$"!==s[0]&&(l[s]=Wi(e,n,s,i[s]))}else l={};for(var u in n)u in l||(l[u]=qi(n,u));return i&&Object.isExtensible(i)&&(i._normalized=l),j(l,"$stable",d),j(l,"$key",m),j(l,"$hasNormal",t),l}function Wi(e,i,n,a){var l=function(){var i=ke;ye(e);var n=arguments.length?a.apply(null,arguments):a({}),l=(n=n&&"object"==typeof n&&!r(n)?[n]:Ni(n))&&n[0];return ye(i),n&&(!l||1===n.length&&l.isComment&&!Ji(l))?void 0:n};return a.proxy&&Object.defineProperty(i,n,{get:l,enumerable:!0,configurable:!0}),l}function qi(e,i){return function(){return e[i]}}function Qi(e){return{get attrs(){if(!e._attrsProxy){var i=e._attrsProxy={};j(i,"_v_attr_proxy",!0),en(i,e.$attrs,a,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||en(e._listenersProxy={},e.$listeners,a,e,"$listeners");return e._listenersProxy},get slots(){return function(e){e._slotsProxy||an(e._slotsProxy={},e.$scopedSlots);return e._slotsProxy}(e)}
vendor: 21,517 bytes, line 7
7,emit:N(e.$emit,e),expose:function(i){i&&Object.keys(i).forEach((function(n){return Qe(e,i,n)}))}}}function en(e,i,n,a,r){var l=!1;for(var t in i)t in e?i[t]!==n[t]&&(l=!0):(l=!0,nn(e,t,a,r));for(var t in e)t in i||(l=!0,delete e[t]);return l}function nn(e,i,n,a){Object.defineProperty(e,i,{enumerable:!0,configurable:!0,get:function(){return n[a][i]}})}function an(e,i){for(var n in i)e[n]=i[n];for(var n in e)n in i||delete e[n]}function rn(){return dn().slots}function ln(){return dn().attrs}function tn(){return dn().listeners}function dn(){var e=ke;return e._setupContext||(e._setupContext=Qi(e))}function mn(e,i){var n=r(e)?e.reduce((function(e,i){return e[i]={},e}),{}):e;for(var a in i){var l=n[a];l?r(l)||s(l)?n[a]={type:l,default:i[a]}:l.default=i[a]:null===l&&(n[a]={default:i[a]})}return n}var sn=null;function un(e,i){return(e.__esModule||ue&&"Module"===e[Symbol.toStringTag])&&(e=e.default),u(e)?i.extend(e):e}function kn(e){if(r(e))for(var i=0;i<e.length;i++){var n=e[i];if(t(n)&&(t(n.componentOptions)||Ji(n)))return n}}function on(e,i,n,a,k,o){return(r(n)||m(n))&&(k=a,a=n,n=void 0),d(o)&&(k=2),function(e,i,n,a,m){if(t(n)&&t(n.__ob__))return ge();t(n)&&t(n.is)&&(i=n.is);if(!i)return ge();0;r(a)&&s(a[0])&&((n=n||{}).scopedSlots={default:a[0]},a.length=0);2===m?a=Ni(a):1===m&&(a=function(e){for(var i=0;i<e.length;i++)if(r(e[i]))return Array.prototype.concat.apply([],e);return e}(a));var k,o;if("string"==typeof i){var y=void 0;o=e.$vnode&&e.$vnode.ns||L.getTagNamespace(i),k=L.isReservedTag(i)?new be(L.parsePlatformTagName(i),n,a,void 0,void 0,e):n&&n.pre||!t(y=Za(e.$options,"components",i))?new be(i,n,a,void 0,void 0,e):fa(y,n,e,a,i)}else k=fa(i,n,e,a);return r(k)?k:t(k)?(t(o)&&function e(i,n,a){i.ns=n,"foreignObject"===i.tag&&(n=void 0,a=!0);if(t(i.children))for(var r=0,m=i.children.length;r<m;r++){var s=i.children[r];t(s.tag)&&(l(s.ns)||d(a)&&"svg"!==s.tag)&&e(s,n,a)}}(k,o),t(n)&&function(e){u(e.style)&&$n(e.style);u(e.class)&&$n(e.class)}(n),k):ge()}(e,i,n,a,k)}function yn(e,i,n){return on(ke,e,i,n,2,!0)}function bn(e,i,n){Ke();try{if(i)for(var a=i;a=a.$parent;){var r=a.$options.errorCaptured;if(r)for(var l=0;l<r.length;l++)try{if(!1===r[l].call(a,e,i,n))return}catch(e){cn(e,a,"errorCaptured hook")}}cn(e,i,n)}finally{ve()}}function gn(e,i,n,a,r){var l;try{(l=n?e.apply(i,n):e.call(i))&&!l._isVue&&g(l)&&!l._handled&&(l.catch((function(e){return bn(e,a,r+" (Promise/async)")})),l._handled=!0)}catch(e){bn(e,a,r)}return l}function cn(e,i,n){if(L.errorHandler)try{return L.errorHandler.call(null,e,i,n)}catch(i){i!==e&&Hn(i,null,"config.errorHandler")}Hn(e,i,n)}function Hn(e,i,n){if(!J||"undefined"==typeof console)throw e;console.error(e)}var pn,Sn=!1,zn=[],hn=!1;function Kn(){hn=!1;var e=zn.slice(0);zn.length=0;for(var i=0;i<e.length;i++)e[i]()}if("undefined"!=typeof Promise&&me(Promise)){var vn=Promise.resolve();pn=function(){vn.then(Kn),ee&&setTimeout(I)},Sn=!0}else if(W||"undefined"==typeof MutationObserver||!me(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())pn="undefined"!=typeof setImmediate&&me(setImmediate)?function(){setImmediate(Kn)}:function(){setTimeout(Kn,0)};else{var An=1,Tn=new MutationObserver(Kn),fn=document.createTextNode(String(An));Tn.observe(fn,{characterData:!0}),pn=function(){An=(An+1)%2,fn.data=String(An)},Sn=!0}function Bn(e,i){var n;if(zn.push((function(){if(e)try{e.call(i)}catch(e){bn(e,i,"nextTick")}else n&&n(i)})),hn||(hn=!0,pn()),!e&&"undefined"!=typeof Promise)return new Promise((function(e){n=e}))}function Rn(e){if(void 0===e&&(e="$style"),!ke)return a;var i=ke[e];return i||a}function Yn(e){if(J){var i=ke;i&&oi((function(){var n=i.$el,a=e(i,i._setupProxy);if(n&&1===n.nodeType){var r=n.style;for(var l in a)r.setProperty("--".concat(l),a[l])}}))}}function Nn(e){s(e)&&(e={loader:e});var i=e.loader,n=e.loadingComponent,a=e.errorComponent,r=e.delay,l=void 0===r?200:r,t=e.timeout,d=(e.suspensible,e.onError);var m=null,u=0,k=function(){var e;return m||(e=m=i().catch((function(e){if(e=e instanceof Error?e:new Error(String(e)),d)return new Promise((function(i,n){d(e,(function(){return i((u++,m=null,k()))}),(function(){return n(e)}),u+1)}));throw e})).then((function(i){return e!==m&&m?m:(i&&(i.__esModule||"Module"===i[Symbol.toStringTag])&&(i=i.default),i)})))};return function(){return{component:k(),delay:l,timeout:t,error:a,loading:n}}}function Pn(e){return function(i,n){if(void 0===n&&(n=ke),n)return function(e,i,n){var a=e.$options;a[i]=Oa(a[i],n)}(n,e,i)}}var On=Pn("beforeMount"),Dn=Pn("mounted"),In=Pn("beforeUpdate"),En=Pn("updated"),Zn=Pn("beforeDestroy"),Gn=Pn("destroyed"),Vn=Pn("activated"),Cn=Pn("deactivated"),Mn=Pn("serverPrefetch"),Fn=Pn("renderTracked"),_n=Pn("renderTriggered"),Ln=Pn("errorCaptured");function xn(e,i){void 0===i&&(i=ke),Ln(e,i)}var Un="2.7.16";function jn(e){return e}var wn=new se;function $n(e){return function e(i,n){var a,l,t=r(i);if(!t&&!u(i)||i.__v_skip||Object.isFrozen(i)||i instanceof be)return;if(i.__ob__){var d=i.__ob__.dep.id;if(n.has(d))return;n.add(d)}if(t)for(a=i.length;a--;)e(i[a],n);else if(je(i))e(i.value,n);else for(l=Object.keys(i),a=l.length;a--;)e(i[l[a]],n)}(e,wn),wn.clear(),e}var Jn,Xn=0,Wn=function(){function e(e,i,n,a,r){var l,t;l=this,void 0===(t=bi&&!bi._vm?bi:e?e._scope:void 0)&&(t=bi),t&&t.active&&t.effects.push(l),(this.vm=e)&&r&&(e._watcher=this),a?(this.deep=!!a.deep,this.user=!!a.user,this.lazy=!!a.lazy,this.sync=!!a.sync,this.before=a.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Xn,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new se,this.newDepIds=new se,this.expression="",s(i)?this.getter=i:(this.getter=function(e){if(!w.test(e)){var i=e.split(".");return function(e){for(var n=0;n<i.length;n++){if(!e)return;e=e[i[n]]}return e}}}(i),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()}return e.prototype.get=function(){var e;Ke(this);var i=this.vm;try{e=this.getter.call(i,i)}catch(e){if(!this.user)throw e;bn(e,i,'getter for watcher "'.concat(this.expression,'"'))}finally{this.deep&&$n(e),ve(),this.cleanupDeps()}return e},e.prototype.addDep=function(e){var i=e.id;this.newDepIds.has(i)||(this.newDepIds.add(i),this.newDeps.push(e),this.depIds.has(i)||e.addSub(this))},e.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var i=this.deps[e];this.newDepIds.has(i.id)||i.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},e.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():pa(this)},e.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||u(e)||this.deep){var i=this.value;if(this.value=e,this.user){var n='callback for watcher "'.concat(this.expression,'"');gn(this.cb,this.vm,[e,i],this.vm,n)}else this.cb.call(this.vm,e,i)}}},e.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},e.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},e.prototype.teardown=function(){if(this.vm&&!this.vm._isBeingDestroyed&&h(this.vm._scope.effects,this),this.active){for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1,this.onStop&&this.onStop()}},e}();function qn(e,i){Jn.$on(e,i)}function Qn(e,i){Jn.$off(e,i)}function ea(e,i){var n=Jn;return function a(){var r=i.apply(null,arguments);null!==r&&n.$off(e,a)}}function ia(e,i,n){Jn=e,Bi(i,n||{},qn,Qn,ea,e),Jn=void 0}var na=null;function aa(e){var i=na;return na=e,function(){na=i}}function ra(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function la(e,i){if(i){if(e._directInactive=!1,ra(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)la(e.$children[n]);ta(e,"activated")}}function ta(e,i,n,a){void 0===a&&(a=!0),Ke();var r=ke,l=zi();a&&ye(e);var t=e.$options[i],d="".concat(i," hook");if(t)for(var m=0,s=t.length;m<s;m++)gn(t[m],e,n||null,e,d);e._hasHookEvent&&e.$emit("hook:"+i),a&&(ye(r),l&&l.on()),ve()}var da=[],ma=[],sa={},ua=!1,ka=!1,oa=0;var ya=0,ba=Date.now;if(J&&!W){var ga=window.performance;ga&&"function"==typeof ga.now&&ba()>document.createEvent("Event").timeStamp&&(ba=function(){return ga.now()})}var ca=function(e,i){if(e.post){if(!i.post)return 1}else if(i.post)return-1;return e.id-i.id};function Ha(){var e,i;for(ya=ba(),ka=!0,da.sort(ca),oa=0;oa<da.length;oa++)(e=da[oa]).before&&e.before(),i=e.id,sa[i]=null,e.run();var n=ma.slice(),a=da.slice();oa=da.length=ma.length=0,sa={},ua=ka=!1,function(e){for(var i=0;i<e.length;i++)e[i]._inactive=!0,la(e[i],!0)}(n),function(e){var i=e.length;for(;i--;){var n=e[i],a=n.vm;a&&a._watcher===n&&a._isMounted&&!a._isDestroyed&&ta(a,"updated")}}(a),function(){for(var e=0;e<Se.length;e++){var i=Se[e];i.subs=i.subs.filter((function(e){return e})),i._pending=!1}Se.length=0}(),de&&L.devtools&&de.emit("flush")}function pa(e){var i=e.id;if(null==sa[i]&&(e!==ze.target||!e.noRecurse)){if(sa[i]=!0,ka){for(var n=da.length-1;n>oa&&da[n].id>e.id;)n--;da.splice(n+1,0,e)}else da.push(e);ua||(ua=!0,Bn(Ha))}}function Sa(e,i){if(e){for(var n=Object.create(null),a=ue?Reflect.ownKeys(e):Object.keys(e),r=0;r<a.length;r++){var l=a[r];if("__ob__"!==l){var t=e[l].from;if(t in i._provided)n[l]=i._provided[t];else if("default"in e[l]){var d=e[l].default;n[l]=s(d)?d.call(i):d}else 0}}return n}}function za(e,i,n,l,t){var m,s=this,u=t.options;v(l,"_uid")?(m=Object.create(l))._original=l:(m=l,l=l._original);var k=d(u._compiled),o=!k;this.data=e,this.props=i,this.children=n,this.parent=l,this.listeners=e.on||a,this.injections=Sa(u.inject,l),this.slots=function(){return s.$slots||Xi(l,e.scopedSlots,s.$slots=wi(n,l)),s.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Xi(l,e.scopedSlots,this.slots())}}),k&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=Xi(l,e.scopedSlots,this.$slots)),u._scopeId?this._c=function(e,i,n,a){var t=on(m,e,i,n,a,o);return t&&!r(t)&&(t.fnScopeId=u._scopeId,t.fnContext=l),t}:this._c=function(e,i,n,a){return on(m,e,i,n,a,o)}}function ha(e,i,n,a,r){var l=He(e);return l.fnContext=n,l.fnOptions=a,i.slot&&((l.data||(l.data={})).slot=i.slot),l}function Ka(e,i){for(var n in i)e[f(n)]=i[n]}function va(e){return e.name||e.__name||e._componentTag}ji(za.prototype);var Aa={init:function(e,i){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var n=e;Aa.prepatch(n,n)}else{(e.componentInstance=function(e,i){var n={_isComponent:!0,_parentVnode:e,parent:i},a=e.data.inlineTemplate;t(a)&&(n.render=a.render,n.staticRenderFns=a.staticRenderFns);return new e.componentOptions.Ctor(n)}(e,na)).$mount(i?e.elm:void 0,i)}},prepatch:function(e,i){var n=i.componentOptions;!function(e,i,n,r,l){var t=r.data.scopedSlots,d=e.$scopedSlots,m=!!(t&&!t.$stable||d!==a&&!d.$stable||t&&e.$scopedSlots.$key!==t.$key||!t&&e.$scopedSlots.$key),s=!!(l||e.$options._renderChildren||m),u=e.$vnode;e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=l;var k=r.data.attrs||a;e._attrsProxy&&en(e._attrsProxy,k,u.data&&u.data.attrs||a,e,"$attrs")&&(s=!0),e.$attrs=k,n=n||a;var o=e.$options._parentListeners;if(e._listenersProxy&&en(e._listenersProxy,n,o||a,e,"$listeners"),e.$listeners=e.$options._parentListeners=n,ia(e,n,o),i&&e.$options.props){Ye(!1);for(var y=e._props,b=e.$options._propKeys||[],g=0;g<b.length;g++){var c=b[g],H=e.$options.props;y[c]=Ga(c,H,i,e)}Ye(!0),e.$options.propsData=i}s&&(e.$slots=wi(l,r.context),e.$forceUpdate())}(i.componentInstance=e.componentInstance,n.propsData,n.listeners,i,n.children)},insert:function(e){var i,n=e.context,a=e.componentInstance;a._isMounted||(a._isMounted=!0,ta(a,"mounted")),e.data.keepAlive&&(n._isMounted?((i=a)._inactive=!1,ma.push(i)):la(a,!0))},destroy:function(e){var i=e.componentInstance;i._isDestroyed||(e.data.keepAlive?function e(i,n){if(!(n&&(i._directInactive=!0,ra(i))||i._inactive)){i._inactive=!0;for(var a=0;a<i.$children.length;a++)e(i.$children[a]);ta(i,"deactivated")}}(i,!0):i.$destroy())}},Ta=Object.keys(Aa);function fa(e,i,n,m,s){if(!l(e)){var k=n.$options._base;if(u(e)&&(e=k.extend(e)),"function"==typeof e){var o;if(l(e.cid)&&void 0===(e=function(e,i){if(d(e.error)&&t(e.errorComp))return e.errorComp;if(t(e.resolved))return e.resolved;var n=sn;if(n&&t(e.owners)&&-1===e.owners.indexOf(n)&&e.owners.push(n),d(e.loading)&&t(e.loadingComp))return e.loadingComp;if(n&&!t(e.owners)){var a=e.owners=[n],r=!0,m=null,s=null;n.$on("hook:destroyed",(function(){return h(a,n)}));var k=function(e){for(var i=0,n=a.length;i<n;i++)a[i].$forceUpdate();e&&(a.length=0,null!==m&&(clearTimeout(m),m=null),null!==s&&(clearTimeout(s),s=null))},o=C((function(n){e.resolved=un(n,i),r?a.length=0:k(!0)})),y=C((function(i){t(e.errorComp)&&(e.error=!0,k(!0))})),b=e(o,y);return u(b)&&(g(b)?l(e.resolved)&&b.then(o,y):g(b.component)&&(b.component.then(o,y),t(b.error)&&(e.errorComp=un(b.error,i)),t(b.loading)&&(e.loadingComp=un(b.loading,i),0===b.delay?e.loading=!0:m=setTimeout((function(){m=null,l(e.resolved)&&l(e.error)&&(e.loading=!0,k(!1))}),b.delay||200)),t(b.timeout)&&(s=setTimeout((function(){s=null,l(e.resolved)&&y(null)}),b.timeout)))),r=!1,e.loading?e.loadingComp:e.resolved}}(o=e,k)))return function(e,i,n,a,r){var l=ge();return l.asyncFactory=e,l.asyncMeta={data:i,context:n,children:a,tag:r},l}(o,i,n,m,s);i=i||{},Wa(e),t(i.model)&&function(e,i){var n=e.model&&e.model.prop||"value",a=e.model&&e.model.event||"input";(i.attrs||(i.attrs={}))[n]=i.model.value;var l=i.on||(i.on={}),d=l[a],m=i.model.callback;t(d)?(r(d)?-1===d.indexOf(m):d!==m)&&(l[a]=[m].concat(d)):l[a]=m}(e.options,i);var y=function(e,i,n){var a=i.options.props;if(!l(a)){var r={},d=e.attrs,m=e.props;if(t(d)||t(m))for(var s in a){var u=Y(s);Yi(r,m,s,u,!0)||Yi(r,d,s,u,!1)}return r}}(i,e);if(d(e.options.functional))return function(e,i,n,l,d){var m=e.options,s={},u=m.props;if(t(u))for(var k in u)s[k]=Ga(k,u,i||a);else t(n.attrs)&&Ka(s,n.attrs),t(n.props)&&Ka(s,n.props);var o=new za(n,s,d,l,e),y=m.render.call(null,o._c,o);if(y instanceof be)return ha(y,n,o.parent,m,o);if(r(y)){for(var b=Ni(y)||[],g=new Array(b.length),c=0;c<b.length;c++)g[c]=ha(b[c],n,o.parent,m,o);return g}}(e,y,i,n,m);var b=i.on;if(i.on=i.nativeOn,d(e.options.abstract)){var c=i.slot;i={},c&&(i.slot=c)}!function(e){for(var i=e.hook||(e.hook={}),n=0;n<Ta.length;n++){var a=Ta[n],r=i[a],l=Aa[a];r===l||r&&r._merged||(i[a]=r?Ba(l,r):l)}}(i);var H=va(e.options)||s;return new be("vue-component-".concat(e.cid).concat(H?"-".concat(H):""),i,void 0,void 0,void 0,n,{Ctor:e,propsData:y,listeners:b,tag:s,children:m},o)}}}function Ba(e,i){var n=function(n,a){e(n,a),i(n,a)};return n._merged=!0,n}var Ra=I,Ya=L.optionMergeStrategies;function Na(e,i,n){if(void 0===n&&(n=!0),!i)return e;for(var a,r,l,t=ue?Reflect.ownKeys(i):Object.keys(i),d=0;d<t.length;d++)"__ob__"!==(a=t[d])&&(r=e[a],l=i[a],n&&v(e,a)?r!==l&&o(r)&&o(l)&&Na(r,l):Ie(e,a,l));return e}function Pa(e,i,n){return n?function(){var a=s(i)?i.call(n,n):i,r=s(e)?e.call(n,n):e;return a?Na(a,r):r}:i?e?function(){return Na(s(i)?i.call(this,this):i,s(e)?e.call(this,this):e)}:i:e}function Oa(e,i){var n=i?e?e.concat(i):r(i)?i:[i]:e;return n?function(e){for(var i=[],n=0;n<e.length;n++)-1===i.indexOf(e[n])&&i.push(e[n]);return i}(n):n}function Da(e,i,n,a){var r=Object.create(e||null);return i?O(r,i):r}Ya.data=function(e,i,n){return n?Pa(e,i,n):i&&"function"!=typeof i?e:Pa(e,i)},_.forEach((function(e){Ya[e]=Oa})),F.forEach((function(e){Ya[e+"s"]=Da})),Ya.watch=function(e,i,n,a){if(e===ae&&(e=void 0),i===ae&&(i=void 0),!i)return Object.create(e||null);if(!e)return i;var l={};for(var t in O(l,e),i){var d=l[t],m=i[t];d&&!r(d)&&(d=[d]),l[t]=d?d.concat(m):r(m)?m:[m]}return l},Ya.props=Ya.methods=Ya.inject=Ya.computed=function(e,i,n,a){if(!e)return i;var r=Object.create(null);return O(r,e),i&&O(r,i),r},Ya.provide=function(e,i){return e?function(){var n=Object.create(null);return Na(n,s(e)?e.call(this):e),i&&Na(n,s(i)?i.call(this):i,!1),n}:i};var Ia=function(e,i){return void 0===i?e:i};function Ea(e,i,n){if(s(i)&&(i=i.options),function(e,i){var n=e.props;if(n){var a,l,t={};if(r(n))for(a=n.length;a--;)"string"==typeof(l=n[a])&&(t[f(l)]={type:null});else if(o(n))for(var d in n)l=n[d],t[f(d)]=o(l)?l:{type:l};else 0;e.props=t}}(i),function(e,i){var n=e.inject;if(n){var a=e.inject={};if(r(n))for(var l=0;l<n.length;l++)a[n[l]]={from:n[l]};else if(o(n))for(var t in n){var d=n[t];a[t]=o(d)?O({from:t},d):{from:d}}else 0}}(i),function(e){var i=e.directives;if(i)for(var n in i){var a=i[n];s(a)&&(i[n]={bind:a,update:a})}}(i),!i._base&&(i.extends&&(e=Ea(e,i.extends,n)),i.mixins))for(var a=0,l=i.mixins.length;a<l;a++)e=Ea(e,i.mixins[a],n);var t,d={};for(t in e)m(t);for(t in i)v(e,t)||m(t);function m(a){var r=Ya[a]||Ia;d[a]=r(e[a],i[a],n,a)}return d}function Za(e,i,n,a){if("string"==typeof n){var r=e[i];if(v(r,n))return r[n];var l=f(n);if(v(r,l))return r[l];var t=B(l);return v(r,t)?r[t]:r[n]||r[l]||r[t]}}function Ga(e,i,n,a){var r=i[e],l=!v(n,e),t=n[e],d=Fa(Boolean,r.type);if(d>-1)if(l&&!v(r,"default"))t=!1;else if(""===t||t===Y(e)){var m=Fa(String,r.type);(m<0||d<m)&&(t=!0)}if(void 0===t){t=function(e,i,n){if(!v(i,"default"))return;var a=i.default;0;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return s(a)&&"Function"!==Ca(i.type)?a.call(e):a}(a,r,e);var u=Re;Ye(!0),Oe(t),Ye(u)}return t}var Va=/^\s*function (\w+)/;function Ca(e){var i=e&&e.toString().match(Va);return i?i[1]:""}function Ma(e,i){return Ca(e)===Ca(i)}function Fa(e,i){if(!r(i))return Ma(i,e)?0:-1;for(var n=0,a=i.length;n<a;n++)if(Ma(i[n],e))return n;return-1}var _a={enumerable:!0,configurable:!0,get:I,set:I};function La(e,i,n){_a.get=function(){return this[i][n]},_a.set=function(e){this[i][n]=e},Object.defineProperty(e,n,_a)}function xa(e){var i=e.$options;if(i.props&&function(e,i){var n=e.$options.propsData||{},a=e._props=Ve({}),r=e.$options._propKeys=[];e.$parent&&Ye(!1);var l=function(l){r.push(l);var t=Ga(l,i,n,e);De(a,l,t,void 0,!0),l in e||La(e,"_props",l)};for(var t in i)l(t);Ye(!0)}(e,i.props),function(e){var i=e.$options,n=i.setup;if(n){var a=e._setupContext=Qi(e);ye(e),Ke();var r=gn(n,null,[e._props||Ve({}),a],e,"setup");if(ve(),ye(),s(r))i.render=r;else if(u(r))if(e._setupState=r,r.__sfc){var l=e._setupProxy={};for(var t in r)"__sfc"!==t&&Qe(l,r,t)}else for(var t in r)U(t)||Qe(e,r,t);else 0}}(e),i.methods&&function(e,i){e.$options.props;for(var n in i)e[n]="function"!=typeof i[n]?I:N(i[n],e)}(e,i.methods),i.data)!function(e){var i=e.$options.data;o(i=e._data=s(i)?function(e,i){Ke();try{return e.call(i,i)}catch(e){return bn(e,i,"data()"),{}}finally{ve()}}(i,e):i||{})||(i={});var n=Object.keys(i),a=e.$options.props,r=(e.$options.methods,n.length);for(;r--;){var l=n[r];0,a&&v(a,l)||U(l)||La(e,"_data",l)}var t=Oe(i);t&&t.vmCount++}(e);else{var n=Oe(e._data={});n&&n.vmCount++}i.computed&&function(e,i){var n=e._computedWatchers=Object.create(null),a=te();for(var r in i){var l=i[r],t=s(l)?l:l.get;0,a||(n[r]=new Wn(e,t||I,I,Ua)),r in e||ja(e,r,l)}}(e,i.computed),i.watch&&i.watch!==ae&&function(e,i){for(var n in i){var a=i[n];if(r(a))for(var l=0;l<a.length;l++)Ja(e,n,a[l]);else Ja(e,n,a)}}(e,i.watch)}var Ua={lazy:!0};function ja(e,i,n){var a=!te();s(n)?(_a.get=a?wa(i):$a(n),_a.set=I):(_a.get=n.get?a&&!1!==n.cache?wa(i):$a(n.get):I,_a.set=n.set||I),Object.defineProperty(e,i,_a)}function wa(e){return function(){var i=this._computedWatchers&&this._computedWatchers[e];if(i)return i.dirty&&i.evaluate(),ze.target&&i.depend(),i.value}}function $a(e){return function(){return e.call(this,this)}}function Ja(e,i,n,a){return o(n)&&(a=n,n=n.handler),"string"==typeof n&&(n=e[n]),e.$watch(i,n,a)}var Xa=0;function Wa(e){var i=e.options;if(e.super){var n=Wa(e.super);if(n!==e.superOptions){e.superOptions=n;var a=function(e){var i,n=e.options,a=e.sealedOptions;for(var r in n)n[r]!==a[r]&&(i||(i={}),i[r]=n[r]);return i}(e);a&&O(e.extendOptions,a),(i=e.options=Ea(n,e.extendOptions)).name&&(i.components[i.name]=e)}}return i}function qa(e){this._init(e)}function Qa(e){e.cid=0;var i=1;e.extend=function(e){e=e||{};var n=this,a=n.cid,r=e._Ctor||(e._Ctor={});if(r[a])return r[a];var l=va(e)||va(n.options);var t=function(e){this._init(e)};return(t.prototype=Object.create(n.prototype)).constructor=t,t.cid=i++,t.options=Ea(n.options,e),t.super=n,t.options.props&&function(e){var i=e.options.props;for(var n in i)La(e.prototype,"_props",n)}(t),t.options.computed&&function(e){var i=e.options.computed;for(var n in i)ja(e.prototype,n,i[n])}(t),t.extend=n.extend,t.mixin=n.mixin,t.use=n.use,F.forEach((function(e){t[e]=n[e]})),l&&(t.options.components[l]=t),t.superOptions=n.options,t.extendOptions=e,t.sealedOptions=O({},t.options),r[a]=t,t}}function er(e){return e&&(va(e.Ctor.options)||e.tag)}function ir(e,i){return r(e)?e.indexOf(i)>-1:"string"==typeof e?e.split(",").indexOf(i)>-1:!!y(e)&&e.test(i)}function nr(e,i){var n=e.cache,a=e.keys,r=e._vnode,l=e.$vnode;for(var t in n){var d=n[t];if(d){var m=d.name;m&&!i(m)&&ar(n,t,a,r)}}l.componentOptions.children=void 0}function ar(e,i,n,a){var r=e[i];!r||a&&r.tag===a.tag||r.componentInstance.$destroy(),e[i]=null,h(n,i)}!function(e){e.prototype._init=function(e){var i=this;i._uid=Xa++,i._isVue=!0,i.__v_skip=!0,i._scope=new pi(!0),i._scope.parent=void 0,i._scope._vm=!0,e&&e._isComponent?function(e,i){var n=e.$options=Object.create(e.constructor.options),a=i._parentVnode;
vendor: 1,248 bytes, line 7
7n.parent=i.parent,n._parentVnode=a;var r=a.componentOptions;n.propsData=r.propsData,n._parentListeners=r.listeners,n._renderChildren=r.children,n._componentTag=r.tag,i.render&&(n.render=i.render,n.staticRenderFns=i.staticRenderFns)}(i,e):i.$options=Ea(Wa(i.constructor),e||{},i),i._renderProxy=i,i._self=i,function(e){var i=e.$options,n=i.parent;if(n&&!i.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._provided=n?n._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(i),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var i=e.$options._parentListeners;i&&ia(e,i)}(i),function(e){e._vnode=null,e._staticTrees=null;var i=e.$options,n=e.$vnode=i._parentVnode,r=n&&n.context;e.$slots=wi(i._renderChildren,r),e.$scopedSlots=n?Xi(e.$parent,n.data.scopedSlots,e.$slots):a,e._c=function(i,n,a,r){return on(e,i,n,a,r,!1)},e.$createElement=function(i,n,a,r){return on(e,i,n,a,r,!0)};var l=n&&n.data;De(e,"$attrs",l&&l.attrs||a,null,!0),De(e,"$listeners",i._parentListeners||a,null,!0)}(i),ta(i,"beforeCreate",void 0,!1),function(e){var i=Sa(e.$options.inject,e);
vendor: 31,835 bytes, line 7
7i&&(Ye(!1),Object.keys(i).forEach((function(n){De(e,n,i[n])})),Ye(!0))}(i),xa(i),function(e){var i=e.$options.provide;if(i){var n=s(i)?i.call(e):i;if(!u(n))return;for(var a=vi(e),r=ue?Reflect.ownKeys(n):Object.keys(n),l=0;l<r.length;l++){var t=r[l];Object.defineProperty(a,t,Object.getOwnPropertyDescriptor(n,t))}}}(i),ta(i,"created"),i.$options.el&&i.$mount(i.$options.el)}}(qa),function(e){var i={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",i),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Ie,e.prototype.$delete=Ee,e.prototype.$watch=function(e,i,n){if(o(i))return Ja(this,e,i,n);(n=n||{}).user=!0;var a=new Wn(this,e,i,n);if(n.immediate){var r='callback for immediate watcher "'.concat(a.expression,'"');Ke(),gn(i,this,[a.value],this,r),ve()}return function(){a.teardown()}}}(qa),function(e){var i=/^hook:/;e.prototype.$on=function(e,n){var a=this;if(r(e))for(var l=0,t=e.length;l<t;l++)a.$on(e[l],n);else(a._events[e]||(a._events[e]=[])).push(n),i.test(e)&&(a._hasHookEvent=!0);return a},e.prototype.$once=function(e,i){var n=this;function a(){n.$off(e,a),i.apply(n,arguments)}return a.fn=i,n.$on(e,a),n},e.prototype.$off=function(e,i){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(r(e)){for(var a=0,l=e.length;a<l;a++)n.$off(e[a],i);return n}var t,d=n._events[e];if(!d)return n;if(!i)return n._events[e]=null,n;for(var m=d.length;m--;)if((t=d[m])===i||t.fn===i){d.splice(m,1);break}return n},e.prototype.$emit=function(e){var i=this,n=i._events[e];if(n){n=n.length>1?P(n):n;for(var a=P(arguments,1),r='event handler for "'.concat(e,'"'),l=0,t=n.length;l<t;l++)gn(n[l],i,a,i,r)}return i}}(qa),function(e){e.prototype._update=function(e,i){var n=this,a=n.$el,r=n._vnode,l=aa(n);n._vnode=e,n.$el=r?n.__patch__(r,e):n.__patch__(n.$el,e,i,!1),l(),a&&(a.__vue__=null),n.$el&&(n.$el.__vue__=n);for(var t=n;t&&t.$vnode&&t.$parent&&t.$vnode===t.$parent._vnode;)t.$parent.$el=t.$el,t=t.$parent},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){ta(e,"beforeDestroy"),e._isBeingDestroyed=!0;var i=e.$parent;!i||i._isBeingDestroyed||e.$options.abstract||h(i.$children,e),e._scope.stop(),e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),ta(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(qa),function(e){ji(e.prototype),e.prototype.$nextTick=function(e){return Bn(e,this)},e.prototype._render=function(){var e=this,i=e.$options,n=i.render,a=i._parentVnode;a&&e._isMounted&&(e.$scopedSlots=Xi(e.$parent,a.data.scopedSlots,e.$slots,e.$scopedSlots),e._slotsProxy&&an(e._slotsProxy,e.$scopedSlots)),e.$vnode=a;var l,t=ke,d=sn;try{ye(e),sn=e,l=n.call(e._renderProxy,e.$createElement)}catch(i){bn(i,e,"render"),l=e._vnode}finally{sn=d,ye(t)}return r(l)&&1===l.length&&(l=l[0]),l instanceof be||(l=ge()),l.parent=a,l}}(qa);var rr=[String,RegExp,Array],lr={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:rr,exclude:rr,max:[String,Number]},methods:{cacheVNode:function(){var e=this.cache,i=this.keys,n=this.vnodeToCache,a=this.keyToCache;if(n){var r=n.tag,l=n.componentInstance,t=n.componentOptions;e[a]={name:er(t),tag:r,componentInstance:l},i.push(a),this.max&&i.length>parseInt(this.max)&&ar(e,i[0],i,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)ar(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(i){nr(e,(function(e){return ir(i,e)}))})),this.$watch("exclude",(function(i){nr(e,(function(e){return!ir(i,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,i=kn(e),n=i&&i.componentOptions;if(n){var a=er(n),r=this.include,l=this.exclude;if(r&&(!a||!ir(r,a))||l&&a&&ir(l,a))return i;var t=this.cache,d=this.keys,m=null==i.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):i.key;t[m]?(i.componentInstance=t[m].componentInstance,h(d,m),d.push(m)):(this.vnodeToCache=i,this.keyToCache=m),i.data.keepAlive=!0}return i||e&&e[0]}}};!function(e){var i={get:function(){return L}};Object.defineProperty(e,"config",i),e.util={warn:Ra,extend:O,mergeOptions:Ea,defineReactive:De},e.set=Ie,e.delete=Ee,e.nextTick=Bn,e.observable=function(e){return Oe(e),e},e.options=Object.create(null),F.forEach((function(i){e.options[i+"s"]=Object.create(null)})),e.options._base=e,O(e.options.components,lr),function(e){e.use=function(e){var i=this._installedPlugins||(this._installedPlugins=[]);if(i.indexOf(e)>-1)return this;var n=P(arguments,1);return n.unshift(this),s(e.install)?e.install.apply(e,n):s(e)&&e.apply(null,n),i.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Ea(this.options,e),this}}(e),Qa(e),function(e){F.forEach((function(i){e[i]=function(e,n){return n?("component"===i&&o(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===i&&s(n)&&(n={bind:n,update:n}),this.options[i+"s"][e]=n,n):this.options[i+"s"][e]}}))}(e)}(qa),Object.defineProperty(qa.prototype,"$isServer",{get:te}),Object.defineProperty(qa.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(qa,"FunctionalRenderContext",{value:za}),qa.version=Un;var tr=S("style,class"),dr=S("input,textarea,option,select,progress"),mr=S("contenteditable,draggable,spellcheck"),sr=S("events,caret,typing,plaintext-only"),ur=S("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),kr="http://www.w3.org/1999/xlink",or=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},yr=function(e){return or(e)?e.slice(6,e.length):""},br=function(e){return null==e||!1===e};function gr(e){for(var i=e.data,n=e,a=e;t(a.componentInstance);)(a=a.componentInstance._vnode)&&a.data&&(i=cr(a.data,i));for(;t(n=n.parent);)n&&n.data&&(i=cr(i,n.data));return function(e,i){if(t(e)||t(i))return Hr(e,pr(i));return""}(i.staticClass,i.class)}function cr(e,i){return{staticClass:Hr(e.staticClass,i.staticClass),class:t(e.class)?[e.class,i.class]:i.class}}function Hr(e,i){return e?i?e+" "+i:e:i||""}function pr(e){return Array.isArray(e)?function(e){for(var i,n="",a=0,r=e.length;a<r;a++)t(i=pr(e[a]))&&""!==i&&(n&&(n+=" "),n+=i);return n}(e):u(e)?function(e){var i="";for(var n in e)e[n]&&(i&&(i+=" "),i+=n);return i}(e):"string"==typeof e?e:""}var Sr={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},zr=S("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),hr=S("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Kr=function(e){return zr(e)||hr(e)};var vr=Object.create(null);var Ar=S("text,number,password,search,email,tel,url");var Tr=Object.freeze({__proto__:null,createElement:function(e,i){var n=document.createElement(e);return"select"!==e||i.data&&i.data.attrs&&void 0!==i.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(e,i){return document.createElementNS(Sr[e],i)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,i,n){e.insertBefore(i,n)},removeChild:function(e,i){e.removeChild(i)},appendChild:function(e,i){e.appendChild(i)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,i){e.textContent=i},setStyleScope:function(e,i){e.setAttribute(i,"")}}),fr={create:function(e,i){Br(i)},update:function(e,i){e.data.ref!==i.data.ref&&(Br(e,!0),Br(i))},destroy:function(e){Br(e,!0)}};function Br(e,i){var n=e.data.ref;if(t(n)){var a=e.context,l=e.componentInstance||e.elm,d=i?null:l,m=i?void 0:l;if(s(n))gn(n,a,[d],a,"template ref function");else{var u=e.data.refInFor,k="string"==typeof n||"number"==typeof n,o=je(n),y=a.$refs;if(k||o)if(u){var b=k?y[n]:n.value;i?r(b)&&h(b,l):r(b)?b.includes(l)||b.push(l):k?(y[n]=[l],Rr(a,n,y[n])):n.value=[l]}else if(k){if(i&&y[n]!==l)return;y[n]=m,Rr(a,n,d)}else if(o){if(i&&n.value!==l)return;n.value=d}else 0}}}function Rr(e,i,n){var a=e._setupState;a&&v(a,i)&&(je(a[i])?a[i].value=n:a[i]=n)}var Yr=new be("",{},[]),Nr=["create","activate","update","remove","destroy"];function Pr(e,i){return e.key===i.key&&e.asyncFactory===i.asyncFactory&&(e.tag===i.tag&&e.isComment===i.isComment&&t(e.data)===t(i.data)&&function(e,i){if("input"!==e.tag)return!0;var n,a=t(n=e.data)&&t(n=n.attrs)&&n.type,r=t(n=i.data)&&t(n=n.attrs)&&n.type;return a===r||Ar(a)&&Ar(r)}(e,i)||d(e.isAsyncPlaceholder)&&l(i.asyncFactory.error))}function Or(e,i,n){var a,r,l={};for(a=i;a<=n;++a)t(r=e[a].key)&&(l[r]=a);return l}var Dr={create:Ir,update:Ir,destroy:function(e){Ir(e,Yr)}};function Ir(e,i){(e.data.directives||i.data.directives)&&function(e,i){var n,a,r,l=e===Yr,t=i===Yr,d=Zr(e.data.directives,e.context),m=Zr(i.data.directives,i.context),s=[],u=[];for(n in m)a=d[n],r=m[n],a?(r.oldValue=a.value,r.oldArg=a.arg,Vr(r,"update",i,e),r.def&&r.def.componentUpdated&&u.push(r)):(Vr(r,"bind",i,e),r.def&&r.def.inserted&&s.push(r));if(s.length){var k=function(){for(var n=0;n<s.length;n++)Vr(s[n],"inserted",i,e)};l?Ri(i,"insert",k):k()}u.length&&Ri(i,"postpatch",(function(){for(var n=0;n<u.length;n++)Vr(u[n],"componentUpdated",i,e)}));if(!l)for(n in d)m[n]||Vr(d[n],"unbind",e,e,t)}(e,i)}var Er=Object.create(null);function Zr(e,i){var n,a,r=Object.create(null);if(!e)return r;for(n=0;n<e.length;n++){if((a=e[n]).modifiers||(a.modifiers=Er),r[Gr(a)]=a,i._setupState&&i._setupState.__sfc){var l=a.def||Za(i,"_setupState","v-"+a.name);a.def="function"==typeof l?{bind:l,update:l}:l}a.def=a.def||Za(i.$options,"directives",a.name)}return r}function Gr(e){return e.rawName||"".concat(e.name,".").concat(Object.keys(e.modifiers||{}).join("."))}function Vr(e,i,n,a,r){var l=e.def&&e.def[i];if(l)try{l(n.elm,e,n,a,r)}catch(a){bn(a,n.context,"directive ".concat(e.name," ").concat(i," hook"))}}var Cr=[fr,Dr];function Mr(e,i){var n=i.componentOptions;if(!(t(n)&&!1===n.Ctor.options.inheritAttrs||l(e.data.attrs)&&l(i.data.attrs))){var a,r,m=i.elm,s=e.data.attrs||{},u=i.data.attrs||{};for(a in(t(u.__ob__)||d(u._v_attr_proxy))&&(u=i.data.attrs=O({},u)),u)r=u[a],s[a]!==r&&Fr(m,a,r,i.data.pre);for(a in(W||Q)&&u.value!==s.value&&Fr(m,"value",u.value),s)l(u[a])&&(or(a)?m.removeAttributeNS(kr,yr(a)):mr(a)||m.removeAttribute(a))}}function Fr(e,i,n,a){a||e.tagName.indexOf("-")>-1?_r(e,i,n):ur(i)?br(n)?e.removeAttribute(i):(n="allowfullscreen"===i&&"EMBED"===e.tagName?"true":i,e.setAttribute(i,n)):mr(i)?e.setAttribute(i,function(e,i){return br(i)||"false"===i?"false":"contenteditable"===e&&sr(i)?i:"true"}(i,n)):or(i)?br(n)?e.removeAttributeNS(kr,yr(i)):e.setAttributeNS(kr,i,n):_r(e,i,n)}function _r(e,i,n){if(br(n))e.removeAttribute(i);else{if(W&&!q&&"TEXTAREA"===e.tagName&&"placeholder"===i&&""!==n&&!e.__ieph){var a=function(i){i.stopImmediatePropagation(),e.removeEventListener("input",a)};e.addEventListener("input",a),e.__ieph=!0}e.setAttribute(i,n)}}var Lr={create:Mr,update:Mr};function xr(e,i){var n=i.elm,a=i.data,r=e.data;if(!(l(a.staticClass)&&l(a.class)&&(l(r)||l(r.staticClass)&&l(r.class)))){var d=gr(i),m=n._transitionClasses;t(m)&&(d=Hr(d,pr(m))),d!==n._prevClass&&(n.setAttribute("class",d),n._prevClass=d)}}var Ur,jr={create:xr,update:xr};function wr(e,i,n){var a=Ur;return function r(){var l=i.apply(null,arguments);null!==l&&Xr(e,r,n,a)}}var $r=Sn&&!(ne&&Number(ne[1])<=53);function Jr(e,i,n,a){if($r){var r=ya,l=i;i=l._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=r||e.timeStamp<=0||e.target.ownerDocument!==document)return l.apply(this,arguments)}}Ur.addEventListener(e,i,re?{capture:n,passive:a}:n)}function Xr(e,i,n,a){(a||Ur).removeEventListener(e,i._wrapper||i,n)}function Wr(e,i){if(!l(e.data.on)||!l(i.data.on)){var n=i.data.on||{},a=e.data.on||{};Ur=i.elm||e.elm,function(e){if(t(e.__r)){var i=W?"change":"input";e[i]=[].concat(e.__r,e[i]||[]),delete e.__r}t(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),Bi(n,a,Jr,Xr,wr,i.context),Ur=void 0}}var qr,Qr={create:Wr,update:Wr,destroy:function(e){return Wr(e,Yr)}};function el(e,i){if(!l(e.data.domProps)||!l(i.data.domProps)){var n,a,r=i.elm,m=e.data.domProps||{},s=i.data.domProps||{};for(n in(t(s.__ob__)||d(s._v_attr_proxy))&&(s=i.data.domProps=O({},s)),m)n in s||(r[n]="");for(n in s){if(a=s[n],"textContent"===n||"innerHTML"===n){if(i.children&&(i.children.length=0),a===m[n])continue;1===r.childNodes.length&&r.removeChild(r.childNodes[0])}if("value"===n&&"PROGRESS"!==r.tagName){r._value=a;var u=l(a)?"":String(a);il(r,u)&&(r.value=u)}else if("innerHTML"===n&&hr(r.tagName)&&l(r.innerHTML)){(qr=qr||document.createElement("div")).innerHTML="<svg>".concat(a,"</svg>");for(var k=qr.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;k.firstChild;)r.appendChild(k.firstChild)}else if(a!==m[n])try{r[n]=a}catch(e){}}}}function il(e,i){return!e.composing&&("OPTION"===e.tagName||function(e,i){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==i}(e,i)||function(e,i){var n=e.value,a=e._vModifiers;if(t(a)){if(a.number)return p(n)!==p(i);if(a.trim)return n.trim()!==i.trim()}return n!==i}(e,i))}var nl={create:el,update:el},al=A((function(e){var i={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var a=e.split(n);a.length>1&&(i[a[0].trim()]=a[1].trim())}})),i}));function rl(e){var i=ll(e.style);return e.staticStyle?O(e.staticStyle,i):i}function ll(e){return Array.isArray(e)?D(e):"string"==typeof e?al(e):e}var tl,dl=/^--/,ml=/\s*!important$/,sl=function(e,i,n){if(dl.test(i))e.style.setProperty(i,n);else if(ml.test(n))e.style.setProperty(Y(i),n.replace(ml,""),"important");else{var a=kl(i);if(Array.isArray(n))for(var r=0,l=n.length;r<l;r++)e.style[a]=n[r];else e.style[a]=n}},ul=["Webkit","Moz","ms"],kl=A((function(e){if(tl=tl||document.createElement("div").style,"filter"!==(e=f(e))&&e in tl)return e;for(var i=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<ul.length;n++){var a=ul[n]+i;if(a in tl)return a}}));function ol(e,i){var n=i.data,a=e.data;if(!(l(n.staticStyle)&&l(n.style)&&l(a.staticStyle)&&l(a.style))){var r,d,m=i.elm,s=a.staticStyle,u=a.normalizedStyle||a.style||{},k=s||u,o=ll(i.data.style)||{};i.data.normalizedStyle=t(o.__ob__)?O({},o):o;var y=function(e,i){var n,a={};if(i)for(var r=e;r.componentInstance;)(r=r.componentInstance._vnode)&&r.data&&(n=rl(r.data))&&O(a,n);(n=rl(e.data))&&O(a,n);for(var l=e;l=l.parent;)l.data&&(n=rl(l.data))&&O(a,n);return a}(i,!0);for(d in k)l(y[d])&&sl(m,d,"");for(d in y)r=y[d],sl(m,d,null==r?"":r)}}var yl={create:ol,update:ol},bl=/\s+/;function gl(e,i){if(i&&(i=i.trim()))if(e.classList)i.indexOf(" ")>-1?i.split(bl).forEach((function(i){return e.classList.add(i)})):e.classList.add(i);else{var n=" ".concat(e.getAttribute("class")||""," ");n.indexOf(" "+i+" ")<0&&e.setAttribute("class",(n+i).trim())}}function cl(e,i){if(i&&(i=i.trim()))if(e.classList)i.indexOf(" ")>-1?i.split(bl).forEach((function(i){return e.classList.remove(i)})):e.classList.remove(i),e.classList.length||e.removeAttribute("class");else{for(var n=" ".concat(e.getAttribute("class")||""," "),a=" "+i+" ";n.indexOf(a)>=0;)n=n.replace(a," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function Hl(e){if(e){if("object"==typeof e){var i={};return!1!==e.css&&O(i,pl(e.name||"v")),O(i,e),i}return"string"==typeof e?pl(e):void 0}}var pl=A((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),Sl=J&&!q,zl="transition",hl="transitionend",Kl="animation",vl="animationend";Sl&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(zl="WebkitTransition",hl="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Kl="WebkitAnimation",vl="webkitAnimationEnd"));var Al=J?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Tl(e){Al((function(){Al(e)}))}function fl(e,i){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(i)<0&&(n.push(i),gl(e,i))}function Bl(e,i){e._transitionClasses&&h(e._transitionClasses,i),cl(e,i)}function Rl(e,i,n){var a=Nl(e,i),r=a.type,l=a.timeout,t=a.propCount;if(!r)return n();var d="transition"===r?hl:vl,m=0,s=function(){e.removeEventListener(d,u),n()},u=function(i){i.target===e&&++m>=t&&s()};setTimeout((function(){m<t&&s()}),l+1),e.addEventListener(d,u)}var Yl=/\b(transform|all)(,|$)/;function Nl(e,i){var n,a=window.getComputedStyle(e),r=(a[zl+"Delay"]||"").split(", "),l=(a[zl+"Duration"]||"").split(", "),t=Pl(r,l),d=(a[Kl+"Delay"]||"").split(", "),m=(a[Kl+"Duration"]||"").split(", "),s=Pl(d,m),u=0,k=0;return"transition"===i?t>0&&(n="transition",u=t,k=l.length):"animation"===i?s>0&&(n="animation",u=s,k=m.length):k=(n=(u=Math.max(t,s))>0?t>s?"transition":"animation":null)?"transition"===n?l.length:m.length:0,{type:n,timeout:u,propCount:k,hasTransform:"transition"===n&&Yl.test(a[zl+"Property"])}}function Pl(e,i){for(;e.length<i.length;)e=e.concat(e);return Math.max.apply(null,i.map((function(i,n){return Ol(i)+Ol(e[n])})))}function Ol(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Dl(e,i){var n=e.elm;t(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var a=Hl(e.data.transition);if(!l(a)&&!t(n._enterCb)&&1===n.nodeType){for(var r=a.css,d=a.type,m=a.enterClass,k=a.enterToClass,o=a.enterActiveClass,y=a.appearClass,b=a.appearToClass,g=a.appearActiveClass,c=a.beforeEnter,H=a.enter,S=a.afterEnter,z=a.enterCancelled,h=a.beforeAppear,K=a.appear,v=a.afterAppear,A=a.appearCancelled,T=a.duration,f=na,B=na.$vnode;B&&B.parent;)f=B.context,B=B.parent;var R=!f._isMounted||!e.isRootInsert;if(!R||K||""===K){var Y=R&&y?y:m,N=R&&g?g:o,P=R&&b?b:k,O=R&&h||c,D=R&&s(K)?K:H,I=R&&v||S,E=R&&A||z,Z=p(u(T)?T.enter:T);0;var G=!1!==r&&!q,V=Zl(D),M=n._enterCb=C((function(){G&&(Bl(n,P),Bl(n,N)),M.cancelled?(G&&Bl(n,Y),E&&E(n)):I&&I(n),n._enterCb=null}));e.data.show||Ri(e,"insert",(function(){var i=n.parentNode,a=i&&i._pending&&i._pending[e.key];a&&a.tag===e.tag&&a.elm._leaveCb&&a.elm._leaveCb(),D&&D(n,M)})),O&&O(n),G&&(fl(n,Y),fl(n,N),Tl((function(){Bl(n,Y),M.cancelled||(fl(n,P),V||(El(Z)?setTimeout(M,Z):Rl(n,d,M)))}))),e.data.show&&(i&&i(),D&&D(n,M)),G||V||M()}}}function Il(e,i){var n=e.elm;t(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var a=Hl(e.data.transition);if(l(a)||1!==n.nodeType)return i();if(!t(n._leaveCb)){var r=a.css,d=a.type,m=a.leaveClass,s=a.leaveToClass,k=a.leaveActiveClass,o=a.beforeLeave,y=a.leave,b=a.afterLeave,g=a.leaveCancelled,c=a.delayLeave,H=a.duration,S=!1!==r&&!q,z=Zl(y),h=p(u(H)?H.leave:H);0;var K=n._leaveCb=C((function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[e.key]=null),S&&(Bl(n,s),Bl(n,k)),K.cancelled?(S&&Bl(n,m),g&&g(n)):(i(),b&&b(n)),n._leaveCb=null}));c?c(v):v()}function v(){K.cancelled||(!e.data.show&&n.parentNode&&((n.parentNode._pending||(n.parentNode._pending={}))[e.key]=e),o&&o(n),S&&(fl(n,m),fl(n,k),Tl((function(){Bl(n,m),K.cancelled||(fl(n,s),z||(El(h)?setTimeout(K,h):Rl(n,d,K)))}))),y&&y(n,K),S||z||K())}}function El(e){return"number"==typeof e&&!isNaN(e)}function Zl(e){if(l(e))return!1;var i=e.fns;return t(i)?Zl(Array.isArray(i)?i[0]:i):(e._length||e.length)>1}function Gl(e,i){!0!==i.data.show&&Dl(i)}var Vl=function(e){var i,n,a={},s=e.modules,u=e.nodeOps;for(i=0;i<Nr.length;++i)for(a[Nr[i]]=[],n=0;n<s.length;++n)t(s[n][Nr[i]])&&a[Nr[i]].push(s[n][Nr[i]]);function k(e){var i=u.parentNode(e);t(i)&&u.removeChild(i,e)}function o(e,i,n,r,l,m,s){if(t(e.elm)&&t(m)&&(e=m[s]=He(e)),e.isRootInsert=!l,!function(e,i,n,r){var l=e.data;if(t(l)){var m=t(e.componentInstance)&&l.keepAlive;if(t(l=l.hook)&&t(l=l.init)&&l(e,!1),t(e.componentInstance))return y(e,i),b(n,e.elm,r),d(m)&&function(e,i,n,r){var l,d=e;for(;d.componentInstance;)if(d=d.componentInstance._vnode,t(l=d.data)&&t(l=l.transition)){for(l=0;l<a.activate.length;++l)a.activate[l](Yr,d);i.push(d);break}b(n,e.elm,r)}(e,i,n,r),!0}}(e,i,n,r)){var k=e.data,o=e.children,c=e.tag;t(c)?(e.elm=e.ns?u.createElementNS(e.ns,c):u.createElement(c,e),p(e),g(e,o,i),t(k)&&H(e,i),b(n,e.elm,r)):d(e.isComment)?(e.elm=u.createComment(e.text),b(n,e.elm,r)):(e.elm=u.createTextNode(e.text),b(n,e.elm,r))}}function y(e,i){t(e.data.pendingInsert)&&(i.push.apply(i,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,c(e)?(H(e,i),p(e)):(Br(e),i.push(e))}function b(e,i,n){t(e)&&(t(n)?u.parentNode(n)===e&&u.insertBefore(e,i,n):u.appendChild(e,i))}function g(e,i,n){if(r(i)){0;for(var a=0;a<i.length;++a)o(i[a],n,e.elm,null,!0,i,a)}else m(e.text)&&u.appendChild(e.elm,u.createTextNode(String(e.text)))}function c(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return t(e.tag)}function H(e,n){for(var r=0;r<a.create.length;++r)a.create[r](Yr,e);t(i=e.data.hook)&&(t(i.create)&&i.create(Yr,e),t(i.insert)&&n.push(e))}function p(e){var i;if(t(i=e.fnScopeId))u.setStyleScope(e.elm,i);else for(var n=e;n;)t(i=n.context)&&t(i=i.$options._scopeId)&&u.setStyleScope(e.elm,i),n=n.parent;t(i=na)&&i!==e.context&&i!==e.fnContext&&t(i=i.$options._scopeId)&&u.setStyleScope(e.elm,i)}function z(e,i,n,a,r,l){for(;a<=r;++a)o(n[a],l,e,i,!1,n,a)}function h(e){var i,n,r=e.data;if(t(r))for(t(i=r.hook)&&t(i=i.destroy)&&i(e),i=0;i<a.destroy.length;++i)a.destroy[i](e);if(t(i=e.children))for(n=0;n<e.children.length;++n)h(e.children[n])}function K(e,i,n){for(;i<=n;++i){var a=e[i];t(a)&&(t(a.tag)?(v(a),h(a)):k(a.elm))}}function v(e,i){if(t(i)||t(e.data)){var n,r=a.remove.length+1;for(t(i)?i.listeners+=r:i=function(e,i){function n(){0==--n.listeners&&k(e)}return n.listeners=i,n}(e.elm,r),t(n=e.componentInstance)&&t(n=n._vnode)&&t(n.data)&&v(n,i),n=0;n<a.remove.length;++n)a.remove[n](e,i);t(n=e.data.hook)&&t(n=n.remove)?n(e,i):i()}else k(e.elm)}function A(e,i,n,a){for(var r=n;r<a;r++){var l=i[r];if(t(l)&&Pr(e,l))return r}}function T(e,i,n,r,m,s){if(e!==i){t(i.elm)&&t(r)&&(i=r[m]=He(i));var k=i.elm=e.elm;if(d(e.isAsyncPlaceholder))t(i.asyncFactory.resolved)?R(e.elm,i,n):i.isAsyncPlaceholder=!0;else if(d(i.isStatic)&&d(e.isStatic)&&i.key===e.key&&(d(i.isCloned)||d(i.isOnce)))i.componentInstance=e.componentInstance;else{var y,b=i.data;t(b)&&t(y=b.hook)&&t(y=y.prepatch)&&y(e,i);var g=e.children,H=i.children;if(t(b)&&c(i)){for(y=0;y<a.update.length;++y)a.update[y](e,i);t(y=b.hook)&&t(y=y.update)&&y(e,i)}l(i.text)?t(g)&&t(H)?g!==H&&function(e,i,n,a,r){var d,m,s,k=0,y=0,b=i.length-1,g=i[0],c=i[b],H=n.length-1,p=n[0],S=n[H],h=!r;for(0;k<=b&&y<=H;)l(g)?g=i[++k]:l(c)?c=i[--b]:Pr(g,p)?(T(g,p,a,n,y),g=i[++k],p=n[++y]):Pr(c,S)?(T(c,S,a,n,H),c=i[--b],S=n[--H]):Pr(g,S)?(T(g,S,a,n,H),h&&u.insertBefore(e,g.elm,u.nextSibling(c.elm)),g=i[++k],S=n[--H]):Pr(c,p)?(T(c,p,a,n,y),h&&u.insertBefore(e,c.elm,g.elm),c=i[--b],p=n[++y]):(l(d)&&(d=Or(i,k,b)),l(m=t(p.key)?d[p.key]:A(p,i,k,b))?o(p,a,e,g.elm,!1,n,y):Pr(s=i[m],p)?(T(s,p,a,n,y),i[m]=void 0,h&&u.insertBefore(e,s.elm,g.elm)):o(p,a,e,g.elm,!1,n,y),p=n[++y]);k>b?z(e,l(n[H+1])?null:n[H+1].elm,n,y,H,a):y>H&&K(i,k,b)}(k,g,H,n,s):t(H)?(t(e.text)&&u.setTextContent(k,""),z(k,null,H,0,H.length-1,n)):t(g)?K(g,0,g.length-1):t(e.text)&&u.setTextContent(k,""):e.text!==i.text&&u.setTextContent(k,i.text),t(b)&&t(y=b.hook)&&t(y=y.postpatch)&&y(e,i)}}}function f(e,i,n){if(d(n)&&t(e.parent))e.parent.data.pendingInsert=i;else for(var a=0;a<i.length;++a)i[a].data.hook.insert(i[a])}var B=S("attrs,class,staticClass,staticStyle,key");function R(e,i,n,a){var r,l=i.tag,m=i.data,s=i.children;if(a=a||m&&m.pre,i.elm=e,d(i.isComment)&&t(i.asyncFactory))return i.isAsyncPlaceholder=!0,!0;if(t(m)&&(t(r=m.hook)&&t(r=r.init)&&r(i,!0),t(r=i.componentInstance)))return y(i,n),!0;if(t(l)){if(t(s))if(e.hasChildNodes())if(t(r=m)&&t(r=r.domProps)&&t(r=r.innerHTML)){if(r!==e.innerHTML)return!1}else{for(var u=!0,k=e.firstChild,o=0;o<s.length;o++){if(!k||!R(k,s[o],n,a)){u=!1;break}k=k.nextSibling}if(!u||k)return!1}else g(i,s,n);if(t(m)){var b=!1;for(var c in m)if(!B(c)){b=!0,H(i,n);break}!b&&m.class&&$n(m.class)}}else e.data!==i.text&&(e.data=i.text);return!0}return function(e,i,n,r){if(!l(i)){var m,s=!1,k=[];if(l(e))s=!0,o(i,k);else{var y=t(e.nodeType);if(!y&&Pr(e,i))T(e,i,k,null,null,r);else{if(y){if(1===e.nodeType&&e.hasAttribute("data-server-rendered")&&(e.removeAttribute("data-server-rendered"),n=!0),d(n)&&R(e,i,k))return f(i,k,!0),e;m=e,e=new be(u.tagName(m).toLowerCase(),{},[],void 0,m)}var b=e.elm,g=u.parentNode(b);if(o(i,k,b._leaveCb?null:g,u.nextSibling(b)),t(i.parent))for(var H=i.parent,p=c(i);H;){for(var S=0;S<a.destroy.length;++S)a.destroy[S](H);if(H.elm=i.elm,p){for(var z=0;z<a.create.length;++z)a.create[z](Yr,H);var v=H.data.hook.insert;if(v.merged)for(var A=v.fns.slice(1),B=0;B<A.length;B++)A[B]()}else Br(H);H=H.parent}t(g)?K([e],0,0):t(e.tag)&&h(e)}}return f(i,k,s),i.elm}t(e)&&h(e)}}({nodeOps:Tr,modules:[Lr,jr,Qr,nl,yl,J?{create:Gl,activate:Gl,remove:function(e,i){!0!==e.data.show?Il(e,i):i()}}:{}].concat(Cr)});q&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&jl(e,"input")}));var Cl={inserted:function(e,i,n,a){"select"===n.tag?(a.elm&&!a.elm._vOptions?Ri(n,"postpatch",(function(){Cl.componentUpdated(e,i,n)})):Ml(e,i,n.context),e._vOptions=[].map.call(e.options,Ll)):("textarea"===n.tag||Ar(e.type))&&(e._vModifiers=i.modifiers,i.modifiers.lazy||(e.addEventListener("compositionstart",xl),e.addEventListener("compositionend",Ul),e.addEventListener("change",Ul),q&&(e.vmodel=!0)))},componentUpdated:function(e,i,n){if("select"===n.tag){Ml(e,i,n.context);var a=e._vOptions,r=e._vOptions=[].map.call(e.options,Ll);if(r.some((function(e,i){return!G(e,a[i])})))(e.multiple?i.value.some((function(e){return _l(e,r)})):i.value!==i.oldValue&&_l(i.value,r))&&jl(e,"change")}}};function Ml(e,i,n){Fl(e,i,n),(W||Q)&&setTimeout((function(){Fl(e,i,n)}),0)}function Fl(e,i,n){var a=i.value,r=e.multiple;if(!r||Array.isArray(a)){for(var l,t,d=0,m=e.options.length;d<m;d++)if(t=e.options[d],r)l=V(a,Ll(t))>-1,t.selected!==l&&(t.selected=l);else if(G(Ll(t),a))return void(e.selectedIndex!==d&&(e.selectedIndex=d));r||(e.selectedIndex=-1)}}function _l(e,i){return i.every((function(i){return!G(i,e)}))}function Ll(e){return"_value"in e?e._value:e.value}function xl(e){e.target.composing=!0}function Ul(e){e.target.composing&&(e.target.composing=!1,jl(e.target,"input"))}function jl(e,i){var n=document.createEvent("HTMLEvents");n.initEvent(i,!0,!0),e.dispatchEvent(n)}function wl(e){return!e.componentInstance||e.data&&e.data.transition?e:wl(e.componentInstance._vnode)}var $l={model:Cl,show:{bind:function(e,i,n){var a=i.value,r=(n=wl(n)).data&&n.data.transition,l=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;a&&r?(n.data.show=!0,Dl(n,(function(){e.style.display=l}))):e.style.display=a?l:"none"},update:function(e,i,n){var a=i.value;!a!=!i.oldValue&&((n=wl(n)).data&&n.data.transition?(n.data.show=!0,a?Dl(n,(function(){e.style.display=e.__vOriginalDisplay})):Il(n,(function(){e.style.display="none"}))):e.style.display=a?e.__vOriginalDisplay:"none")},unbind:function(e,i,n,a,r){r||(e.style.display=e.__vOriginalDisplay)}}},Jl={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Xl(e){var i=e&&e.componentOptions;return i&&i.Ctor.options.abstract?Xl(kn(i.children)):e}function Wl(e){var i={},n=e.$options;for(var a in n.propsData)i[a]=e[a];var r=n._parentListeners;for(var a in r)i[f(a)]=r[a];return i}function ql(e,i){if(/\d-keep-alive$/.test(i.tag))return e("keep-alive",{props:i.componentOptions.propsData})}var Ql=function(e){return e.tag||Ji(e)},et=function(e){return"show"===e.name},it={name:"transition",props:Jl,abstract:!0,render:function(e){var i=this,n=this.$slots.default;if(n&&(n=n.filter(Ql)).length){0;var a=this.mode;0;var r=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return r;var l=Xl(r);if(!l)return r;if(this._leaving)return ql(e,r);var t="__transition-".concat(this._uid,"-");l.key=null==l.key?l.isComment?t+"comment":t+l.tag:m(l.key)?0===String(l.key).indexOf(t)?l.key:t+l.key:l.key;var d=(l.data||(l.data={})).transition=Wl(this),s=this._vnode,u=Xl(s);if(l.data.directives&&l.data.directives.some(et)&&(l.data.show=!0),u&&u.data&&!function(e,i){return i.key===e.key&&i.tag===e.tag}(l,u)&&!Ji(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var k=u.data.transition=O({},d);if("out-in"===a)return this._leaving=!0,Ri(k,"afterLeave",(function(){i._leaving=!1,i.$forceUpdate()})),ql(e,r);if("in-out"===a){if(Ji(l))return s;var o,y=function(){o()};Ri(d,"afterEnter",y),Ri(d,"enterCancelled",y),Ri(k,"delayLeave",(function(e){o=e}))}}return r}}},nt=O({tag:String,moveClass:String},Jl);function at(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function rt(e){e.data.newPos=e.elm.getBoundingClientRect()}function lt(e){var i=e.data.pos,n=e.data.newPos,a=i.left-n.left,r=i.top-n.top;if(a||r){e.data.moved=!0;var l=e.elm.style;l.transform=l.WebkitTransform="translate(".concat(a,"px,").concat(r,"px)"),l.transitionDuration="0s"}}delete nt.mode;var tt={Transition:it,TransitionGroup:{props:nt,beforeMount:function(){var e=this,i=this._update;this._update=function(n,a){var r=aa(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,r(),i.call(e,n,a)}},render:function(e){for(var i=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),a=this.prevChildren=this.children,r=this.$slots.default||[],l=this.children=[],t=Wl(this),d=0;d<r.length;d++){if((u=r[d]).tag)if(null!=u.key&&0!==String(u.key).indexOf("__vlist"))l.push(u),n[u.key]=u,(u.data||(u.data={})).transition=t;else;}if(a){var m=[],s=[];for(d=0;d<a.length;d++){var u;(u=a[d]).data.transition=t,u.data.pos=u.elm.getBoundingClientRect(),n[u.key]?m.push(u):s.push(u)}this.kept=e(i,null,m),this.removed=s}return e(i,null,l)},updated:function(){var e=this.prevChildren,i=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,i)&&(e.forEach(at),e.forEach(rt),e.forEach(lt),this._reflow=document.body.offsetHeight,e.forEach((function(e){if(e.data.moved){var n=e.elm,a=n.style;fl(n,i),a.transform=a.WebkitTransform=a.transitionDuration="",n.addEventListener(hl,n._moveCb=function e(a){a&&a.target!==n||a&&!/transform$/.test(a.propertyName)||(n.removeEventListener(hl,e),n._moveCb=null,Bl(n,i))})}})))},methods:{hasMove:function(e,i){if(!Sl)return!1;if(this._hasMove)return this._hasMove;var n=e.cloneNode();
7e._transitionClasses&&e._transitionClasses.forEach((function(e){cl(n,e)})),gl(n,i),n.style.display="none",this.$el.appendChild(n);var a=Nl(n);return this.$el.removeChild(n),this._hasMove=a.hasTransform}}}};qa.config.mustUseProp=function(e,i,n){return"value"===n&&dr(e)&&"button"!==i||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},qa.config.isReservedTag=Kr,qa.config.isReservedAttr=tr,qa.config.getTagNamespace=function(e){return hr(e)?"svg":"math"===e?"math":void 0},qa.config.isUnknownElement=function(e){if(!J)return!0;if(Kr(e))return!1;if(e=e.toLowerCase(),null!=vr[e])return vr[e];var i=document.createElement(e);return e.indexOf("-")>-1?vr[e]=i.constructor===window.HTMLUnknownElement||i.constructor===window.HTMLElement:vr[e]=/HTMLUnknownElement/.test(i.toString())},O(qa.options.directives,$l),O(qa.options.components,tt),qa.prototype.__patch__=J?Vl:I,qa.prototype.$mount=function(e,i){return function(e,i,n){var a;e.$el=i,e.$options.render||(e.$options.render=ge),ta(e,"beforeMount"),a=function(){e._update(e._render(),n)},new Wn(e,a,I,{before:function(){e._isMounted&&!e._isDestroyed&&ta(e,"beforeUpdate")}},!0),n=!1;var r=e._preWatchers;if(r)for(var l=0;l<r.length;l++)r[l].run();return null==e.$vnode&&(e._isMounted=!0,ta(e,"mounted")),e}(this,e=e&&J?function(e){if("string"==typeof e){var i=document.querySelector(e);return i||document.createElement("div")}return e}(e):void 0,i)},J&&setTimeout((function(){L.devtools&&de&&de.emit("init",qa)}),0)},function(e,i,n){"use strict";e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,i,n){"use strict";var a="object"==typeof document&&document.all;e.exports=void 0===a&&void 0!==a?function(e){return"function"==typeof e||e===a}:function(e){return"function"==typeof e}},function(e,i,n){"use strict";var a=function(e){return e&&e.Math===Math&&e};e.exports=a("object"==typeof globalThis&&globalThis)||a("object"==typeof window&&window)||a("object"==typeof self&&self)||a("object"==typeof global&&global)||a("object"==typeof this&&this)||function(){return this}()||Function("return this")()},function(e,i,n){"use strict";var a=n(36),r=Function.prototype,l=r.call,t=a&&r.bind.bind(l,l);e.exports=a?t:function(e){return function(){return l.apply(e,arguments)}}},function(e,i,n){"use strict";var a=n(9),r=String,l=TypeError;e.exports=function(e){if(a(e))return e;throw new l(r(e)+" is not an object")}},function(e,i,n){"use strict";var a=n(36),r=Function.prototype.call;e.exports=a?r.bind(r):function(){return r.apply(r,arguments)}},function(e,i,n){"use strict";var a=n(1);e.exports=!a((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,i,n){"use strict";var a=n(4),r=n(33),l=a({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,i){return l(r(e),i)}},function(e,i,n){"use strict";var a=n(2);e.exports=function(e){return"object"==typeof e?null!==e:a(e)}},function(e,i,n){"use strict";var a=n(3),r=n(83).f,l=n(21),t=n(45),d=n(55),m=n(74),s=n(156);e.exports=function(e,i){var n,u,k,o,y,b=e.target,g=e.global,c=e.stat;if(n=g?a:c?a[b]||d(b,{}):a[b]&&a[b].prototype)for(u in i){if(o=i[u],k=e.dontCallGetSet?(y=r(n,u))&&y.value:n[u],!s(g?u:b+(c?".":"#")+u,e.forced)&&void 0!==k){if(typeof o==typeof k)continue;m(o,k)}(e.sham||k&&k.sham)&&l(o,"sham",!0),t(n,u,o,e)}}},function(e,i,n){"use strict";var a=n(2),r=n(49),l=TypeError;e.exports=function(e){if(a(e))return e;throw new l(r(e)+" is not a function")}},function(e,i,n){"use strict";var a=n(6),r=n(5),l=n(35);e.exports=function(e,i,n){var t,d;r(e);try{if(!(t=l(e,"return"))){if("throw"===i)throw n;return n}t=a(t,e)}catch(e){d=!0,t=e}if("throw"===i)throw n;if(d)throw t;return r(t),n}},function(e,i){var n=Array.isArray;e.exports=n},function(e,i,n){var a=n(97),r="object"==typeof self&&self&&self.Object===Object&&self,l=a||r||Function("return this")();e.exports=l},function(e,i,n){"use strict";var a=n(3),r=n(87),l=n(8),t=n(50),d=n(48),m=n(85),s=a.Symbol,u=r("wks"),k=m?s.for||s:s&&s.withoutSetter||t;e.exports=function(e){return l(u,e)||(u[e]=d&&l(s,e)?s[e]:k("Symbol."+e)),u[e]}},function(e,i,n){"use strict";var a=n(10),r=n(3),l=n(134),t=n(5),d=n(2),m=n(72),s=n(121),u=n(127),k=n(1),o=n(8),y=n(15),b=n(94).IteratorPrototype,g=n(7),c=n(20),H=y("toStringTag"),p=TypeError,S=r.Iterator,z=c||!d(S)||S.prototype!==b||!k((function(){S({})})),h=function(){if(l(this,b),m(this)===b)throw new p("Abstract class Iterator not directly constructable")},K=function(e,i){g?s(b,e,{configurable:!0,get:function(){return i},set:function(i){if(t(this),this===b)throw new p("You can't redefine this property");o(this,e)?this[e]=i:u(this,e,i)}}):b[e]=i};o(b,H)||K(H,"Iterator"),!z&&o(b,"constructor")&&b.constructor!==Object||K("constructor",h),h.prototype=b,a({global:!0,constructor:!0,forced:z},{Iterator:h})},function(e,i,n){"use strict";var a=n(7),r=n(88),l=n(90),t=n(5),d=n(84),m=TypeError,s=Object.defineProperty,u=Object.getOwnPropertyDescriptor;i.f=a?l?function(e,i,n){if(t(e),i=d(i),t(n),"function"==typeof e&&"prototype"===i&&"value"in n&&"writable"in n&&!n.writable){var a=u(e,i);
7a&&a.writable&&(e[i]=n.value,n={configurable:"configurable"in n?n.configurable:a.configurable,enumerable:"enumerable"in n?n.enumerable:a.enumerable,writable:!1})}return s(e,i,n)}:s:function(e,i,n){if(t(e),i=d(i),t(n),r)try{return s(e,i,n)}catch(e){}if("get"in n||"set"in n)throw new m("Accessors not supported");return"value"in n&&(e[i]=n.value),e}},function(e,i,n){"use strict";var a=n(4),r=a({}.toString),l=a("".slice);e.exports=function(e){return l(r(e),8,-1)}},function(e,i,n){var a=n(199),r=n(202);e.exports=function(e,i){var n=r(e,i);return a(n)?n:void 0}},function(e,i,n){"use strict";e.exports=!1},function(e,i,n){"use strict";var a=n(7),r=n(17),l=n(34);e.exports=a?function(e,i,n){return r.f(e,i,l(1,n))}:function(e,i,n){return e[i]=n,e}},function(e,i){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,i,n){"use strict";e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},function(e,i,n){"use strict";var a=n(10),r=n(6),l=n(11),t=n(5),d=n(23),m=n(75),s=n(95),u=n(20),k=n(12),o=n(76),y=n(26),b=!u&&!o("filter",(function(){})),g=!u&&!b&&y("filter",TypeError),c=u||b||g,H=m((function(){for(var e,i,n=this.iterator,a=this.predicate,l=this.next;;){if(e=t(r(l,n)),this.done=!!e.done)return;if(i=e.value,s(n,a,[i,this.counter++],!0))return i}}));a({target:"Iterator",proto:!0,real:!0,forced:c},{filter:function(e){t(this);try{l(e)}catch(e){k(this,"throw",e)}return g?r(g,this,e):new H(d(this),{predicate:e})}})},function(e,i,n){"use strict";var a=n(3),r=n(2),l=function(e){return r(e)?e:void 0};e.exports=function(e,i){return arguments.length<2?l(a[e]):a[e]&&a[e][i]}},function(e,i,n){"use strict";var a=n(3);e.exports=function(e,i){var n=a.Iterator,r=n&&n.prototype,l=r&&r[e],t=!1;if(l)try{l.call({next:function(){return{done:!0}},return:function(){t=!0}},-1)}catch(e){e instanceof i||(t=!1)}if(!t)return l}},function(e,i,n){var a=n(28),r=n(184),l=n(185),t=a?a.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":t&&t in Object(e)?r(e):l(e)}},function(e,i,n){var a=n(14).Symbol;e.exports=a},function(e,i,n){"use strict";function a(e,i,n,a,r,l,t,d){var m,s="function"==typeof e?e.options:e;if(i&&(s.render=i,s.staticRenderFns=n,s._compiled=!0),a&&(s.functional=!0),l&&(s._scopeId="data-v-"+l),t?(m=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(t)},s._ssrRegister=m):r&&(m=d?function(){r.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:r),m)if(s.functional){s._injectStyles=m;var u=s.render;s.render=function(e,i){return m.call(i),u(e,i)}}else{var k=s.beforeCreate;s.beforeCreate=k?[].concat(k,m):[m]}return{exports:e,options:s}}n.d(i,"a",(function(){return a}))},function(e,i,n){"use strict";var a=n(133);e.exports=function(e){return a(e.length)}},function(e,i,n){"use strict";var a=n(10),r=n(6),l=n(11),t=n(5),d=n(23),m=n(75),s=n(95),u=n(12),k=n(76),o=n(26),y=n(20),b=!y&&!k("map",(function(){})),g=!y&&!b&&o("map",TypeError),c=y||b||g,H=m((function(){var e=this.iterator,i=t(r(this.next,e));if(!(this.done=!!i.done))return s(e,this.mapper,[i.value,this.counter++],!0)}));a({target:"Iterator",proto:!0,real:!0,forced:c},{map:function(e){t(this);try{l(e)}catch(e){u(this,"throw",e)}return g?r(g,this,e):new H(d(this),{mapper:e})}})},function(e,i,n){"use strict";var a=n(4);e.exports=a({}.isPrototypeOf)},function(e,i,n){"use strict";var a=n(47),r=Object;e.exports=function(e){return r(a(e))}},function(e,i,n){"use strict";e.exports=function(e,i){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:i}}},function(e,i,n){"use strict";var a=n(11),r=n(52);e.exports=function(e,i){var n=e[i];return r(n)?void 0:a(n)}},function(e,i,n){"use strict";var a=n(1);e.exports=!a((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},function(e,i,n){"use strict";var a=n(77),r=n(47);e.exports=function(e){return a(r(e))}},function(e,i,n){var a=n(189),r=n(190),l=n(191),t=n(192),d=n(193);function m(e){var i=-1,n=null==e?0:e.length;for(this.clear();++i<n;){var a=e[i];this.set(a[0],a[1])}}m.prototype.clear=a,m.prototype.delete=r,m.prototype.get=l,m.prototype.has=t,m.prototype.set=d,e.exports=m},function(e,i,n){var a=n(99);e.exports=function(e,i){for(var n=e.length;n--;)if(a(e[n][0],i))return n;return-1}},function(e,i,n){var a=n(19)(Object,"create");e.exports=a},function(e,i,n){var a=n(211);e.exports=function(e,i){var n=e.__data__;return a(i)?n["string"==typeof i?"string":"hash"]:n.map}},function(e,i,n){var a=n(66);e.exports=function(e){if("string"==typeof e||a(e))return e;var i=e+"";return"0"==i&&1/e==-1/0?"-0":i}},function(e,i,n){var a,r; 8/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress 9 * @license MIT */void 0===(r="function"==typeof(a=function(){var e,i,n={version:"0.2.0"},a=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function r(e,i,n){return e<i?i:e>n?n:e}function l(e){return 100*(-1+e)}n.configure=function(e){var i,n;for(i in e)void 0!==(n=e[i])&&e.hasOwnProperty(i)&&(a[i]=n);return this}
9,n.status=null,n.set=function(e){var i=n.isStarted();e=r(e,a.minimum,1),n.status=1===e?null:e;var m=n.render(!i),s=m.querySelector(a.barSelector),u=a.speed,k=a.easing;return m.offsetWidth,t((function(i){""===a.positionUsing&&(a.positionUsing=n.getPositioningCSS()),d(s,function(e,i,n){var r;return(r="translate3d"===a.positionUsing?{transform:"translate3d("+l(e)+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+l(e)+"%,0)"}:{"margin-left":l(e)+"%"}).transition="all "+i+"ms "+n,r}(e,u,k)),1===e?(d(m,{transition:"none",opacity:1}),m.offsetWidth,setTimeout((function(){d(m,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),i()}),u)}),u)):setTimeout(i,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),a.trickleSpeed)};return a.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var i=n.status;return i?("number"!=typeof e&&(e=(1-i)*r(Math.random()*i,.1,.95)),i=r(i+e,0,.994),n.set(i)):n.start()},n.trickle=function(){return n.inc(Math.random()*a.trickleRate)},e=0,i=0,n.promise=function(a){return a&&"resolved"!==a.state()?(0===i&&n.start(),e++,i++,a.always((function(){0==--i?(e=0,n.done()):n.set((e-i)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");s(document.documentElement,"nprogress-busy");var i=document.createElement("div");i.id="nprogress",i.innerHTML=a.template;var r,t=i.querySelector(a.barSelector),m=e?"-100":l(n.status||0),u=document.querySelector(a.parent);return d(t,{transition:"all 0 linear",transform:"translate3d("+m+"%,0,0)"}),a.showSpinner||(r=i.querySelector(a.spinnerSelector))&&o(r),u!=document.body&&s(u,"nprogress-custom-parent"),u.appendChild(i),i},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&o(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,i="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return i+"Perspective"in e?"translate3d":i+"Transform"in e?"translate":"margin"};var t=function(){var e=[];function i(){var n=e.shift();n&&n(i)}return function(n){e.push(n),1==e.length&&i()}}(),d=function(){var e=["Webkit","O","Moz","ms"],i={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,i){return i.toUpperCase()})),i[n]||(i[n]=function(i){var n=document.body.style;if(i in n)return i;for(var a,r=e.length,l=i.charAt(0).toUpperCase()+i.slice(1);r--;)if((a=e[r]+l)in n)return a;return i}(n))}function a(e,i,a){i=n(i),e.style[i]=a}return function(e,i){var n,r,l=arguments;if(2==l.length)for(n in i)void 0!==(r=i[n])&&i.hasOwnProperty(n)&&a(e,n,r);else a(e,l[1],l[2])}}();function m(e,i){return("string"==typeof e?e:k(e)).indexOf(" "+i+" ")>=0}function s(e,i){var n=k(e),a=n+i;m(n,i)||(e.className=a.substring(1))}function u(e,i){var n,a=k(e);m(e,i)&&(n=a.replace(" "+i+" "," "),e.className=n.substring(1,n.length-1))}function k(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function o(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?a.call(i,n,i,e):a)||(e.exports=r)},function(e,i,n){"use strict";var a=n(137),r=n(6),l=n(5),t=n(49),d=n(168),m=n(30),s=n(32),u=n(170),k=n(79),o=n(12),y=TypeError,b=function(e,i){this.stopped=e,this.result=i},g=b.prototype;e.exports=function(e,i,n){var c,H,p,S,z,h,K,v=n&&n.that,A=!(!n||!n.AS_ENTRIES),T=!(!n||!n.IS_RECORD),f=!(!n||!n.IS_ITERATOR),B=!(!n||!n.INTERRUPTED),R=a(i,v),Y=function(e){var i=c;return c=void 0,i&&o(i,"normal"),new b(!0,e)},N=function(e){return A?(l(e),B?R(e[0],e[1],Y):R(e[0],e[1])):B?R(e,Y):R(e)};if(T)c=e.iterator;else if(f)c=e;else{if(!(H=k(e)))throw new y(t(e)+" is not iterable");if(d(H)){for(p=0,S=m(e);S>p;p++)if((z=N(e[p]))&&s(g,z))return z;return new b(!1)}c=u(e,H)}for(h=T?e.next:c.next;!(K=r(h,c)).done;){var P=K.value;try{z=N(P)}catch(e){if(!c)throw e;o(c,"throw",e)}if("object"==typeof z&&z&&s(g,z))return z}return new b(!1)}},function(e,i,n){"use strict";var a=n(2),r=n(17),l=n(91),t=n(55);e.exports=function(e,i,n,d){d||(d={});var m=d.enumerable,s=void 0!==d.name?d.name:i;if(a(n)&&l(n,s,d),d.global)m?e[i]=n:t(i,n);else{try{d.unsafe?e[i]&&(m=!0):delete e[i]}catch(e){}
9m?e[i]=n:r.f(e,i,{value:n,enumerable:!1,configurable:!d.nonConfigurable,writable:!d.nonWritable})}return e}},function(e,i,n){"use strict";var a,r=n(5),l=n(158),t=n(58),d=n(57),m=n(160),s=n(89),u=n(56),k=u("IE_PROTO"),o=function(){},y=function(e){return"<script>"+e+"<\/script>"},b=function(e){e.write(y("")),e.close();var i=e.parentWindow.Object;return e=null,i},g=function(){try{a=new ActiveXObject("htmlfile")}catch(e){}var e,i;g="undefined"!=typeof document?document.domain&&a?b(a):((i=s("iframe")).style.display="none",m.appendChild(i),i.src=String("javascript:"),(e=i.contentWindow.document).open(),e.write(y("document.F=Object")),e.close(),e.F):b(a);for(var n=t.length;n--;)delete g.prototype[t[n]];return g()};d[k]=!0,e.exports=Object.create||function(e,i){var n;return null!==e?(o.prototype=r(e),n=new o,o.prototype=null,n[k]=e):n=g(),void 0===i?n:l.f(n,i)}},function(e,i,n){"use strict";var a=n(52),r=TypeError;e.exports=function(e){if(a(e))throw new r("Can't call method on "+e);return e}},function(e,i,n){"use strict";var a=n(78),r=n(1),l=n(3).String;e.exports=!!Object.getOwnPropertySymbols&&!r((function(){var e=Symbol("symbol detection");return!l(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},function(e,i,n){"use strict";var a=String;e.exports=function(e){try{return a(e)}catch(e){return"Object"}}},function(e,i,n){"use strict";var a=n(4),r=0,l=Math.random(),t=a(1.1.toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+t(++r+l,36)}},function(e,i,n){"use strict";var a,r,l,t=n(150),d=n(3),m=n(9),s=n(21),u=n(8),k=n(54),o=n(56),y=n(57),b=d.TypeError,g=d.WeakMap;if(t||k.state){var c=k.state||(k.state=new g);
9c.get=c.get,c.has=c.has,c.set=c.set,a=function(e,i){if(c.has(e))throw new b("Object already initialized");return i.facade=e,c.set(e,i),i},r=function(e){return c.get(e)||{}},l=function(e){return c.has(e)}}else{var H=o("state");y[H]=!0,a=function(e,i){if(u(e,H))throw new b("Object already initialized");return i.facade=e,s(e,H,i),i},r=function(e){return u(e,H)?e[H]:{}},l=function(e){return u(e,H)}}e.exports={set:a,get:r,has:l,enforce:function(e){return l(e)?r(e):a(e,{})},getterFor:function(e){return function(i){var n;if(!m(i)||(n=r(i)).type!==e)throw new b("Incompatible receiver, "+e+" required");return n}}}},function(e,i,n){"use strict";e.exports=function(e){return null==e}},function(e,i,n){"use strict";var a=n(25),r=n(2),l=n(32),t=n(85),d=Object;e.exports=t?function(e){return"symbol"==typeof e}:function(e){var i=a("Symbol");return r(i)&&l(i.prototype,d(e))}},function(e,i,n){"use strict";var a=n(20),r=n(3),l=n(55),t=e.exports=r["__core-js_shared__"]||l("__core-js_shared__",{});(t.versions||(t.versions=[])).push({version:"3.50.0",mode:a?"pure":"global",copyright:"© 2013â2025 Denis Pushkarev (zloirock.ru), 2025â2026 CoreJS Company (core-js.io). All rights reserved.",license:"https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(e,i,n){"use strict";var a=n(3),r=Object.defineProperty;e.exports=function(e,i){try{r(a,e,{value:i,configurable:!0,writable:!0})}catch(n){a[e]=i}return i}},function(e,i,n){"use strict";var a=n(87),r=n(50),l=a("keys");e.exports=function(e){return l[e]||(l[e]=r(e))}},function(e,i,n){"use strict";e.exports={}},function(e,i,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,i,n){var a=n(183),r=n(22),l=Object.prototype,t=l.hasOwnProperty,d=l.propertyIsEnumerable,m=a(function(){return arguments}())?a:function(e){return r(e)&&t.call(e,"callee")&&!d.call(e,"callee")};e.exports=m},function(e,i,n){var a=n(19)(n(14),"Map");e.exports=a},function(e,i){e.exports=function(e){var i=typeof e;return null!=e&&("object"==i||"function"==i)}},function(e,i,n){var a=n(203),r=n(210),l=n(212),t=n(213),d=n(214);function m(e){var i=-1,n=null==e?0:e.length;for(this.clear();++i<n;){var a=e[i];this.set(a[0],a[1])}}m.prototype.clear=a,m.prototype.delete=r,m.prototype.get=l,m.prototype.has=t,m.prototype.set=d,e.exports=m},function(e,i){e.exports=function(e){var i=-1,n=Array(e.size);return e.forEach((function(e){n[++i]=e})),n}},function(e,i){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,i,n){var a=n(13),r=n(66),l=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,t=/^\w*$/;e.exports=function(e,i){if(a(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!r(e))||(t.test(e)||!l.test(e)||null!=i&&e in Object(i))}},function(e,i,n){var a=n(27),r=n(22);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==a(e)}},function(e,i){e.exports=function(e){return e}},function(e,i,n){"use strict";var a=n(154);e.exports=function(e){var i=+e;return i!=i||0===i?0:a(i)}},function(e,i,n){"use strict";var a=n(125),r=String;e.exports=function(e){if("Symbol"===a(e))throw new TypeError("Cannot convert a Symbol value to a string");return r(e)}},function(e,i,n){"use strict";var a=n(10),r=n(6),l=n(44),t=n(11),d=n(5),m=n(23),s=n(12),u=n(26)("some",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:u},{some:function(e){d(this);try{t(e)}catch(e){s(this,"throw",e)}if(u)return r(u,this,e);var i=m(this),n=0;return l(i,(function(i,a){if(e(i,n++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},function(e,i,n){"use strict";var a=n(10),r=n(6),l=n(44),t=n(11),d=n(5),m=n(23),s=n(12),u=n(26)("forEach",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:u},{forEach:function(e){d(this);try{t(e)}catch(e){s(this,"throw",e)}if(u)return r(u,this,e);var i=m(this),n=0;l(i,(function(i){e(i,n++)}),{IS_RECORD:!0})}})},function(e,i,n){"use strict";var a=n(8),r=n(2),l=n(33),t=n(56),d=n(157),m=t("IE_PROTO"),s=Object,u=s.prototype;e.exports=d?s.getPrototypeOf:function(e){var i=l(e);if(a(i,m))return i[m];var n=i.constructor;return r(n)&&i instanceof n?n.prototype:i instanceof s?u:null}},function(e,i,n){"use strict";var a=n(123),r=n(9),l=n(47),t=n(171);
9e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,i=!1,n={};try{(e=a(Object.prototype,"__proto__","set"))(n,[]),i=n instanceof Array}catch(e){}return function(n,a){return l(n),t(a),r(n)?(i?e(n,a):n.__proto__=a,n):n}}():void 0)},function(e,i,n){"use strict";var a=n(8),r=n(151),l=n(83),t=n(17);e.exports=function(e,i,n){for(var d=r(i),m=t.f,s=l.f,u=0;u<d.length;u++){var k=d[u];a(e,k)||n&&a(n,k)||m(e,k,s(i,k))}}},function(e,i,n){"use strict";var a=n(6),r=n(46),l=n(21),t=n(161),d=n(15),m=n(51),s=n(35),u=n(94).IteratorPrototype,k=n(162),o=n(12),y=n(163),b=n(164),g=d("toStringTag"),c=m.set,H=function(e){var i=m.getterFor(e?"WrapForValidIterator":"IteratorHelper");return t(r(u),{next:function(){var n=i(this);if(e)return n.nextHandler();if(n.done)return k(void 0,!0);try{var a=n.nextHandler();return n.done&&b(n),n.returnHandlerResult?a:k(a,n.done)}catch(e){throw n.done=!0,b(n),e}},return:function(){var n=i(this),r=n.iterator,l=n.inner,t=n.openIters,d=n.done;if(n.done=!0,e){var m=s(r,"return");return m?a(m,r):k(void 0,!0)}if(b(n),d)return k(void 0,!0);if(l)try{o(l.iterator,"normal")}catch(e){return o(r,"throw",e)}if(t)try{y(t,"normal")}catch(e){if(r)return o(r,"throw",e);throw e}return r&&o(r,"normal"),k(void 0,!0)}})},p=H(!0),S=H(!1);l(S,g,"Iterator Helper"),e.exports=function(e,i,n){var a=function(a,r){r?(r.iterator=a.iterator,r.next=a.next):r=a,r.type=i?"WrapForValidIterator":"IteratorHelper",r.returnHandlerResult=!!n,r.nextHandler=e,r.counter=0,r.done=!1,c(this,r)};return a.prototype=i?p:S,a}},function(e,i,n){"use strict";e.exports=function(e,i){var n="function"==typeof Iterator&&Iterator.prototype[e];if(n)try{n.call({next:null},i).next()}catch(e){return!0}}},function(e,i,n){"use strict";var a=n(4),r=n(1),l=n(18),t=Object,d=a("".split);e.exports=r((function(){return!t("z").propertyIsEnumerable(0)}))?function(e){return"String"===l(e)?d(e,""):t(e)}:t},function(e,i,n){"use strict";var a,r,l=n(3),t=n(86),d=l.process,m=l.Deno,s=d&&d.versions||m&&m.version,u=s&&s.v8;u&&(r=(a=u.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!r&&t&&(!(a=t.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=t.match(/Chrome\/(\d+)/))&&(r=+a[1]),e.exports=r},function(e,i,n){"use strict";var a=n(18),r=n(52),l=n(35),t=n(15)("iterator"),d=Array.prototype;e.exports=function(e){if(!r(e))return l(e,t)||l(e,"@@iterator")||("Arguments"===a(e)?d[t]:void 0)}},function(e,i,n){"use strict";var a=n(36),r=Function.prototype,l=r.apply,t=r.call;e.exports="object"==typeof Reflect&&Reflect.apply||(a?t.bind(l):function(){return t.apply(l,arguments)})},function(e,i,n){"use strict";var a=n(18);e.exports=Array.isArray||function(e){return"Array"===a(e)}},function(e,i){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,i,n){"use strict";var a=n(7),r=n(6),l=n(146),t=n(34),d=n(37),m=n(84),s=n(8),u=n(88),k=Object.getOwnPropertyDescriptor;i.f=a?k:function(e,i){if(e=d(e),i=m(i),u)try{return k(e,i)}catch(e){}if(s(e,i))return t(!r(l.f,e,i),e[i])}},function(e,i,n){"use strict";var a=n(132),r=n(53);e.exports=function(e){var i=a(e,"string");return r(i)?i:i+""}},function(e,i,n){"use strict";var a=n(48);e.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,i,n){"use strict";var a=n(3).navigator,r=a&&a.userAgent;e.exports=r?String(r):""},function(e,i,n){"use strict";var a=n(54),r=Object.create||Object;e.exports=function(e,i){return a[e]||(a[e]=i||r(null))}},function(e,i,n){"use strict";var a=n(7),r=n(1),l=n(89);e.exports=!a&&!r((function(){return 7!==Object.defineProperty(l("div"),"a",{get:function(){return 7}}).a}))},function(e,i,n){"use strict";var a=n(3),r=n(9),l=a.document,t=r(l)&&r(l.createElement);e.exports=function(e){return t?l.createElement(e):{}}},function(e,i,n){"use strict";var a=n(7),r=n(1);e.exports=a&&r((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(e,i,n){"use strict";var a=n(4),r=n(1),l=n(2),t=n(8),d=n(7),m=n(148).CONFIGURABLE,s=n(149),u=n(51),k=u.enforce,o=u.get,y=String,b=Object.defineProperty,g=a("".slice),c=a("".replace),H=a([].join),p=d&&!r((function(){return 8!==b((function(){}),"length",{value:8}).length})),S=String(String).split("String"),z=e.exports=function(e,i,n){"Symbol("===g(y(i),0,7)&&(i="["+c(y(i),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),n&&n.getter&&(i="get "+i),n&&n.setter&&(i="set "+i),(!t(e,"name")||m&&e.name!==i)&&(d?b(e,"name",{value:i,configurable:!0}):e.name=i),p&&n&&t(n,"arity")&&e.length!==n.arity&&b(e,"length",{value:n.arity});try{n&&t(n,"constructor")&&n.constructor?d&&b(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var a=k(e);return t(a,"source")||(a.source=H(S,"string"==typeof i?i:"")),e};Function.prototype.toString=z((function(){return l(this)&&o(this).source||s(this)}),"toString")},function(e,i,n){"use strict";var a=n(4),r=n(8),l=n(37),t=n(93).indexOf,d=n(57),m=a([].push);e.exports=function(e,i){var n,a=l(e),s=0,u=[];for(n in a)!r(d,n)&&r(a,n)&&m(u,n);for(;i.length>s;)r(a,n=i[s++])&&(~t(u,n)||m(u,n));return u}},function(e,i,n){"use strict";var a=n(37),r=n(153),l=n(30),t=function(e){return function(i,n,t){var d=a(i),m=l(d);if(0===m)return!e&&-1;var s,u=r(t,m);if(e&&n!=n){for(;m>u;)if((s=d[u++])!=s)return!0}else for(;m>u;u++)if((e||u in d)&&d[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:t(!0),indexOf:t(!1)}},function(e,i,n){"use strict";var a,r,l,t=n(1),d=n(2),m=n(9),s=n(46),u=n(72),k=n(45),o=n(15),y=n(20),b=o("iterator"),g=!1;[].keys&&("next"in(l=[].keys())?(r=u(u(l)))!==Object.prototype&&(a=r):g=!0),!m(a)||t((function(){var e={};return a[b].call(e)!==e}))?a={}:y&&(a=s(a)),d(a[b])||k(a,b,(function(){return this})),e.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:g}},function(e,i,n){"use strict";var a=n(5),r=n(12);e.exports=function(e,i,n,l){try{return l?i(a(n)[0],n[1]):i(n)}catch(i){r(e,"throw",i)}}},function(e,i){e.exports=function(e,i){for(var n=-1,a=i.length,r=e.length;++n<a;)e[r+n]=i[n];return e}},function(e,i){var n="object"==typeof global&&global&&global.Object===Object&&global;e.exports=n},function(e,i,n){var a=n(38),r=n(194),l=n(195),t=n(196),d=n(197),m=n(198);function s(e){var i=this.__data__=new a(e);this.size=i.size}s.prototype.clear=r,s.prototype.delete=l,s.prototype.get=t,s.prototype.has=d,s.prototype.set=m,e.exports=s},function(e,i){e.exports=function(e,i){return e===i||e!=e&&i!=i}},function(e,i,n){var a=n(27),r=n(61);e.exports=function(e){if(!r(e))return!1;var i=a(e);return"[object Function]"==i||"[object GeneratorFunction]"==i||"[object AsyncFunction]"==i||"[object Proxy]"==i}},function(e,i){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,i,n){var a=n(215),r=n(22);e.exports=function e(i,n,l,t,d){return i===n||(null==i||null==n||!r(i)&&
9!r(n)?i!=i&&n!=n:a(i,n,l,t,e,d))}},function(e,i,n){var a=n(104),r=n(218),l=n(105);e.exports=function(e,i,n,t,d,m){var s=1&n,u=e.length,k=i.length;if(u!=k&&!(s&&k>u))return!1;var o=m.get(e),y=m.get(i);if(o&&y)return o==i&&y==e;var b=-1,g=!0,c=2&n?new a:void 0;for(m.set(e,i),m.set(i,e);++b<u;){var H=e[b],p=i[b];if(t)var S=s?t(p,H,b,i,e,m):t(H,p,b,e,i,m);if(void 0!==S){if(S)continue;g=!1;break}if(c){if(!r(i,(function(e,i){if(!l(c,i)&&(H===e||d(H,e,n,t,m)))return c.push(i)}))){g=!1;break}}else if(H!==p&&!d(H,p,n,t,m)){g=!1;break}}return m.delete(e),m.delete(i),g}},function(e,i,n){var a=n(62),r=n(216),l=n(217);function t(e){var i=-1,n=null==e?0:e.length;for(this.__data__=new a;++i<n;)this.add(e[i])}t.prototype.add=t.prototype.push=r,t.prototype.has=l,e.exports=t},function(e,i){e.exports=function(e,i){return e.has(i)}},function(e,i,n){var a=n(228),r=n(234),l=n(110);e.exports=function(e){return l(e)?a(e):r(e)}},function(e,i,n){(function(e){var a=n(14),r=n(230),l=i&&!i.nodeType&&i,t=l&&"object"==typeof e&&e&&!e.nodeType&&e,d=t&&t.exports===l?a.Buffer:void 0,m=(d?d.isBuffer:void 0)||r;e.exports=m}).call(this,n(82)(e))},function(e,i){var n=/^(?:0|[1-9]\d*)$/;e.exports=function(e,i){var a=typeof e;return!!(i=null==i?9007199254740991:i)&&("number"==a||"symbol"!=a&&n.test(e))&&e>-1&&e%1==0&&e<i}},function(e,i,n){var a=n(231),r=n(232),l=n(233),t=l&&l.isTypedArray,d=t?r(t):a;e.exports=d},function(e,i,n){var a=n(100),r=n(64);e.exports=function(e){return null!=e&&r(e.length)&&!a(e)}},function(e,i,n){var a=n(19)(n(14),"Set");e.exports=a},function(e,i,n){var a=n(61);e.exports=function(e){return e==e&&!a(e)}},function(e,i){e.exports=function(e,i){return function(n){return null!=n&&(n[e]===i&&(void 0!==i||e in Object(n)))}}},function(e,i,n){var a=n(115),r=n(42);e.exports=function(e,i){for(var n=0,l=(i=a(i,e)).length;null!=e&&n<l;)e=e[r(i[n++])];return n&&n==l?e:void 0}},function(e,i,n){var a=n(13),r=n(65),l=n(244),t=n(247);e.exports=function(e,i){return a(e)?e:r(e,i)?[e]:l(t(e))}},function(e,i,n){},function(e,i,n){},function(e,i,n){var a=n(181),r=n(186),l=n(256),t=n(264),d=n(273),m=n(143),s=l((function(e){var i=m(e);return d(i)&&(i=void 0),t(a(e,1,d,!0),r(i,2))}));e.exports=s},function(e,i,n){"use strict"; 10/*! 11 * escape-html 12 * Copyright(c) 2012-2013 TJ Holowaychuk 13 * Copyright(c) 2015 Andreas Lubbe 14 * Copyright(c) 2015 Tiancheng "Timothy" Gu 15 * MIT Licensed 16 */var a=/["'&<>]/;e.exports=function(e){var i,n=""+e,r=a.exec(n);if(!r)return n;var l="",t=0,d=0;for(t=r.index;t<n.length;t++){switch(n.charCodeAt(t)){case 34:i=""";break;case 38:i="&";break;case 39:i="'";break;case 60:i="<";break;case 62:i=">";break;default:continue}d!==t&&(l+=n.substring(d,t)),d=t+1,l+=i}return d!==t?l+n.substring(d,t):l}},function(e,i){var n=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,l=/^0o[0-7]+$/i,t=parseInt,d="object"==typeof global&&global&&global.Object===Object&&global,m="object"==typeof self&&self&&self.Object===Object&&self,s=d||m||Function("return this")(),u=Object.prototype.toString,k=Math.max,o=Math.min,y=function(){return s.Date.now()};function b(e){var i=typeof e;return!!e&&("object"==i||"function"==i)}function g(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==u.call(e)}(e))return NaN;if(b(e)){var i="function"==typeof e.valueOf?e.valueOf():e;e=b(i)?i+"":i}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(n,"");var d=r.test(e);return d||l.test(e)?t(e.slice(2),d?2:8):a.test(e)?NaN:+e}e.exports=function(e,i,n){var a,r,l,t,d,m,s=0,u=!1,c=!1,H=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(i){var n=a,l=r;return a=r=void 0,s=i,t=e.apply(l,n)}function S(e){return s=e,d=setTimeout(h,i),u?p(e):t}function z(e){var n=e-m;return void 0===m||n>=i||n<0||c&&e-s>=l}function h(){var e=y();if(z(e))return K(e);d=setTimeout(h,function(e){var n=i-(e-m);return c?o(n,l-(e-s)):n}(e))}function K(e){return d=void 0,H&&a?p(e):(a=r=void 0,t)}function v(){var e=y(),n=z(e);if(a=arguments,r=this,m=e,n){if(void 0===d)return S(m);if(c)return d=setTimeout(h,i),p(m)}return void 0===d&&(d=setTimeout(h,i)),t}return i=g(i)||0,b(n)&&(u=!!n.leading,l=(c="maxWait"in n)?k(g(n.maxWait)||0,i):l,H="trailing"in n?!!n.trailing:H),v.cancel=function(){void 0!==d&&clearTimeout(d),s=0,a=m=r=d=void 0},v.flush=function(){return void 0===d?t:K(y())},v}},function(e,i,n){"use strict";var a=n(91),r=n(17);e.exports=function(e,i,n){return n.get&&a(n.get,i,{getter:!0}),n.set&&a(n.set,i,{setter:!0}),r.f(e,i,n)}},function(e,i,n){"use strict";var a=n(10),r=n(33),l=n(30),t=n(176),d=n(177);a({target:"Array",proto:!0,arity:1,forced:n(1)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var i=r(this),n=l(i),a=arguments.length;d(n+a);for(var m=0;m<a;m++)i[n]=arguments[m],n++;return t(i,n),n}})},function(e,i,n){"use strict";var a=n(4),r=n(11);e.exports=function(e,i,n){try{return a(r(Object.getOwnPropertyDescriptor(e,i)[n]))}catch(e){}}},function(e,i,n){"use strict";var a=n(69);e.exports=function(e,i){return void 0===e?arguments.length<2?"":i:a(e)}},function(e,i,n){"use strict";var a=n(174),r=n(2),l=n(18),t=n(15)("toStringTag"),d=Object,m="Arguments"===l(function(){return arguments}());e.exports=a?l:function(e){var i,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,i){try{return e[i]}catch(e){}}(i=d(e),t))?n:m?l(i):"Object"===(a=l(i))&&r(i.callee)?"Arguments":a}},function(e,i,n){"use strict";var a=n(10),r=n(25),l=n(6),t=n(4),d=n(1),m=n(81),s=n(2),u=n(9),k=n(46),o=n(178),y=n(53),b=n(18),g=n(179),c=n(93).includes,H=n(8),p=n(69),S=n(142),z=n(50),h=n(48),K=n(180),v=String,A=TypeError,T=r("JSON","stringify"),f=r("BigInt"),B=t("".valueOf),R=t((!0).valueOf),Y=f&&t(f.prototype.valueOf),N=t(/./.exec),P=t("".charAt),O=t("".charCodeAt),D=t("".replace),I=t("".slice),E=t([].push),Z=t([].pop),G=t(1.1.toString),V=/[\uD800-\uDFFF]/g,C=/^[\uD800-\uDBFF]$/,M=/^[\uDC00-\uDFFF]$/,F=/^\d+$/,_=z(),L=z(),x=z(),U=_.length,j=L.length,w=!h||d((function(){var e=r("Symbol")("stringify detection");return"[null]"!==T([e])||"{}"!==T({a:e})||"{}"!==T(Object(e))})),$=d((function(){return'"\\udf06\\ud834"'!==T("\udf06\ud834")||'"\\udead"'!==T("\udead")})),J=K?r("JSON","isRawJSON"):o,X=w?function(e,i,n){return T(e,(function(e,n){var a=l(i,this,e,n);if(!y(a))return a}),n)}:T,W=function(e,i,n){var a=P(n,i-1),r=P(n,i+1);return N(C,e)&&!N(M,r)||N(M,e)&&!N(C,a)?"\\u"+G(O(e,0),16):e},q=function(e,i){try{return e(i),!0}catch(e){return!1}},Q=function(e){if(!u(e)||s(e)||m(e))return!1;try{return!function(e){var i=b(e);return"Number"===i&&q(g,e)||"String"===i&&q(B,e)||"Boolean"===i&&q(R,e)||!!Y&&"BigInt"===i&&q(Y,e)}(e)}catch(e){return!0}},ee=function(e,i){return{toJSON:function(){var n=e[i];if(u(n)||"bigint"==typeof n){var a=n.toJSON;s(a)&&(n=l(a,n,i))}return n}}};T&&a({target:"JSON",stat:!0,arity:3,forced:w||$||!K},{stringify:function(e,i,n){var a,r=s(i)?i:void 0,t=r?void 0:function(e){if(m(e)){for(var i=e.length,n=[],a=k(null),r=0;r<i;r++){var l,t=e[r];if("string"==typeof t)l=t;else{if("number"!=typeof t&&"Number"!==b(t)&&"String"!==b(t))continue;l=p(t)}H(a,l)||(a[l]=!0,E(n,l))}return n}}(i),d=t&&function(e){for(var i=0,n=e.length;i<n;i++)if(N(F,e[i]))return L;return""}(t),u=[],o=[],y=[],g=!1,z=!0,h=X(e,(function(e,i){if(e=v(e),t){if(e===x)return Z(o),void(a=Z(y));if(z)z=!1;else if(this!==a&&!m(this)&&!c(t,e))return}else r&&(i=l(r,this,e,i));if(J(i))return K?i:(g=!0,_+(E(u,i.rawJSON)-1));if(t&&Q(i)){if(c(o,i))throw new A("Converting circular structure to JSON");var n=function(e,i,n){for(var a=k(null),r=0,l=i.length;r<l;r++){var t=i[r];a[n+t]=ee(e,t)}return a[x]=null,a}(i,t,d);return E(o,i),E(y,a),a=n,d&&(g=!0),n}return i}),n);if("string"!=typeof h)return h;if($&&(h=D(h,V,W)),!g)return h;for(var T="",f=h.length,B=0;B<f;B++){var R=P(h,B);if('"'===R){var Y=S(h,++B).end-1,O=I(h,B,Y);I(O,0,U)===_?T+=u[I(O,U)]:I(O,0,j)===L?T+='"'+I(O,j)+'"':T+='"'+O+'"',B=Y}else T+=R}return T}})},function(e,i,n){"use strict";var a=n(7),r=n(17),l=n(34);e.exports=function(e,i,n){a?r.f(e,i,l(0,n)):e[i]=n}},function(e,i,n){"use strict";var a=n(10),r=n(165).left,l=n(166),t=n(78);a({target:"Array",proto:!0,forced:!n(135)&&t>79&&t<83||!l("reduce")},{reduce:function(e){var i=arguments.length;return r(this,e,i,i>1?arguments[1]:void 0)}})},function(e,i,n){"use strict";var a=n(10),r=n(44),l=n(11),t=n(5),d=n(23),m=n(12),s=n(26),u=n(80),k=n(1),o=TypeError,y=k((function(){[].keys().reduce((function(){}),void 0)})),b=!y&&s("reduce",o);a({target:"Iterator",proto:!0,real:!0,forced:y||b},{reduce:function(e){t(this);try{l(e)}catch(e){m(this,"throw",e)}var i=arguments.length<2,n=i?void 0:arguments[1];if(b)return u(b,this,i?[e]:[e,n]);var a=d(this),s=0;if(r(a,(function(a){i?(i=!1,n=a):n=e(n,a,s),s++}),{IS_RECORD:!0}),i)throw new o("Reduce of empty iterator with no initial value");return n}})},function(e,i,n){"use strict";var a=n(10),r=n(3),l=n(80),t=n(138),d=r.WebAssembly,m=7!==new Error("e",{cause:7}).cause,s=function(e,i){var n={};n[e]=t(e,i,m),a({global:!0,constructor:!0,arity:1,forced:m},n)},u=function(e,i){if(d&&d[e]){var n={};n[e]=t("WebAssembly."+e,i,m),a({target:"WebAssembly",stat:!0,constructor:!0,arity:1,forced:m},n)}};s("Error",(function(e){return function(i){return l(e,this,arguments)}})),s("EvalError",(function(e){return function(i){return l(e,this,arguments)}})),s("RangeError",(function(e){return function(i){return l(e,this,arguments)}})),s("ReferenceError",(function(e){return function(i){return l(e,this,arguments)}})),s("SyntaxError",(function(e){return function(i){return l(e,this,arguments)}})),s("TypeError",(function(e){return function(i){return l(e,this,arguments)}})),s("URIError",(function(e){return function(i){return l(e,this,arguments)}})),u("CompileError",(function(e){return function(i){return l(e,this,arguments)}})),u("LinkError",(function(e){return function(i){return l(e,this,arguments)}})),u("RuntimeError",(function(e){return function(i){return l(e,this,arguments)}}))},function(e,i,n){"use strict";var a=n(21),r=n(141),l=n(175),t=Error.captureStackTrace;e.exports=function(e,i,n,d){l&&(t?t(e,i):a(e,"stack",r(n,d)))}},function(e,i,n){"use strict";var a=n(6),r=n(9),l=n(53),t=n(35),d=n(147),m=n(15),s=TypeError,u=m("toPrimitive");e.exports=function(e,i){if(!r(e)||l(e))return e;var n,m=t(e,u);if(m){if(void 0===i&&(i="default"),n=a(m,e,i),!r(n)||l(n))return n;throw new s("Can't convert object to primitive value")}return void 0===i&&(i="number"),d(e,i)}},function(e,i,n){"use strict";var a=n(68),r=Math.min;e.exports=function(e){var i=a(e);return i>0?r(i,9007199254740991):0}},function(e,i,n){"use strict";var a=n(32),r=TypeError;e.exports=function(e,i){if(a(i,e))return e;throw new r("Incorrect invocation")}},function(e,i,n){"use strict";var a=n(136);e.exports="NODE"===a},function(e,i,n){"use strict";var a=n(3),r=n(86),l=n(18),t=function(e){return r.slice(0,e.length)===e};
16e.exports=t("Bun/")?"BUN":t("Cloudflare-Workers")?"CLOUDFLARE":t("Deno/")?"DENO":t("Node.js/")?"NODE":a.Bun&&"string"==typeof Bun.version?"BUN":a.Deno&&"object"==typeof Deno.version?"DENO":"process"===l(a.process)?"NODE":a.window&&a.document?"BROWSER":"REST"},function(e,i,n){"use strict";var a=n(167),r=n(11),l=n(36),t=a(a.bind);e.exports=function(e,i){return r(e),void 0===i?e:l?t(e,i):function(){return e.apply(i,arguments)}}},function(e,i,n){"use strict";var a=n(25),r=n(8),l=n(21),t=n(32),d=n(73),m=n(74),s=n(173),u=n(139),k=n(124),o=n(140),y=n(131),b=n(7),g=n(20);e.exports=function(e,i,n,c){var H=c?2:1,p=e.split("."),S=p[p.length-1],z=a.apply(null,p);if(z){var h=z.prototype;if(!g&&r(h,"cause")&&delete h.cause,!n)return z;var K=a("Error"),v=i((function(e,i){var n=k(c?i:e,void 0),a=c?new z(e):new z;return void 0!==n&&l(a,"message",n),y(a,v,a.stack,2),this&&t(h,this)&&u(a,this,v),arguments.length>H&&o(a,arguments[H]),a}));if(v.prototype=h,"Error"!==S?d?d(v,K):m(v,K,{name:!0}):b&&"stackTraceLimit"in z&&(s(v,z,"stackTraceLimit"),s(v,z,"prepareStackTrace")),m(v,z),!g)try{h.name!==S&&l(h,"name",S),h.constructor=v}catch(e){}return v}}},function(e,i,n){"use strict";var a=n(2),r=n(9),l=n(73);e.exports=function(e,i,n){var t,d;return l&&a(t=i.constructor)&&t!==n&&r(d=t.prototype)&&d!==n.prototype&&l(e,d),e}},function(e,i,n){"use strict";var a=n(9),r=n(21);e.exports=function(e,i){a(i)&&"cause"in i&&r(e,"cause",i.cause)}},function(e,i,n){"use strict";var a=n(4),r=Error,l=a("".replace),t=String(new r("zxcasd").stack),d=/\n\s*at [^:]*:[^\n]*/,m=d.test(t);e.exports=function(e,i){if(m&&"string"==typeof e&&!r.prepareStackTrace)for(;i--;)e=l(e,d,"");return e}},function(e,i,n){"use strict";var a=n(4),r=n(8),l=SyntaxError,t=parseInt,d=String.fromCharCode,m=a("".charAt),s=a("".slice),u=a(/./.exec),k={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},o=/^[\da-f]{4}$/i,y=/^[\u0000-\u001F]$/;e.exports=function(e,i){for(var n=!0,a="";i<e.length;){var b=m(e,i);if("\\"===b){var g=s(e,i,i+2);if(r(k,g))a+=k[g],i+=2;else{if("\\u"!==g)throw new l('Unknown escape sequence: "'+g+'"');var c=s(e,i+=2,i+4);if(!u(o,c))throw new l("Bad Unicode escape at: "+i);a+=d(t(c,16)),i+=4}}else{if('"'===b){n=!1,i++;break}if(u(y,b))throw new l("Bad control character in string literal at: "+i);a+=b,i++}}if(n)throw new l("Unterminated string at: "+i);return{value:a,end:i}}},function(e,i){e.exports=function(e){var i=null==e?0:e.length;return i?e[i-1]:void 0}},function(e,i,n){var a=n(114);e.exports=function(e,i,n){var r=null==e?void 0:a(e,i);return void 0===r?n:r}},function(e,i,n){e.exports=n(278)},function(e,i,n){"use strict";var a={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,l=r&&!a.call({1:2},1);i.f=l?function(e){var i=r(this,e);return!!i&&i.enumerable}:a},function(e,i,n){"use strict";var a=n(6),r=n(2),l=n(9),t=TypeError;e.exports=function(e,i){var n,d;if("string"===i&&r(n=e.toString)&&!l(d=a(n,e)))return d;if(r(n=e.valueOf)&&!l(d=a(n,e)))return d;if("string"!==i&&r(n=e.toString)&&!l(d=a(n,e)))return d;throw new t("Can't convert object to primitive value")}},function(e,i,n){"use strict";var a=n(7),r=n(8),l=Function.prototype,t=a&&Object.getOwnPropertyDescriptor,d=r(l,"name"),m=d&&"something"===function(){}.name,s=d&&(!a||a&&t(l,"name").configurable);e.exports={EXISTS:d,PROPER:m,CONFIGURABLE:s}},function(e,i,n){"use strict";var a=n(4),r=n(2),l=n(54),t=a(Function.toString);r(l.inspectSource)||(l.inspectSource=function(e){return t(e)}),e.exports=l.inspectSource},function(e,i,n){"use strict";var a=n(3),r=n(2),l=a.WeakMap;e.exports=r(l)&&/native code/.test(String(l))},function(e,i,n){"use strict";var a=n(25),r=n(4),l=n(152),t=n(155),d=n(5),m=r([].concat);e.exports=a("Reflect","ownKeys")||function(e){var i=l.f(d(e)),n=t.f;return n?m(i,n(e)):i}},function(e,i,n){"use strict";var a=n(92),r=n(58).concat("length","prototype");i.f=Object.getOwnPropertyNames||function(e){return a(e,r)}},function(e,i,n){"use strict";var a=n(68),r=Math.max,l=Math.min;e.exports=function(e,i){var n=a(e);return n<0?r(n+i,0):l(n,i)}},function(e,i,n){"use strict";var a=Math.ceil,r=Math.floor;e.exports=Math.trunc||function(e){var i=+e;return(i>0?r:a)(i)}},function(e,i,n){"use strict";i.f=Object.getOwnPropertySymbols},function(e,i,n){"use strict";var a=n(1),r=n(2),l=/#|\.prototype\./,t=function(e,i){var n=m[d(e)];return n===u||n!==s&&(r(i)?a(i):!!i)},d=t.normalize=function(e){return String(e).replace(l,".").toLowerCase()},m=t.data={},s=t.NATIVE="N",u=t.POLYFILL="P";e.exports=t},function(e,i,n){"use strict";var a=n(1);e.exports=!a((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,i,n){"use strict";var a=n(7),r=n(90),l=n(17),t=n(5),d=n(37),m=n(159);i.f=a&&!r?Object.defineProperties:function(e,i){t(e);for(var n,a=d(i),r=m(i),s=r.length,u=0;s>u;)l.f(e,n=r[u++],a[n]);return e}},function(e,i,n){"use strict";var a=n(92),r=n(58);e.exports=Object.keys||function(e){return a(e,r)}},function(e,i,n){"use strict";var a=n(25);e.exports=a("document","documentElement")},function(e,i,n){"use strict";var a=n(45);e.exports=function(e,i,n){for(var r in i)a(e,r,i[r],n);return e}},function(e,i,n){"use strict";e.exports=function(e,i){return{value:e,done:i}}},function(e,i,n){"use strict";var a=n(12);e.exports=function(e,i,n){for(var r=e.length-1;r>=0;r--)if(void 0!==e[r])try{n=a(e[r].iterator,i,n)}catch(e){i="throw",n=e}if("throw"===i)throw n;return n}},function(e,i,n){"use strict";e.exports=function(e){e.iterator=e.next=e.nextHandler=e.mapper=e.predicate=e.inner=e.iterables=e.iters=e.openIters=e.padding=e.finishResults=e.buffer=null}},function(e,i,n){"use strict";var a=n(11),r=n(33),l=n(77),t=n(30),d=TypeError,m="Reduce of empty array with
16no initial value",s=function(e){return function(i,n,s,u){var k=r(i),o=l(k),y=t(k);if(a(n),0===y&&s<2)throw new d(m);var b=e?y-1:0,g=e?-1:1;if(s<2)for(;;){if(b in o){u=o[b],b+=g;break}if(b+=g,e?b<0:y<=b)throw new d(m)}for(;e?b>=0:y>b;b+=g)b in o&&(u=n(u,o[b],b,k));return u}};e.exports={left:s(!1),right:s(!0)}},function(e,i,n){"use strict";var a=n(1);e.exports=function(e,i){var n=[][e];return!!n&&a((function(){n.call(null,i||function(){return 1},1)}))}},function(e,i,n){"use strict";var a=n(18),r=n(4);e.exports=function(e){if("Function"===a(e))return r(e)}},function(e,i,n){"use strict";var a=n(15),r=n(169),l=a("iterator"),t=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||t[l]===e)}},function(e,i,n){"use strict";e.exports=Object.create?Object.create(null):{}},function(e,i,n){"use strict";var a=n(6),r=n(2),l=n(5),t=n(49),d=n(79),m=TypeError;e.exports=function(e,i){var n=arguments.length<2?d(e):i;if(r(n))return l(a(n,e));throw new m(t(e)+" is not iterable")}},function(e,i,n){"use strict";var a=n(172),r=String,l=TypeError;e.exports=function(e){if(a(e))return e;throw new l("Can't set "+r(e)+" as a prototype")}},function(e,i,n){"use strict";var a=n(9);e.exports=function(e){return a(e)||null===e}},function(e,i,n){"use strict";var a=n(17).f;e.exports=function(e,i,n){n in e||a(e,n,{configurable:!0,get:function(){return i[n]},set:function(e){i[n]=e}})}},function(e,i,n){"use strict";var a={};a[n(15)("toStringTag")]="z",e.exports="[object z]"===String(a)},function(e,i,n){"use strict";var a=n(1),r=n(34);e.exports=!a((function(){var e=new Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",r(1,7)),7!==e.stack)}))},function(e,i,n){"use strict";var a=n(7),r=n(81),l=TypeError,t=Object.getOwnPropertyDescriptor,d=a&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=d?function(e,i){if(r(e)&&!t(e,"length").writable)throw new l("Cannot set read only .length");return e.length=i}:function(e,i){return e.length=i}},function(e,i,n){"use strict";var a=TypeError;e.exports=function(e){if(e>9007199254740991)throw new a("Maximum allowed index exceeded");return e}},function(e,i,n){"use strict";var a=n(9),r=n(51).get;e.exports=function(e){if(!a(e))return!1;var i=r(e);return!!i&&"RawJSON"===i.type}},function(e,i,n){"use strict";var a=n(4);e.exports=a(1.1.valueOf)},function(e,i,n){"use strict";var a=n(1);e.exports=!a((function(){var e=JSON.rawJSON("9007199254740993");return!JSON.isRawJSON(e)||"9007199254740993"!==JSON.stringify(e)}))},function(e,i,n){var a=n(96),r=n(182);e.exports=function e(i,n,l,t,d){var m=-1,s=i.length;for(l||(l=r),d||(d=[]);++m<s;){var u=i[m];n>0&&l(u)?n>1?e(u,n-1,l,t,d):a(d,u):t||(d[d.length]=u)}return d}},function(e,i,n){var a=n(28),r=n(59),l=n(13),t=a?a.isConcatSpreadable:void 0;e.exports=function(e){return l(e)||r(e)||!!(t&&e&&e[t])}},function(e,i,n){var a=n(27),r=n(22);e.exports=function(e){return r(e)&&"[object Arguments]"==a(e)}},function(e,i,n){var a=n(28),r=Object.prototype,l=r.hasOwnProperty,t=r.toString,d=a?a.toStringTag:void 0;e.exports=function(e){var i=l.call(e,d),n=e[d];try{e[d]=void 0;var a=!0}catch(e){}var r=t.call(e);return a&&(i?e[d]=n:delete e[d]),r}},function(e,i){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,i,n){var a=n(187),r=n(243),l=n(67),t=n(13),d=n(253);e.exports=function(e){return"function"==typeof e?e:null==e?l:"object"==typeof e?t(e)?r(e[0],e[1]):a(e):d(e)}},function(e,i,n){var a=n(188),r=n(242),l=n(113);e.exports=function(e){var i=r(e);return 1==i.length&&i[0][2]?l(i[0][0],i[0][1]):function(n){return n===e||a(n,e,i)}}},function(e,i,n){var a=n(98),r=n(102);e.exports=function(e,i,n,l){var t=n.length,d=t,m=!l;if(null==e)return!d;for(e=Object(e);t--;){var s=n[t];if(m&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++t<d;){var u=(s=n[t])[0],k=e[u],o=s[1];if(m&&s[2]){if(void 0===k&&!(u in e))return!1}else{var y=new a;if(l)var b=l(k,o,u,e,i,y);if(!(void 0===b?r(o,k,3,l,y):b))return!1}}return!0}},function(e,i){e.exports=function(){this.__data__=[],this.size=0}},function(e,i,n){var a=n(39),r=Array.prototype.splice;e.exports=function(e){var i=this.__data__,n=a(i,e);return!(n<0)&&(n==i.length-1?i.pop():r.call(i,n,1),--this.size,!0)}},function(e,i,n){var a=n(39);e.exports=function(e){var i=this.__data__,n=a(i,e);return n<0?void 0:i[n][1]}},function(e,i,n){var a=n(39);e.exports=function(e){return a(this.__data__,e)>-1}},function(e,i,n){var a=n(39);e.exports=function(e,i){var n=this.__data__,r=a(n,e);return r<0?(++this.size,n.push([e,i])):n[r][1]=i,this}},function(e,i,n){var a=n(38);e.exports=function(){this.__data__=new a,this.size=0}},function(e,i){e.exports=function(e){var i=this.__data__,n=i.delete(e);return this.size=i.size,n}},function(e,i){e.exports=function(e){return this.__data__.get(e)}},function(e,i){e.exports=function(e){return this.__data__.has(e)}},function(e,i,n){var a=n(38),r=n(60),l=n(62);e.exports=function(e,i){var n=this.__data__;if(n instanceof a){var t=n.__data__;if(!r||t.length<199)return t.push([e,i]),this.size=++n.size,this;n=this.__data__=new l(t)}return n.set(e,i),this.size=n.size,this}},function(e,i,n){var a=n(100),r=n(200),l=n(61),t=n(101),d=/^\[object .+?Constructor\]$/,m=Function.prototype,s=Object.prototype,u=m.toString,k=s.hasOwnProperty,o=RegExp("^"+u.call(k).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!l(e)||r(e))&&(a(e)?o:d).test(t(e))}}
vendor: 6,524 bytes, line 16
16,function(e,i,n){var a,r=n(201),l=(a=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";e.exports=function(e){return!!l&&l in e}},function(e,i,n){var a=n(14)["__core-js_shared__"];e.exports=a},function(e,i){e.exports=function(e,i){return null==e?void 0:e[i]}},function(e,i,n){var a=n(204),r=n(38),l=n(60);e.exports=function(){this.size=0,this.__data__={hash:new a,map:new(l||r),string:new a}}},function(e,i,n){var a=n(205),r=n(206),l=n(207),t=n(208),d=n(209);function m(e){var i=-1,n=null==e?0:e.length;for(this.clear();++i<n;){var a=e[i];this.set(a[0],a[1])}}m.prototype.clear=a,m.prototype.delete=r,m.prototype.get=l,m.prototype.has=t,m.prototype.set=d,e.exports=m},function(e,i,n){var a=n(40);e.exports=function(){this.__data__=a?a(null):{},this.size=0}},function(e,i){e.exports=function(e){var i=this.has(e)&&delete this.__data__[e];return this.size-=i?1:0,i}},function(e,i,n){var a=n(40),r=Object.prototype.hasOwnProperty;e.exports=function(e){var i=this.__data__;if(a){var n=i[e];return"__lodash_hash_undefined__"===n?void 0:n}return r.call(i,e)?i[e]:void 0}},function(e,i,n){var a=n(40),r=Object.prototype.hasOwnProperty;e.exports=function(e){var i=this.__data__;return a?void 0!==i[e]:r.call(i,e)}},function(e,i,n){var a=n(40);e.exports=function(e,i){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=a&&void 0===i?"__lodash_hash_undefined__":i,this}},function(e,i,n){var a=n(41);e.exports=function(e){var i=a(this,e).delete(e);return this.size-=i?1:0,i}},function(e,i){e.exports=function(e){var i=typeof e;return"string"==i||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==e:null===e}},function(e,i,n){var a=n(41);e.exports=function(e){return a(this,e).get(e)}},function(e,i,n){var a=n(41);e.exports=function(e){return a(this,e).has(e)}},function(e,i,n){var a=n(41);e.exports=function(e,i){var n=a(this,e),r=n.size;return n.set(e,i),this.size+=n.size==r?0:1,this}},function(e,i,n){var a=n(98),r=n(103),l=n(219),t=n(222),d=n(238),m=n(13),s=n(107),u=n(109),k="[object Object]",o=Object.prototype.hasOwnProperty;e.exports=function(e,i,n,y,b,g){var c=m(e),H=m(i),p=c?"[object Array]":d(e),S=H?"[object Array]":d(i),z=(p="[object Arguments]"==p?k:p)==k,h=(S="[object Arguments]"==S?k:S)==k,K=p==S;if(K&&s(e)){if(!s(i))return!1;c=!0,z=!1}if(K&&!z)return g||(g=new a),c||u(e)?r(e,i,n,y,b,g):l(e,i,p,n,y,b,g);if(!(1&n)){var v=z&&o.call(e,"__wrapped__"),A=h&&o.call(i,"__wrapped__");if(v||A){var T=v?e.value():e,f=A?i.value():i;return g||(g=new a),b(T,f,n,y,g)}}return!!K&&(g||(g=new a),t(e,i,n,y,b,g))}},function(e,i){e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},function(e,i){e.exports=function(e){return this.__data__.has(e)}},function(e,i){e.exports=function(e,i){for(var n=-1,a=null==e?0:e.length;++n<a;)if(i(e[n],n,e))return!0;return!1}},function(e,i,n){var a=n(28),r=n(220),l=n(99),t=n(103),d=n(221),m=n(63),s=a?a.prototype:void 0,u=s?s.valueOf:void 0;e.exports=function(e,i,n,a,s,k,o){switch(n){case"[object DataView]":if(e.byteLength!=i.byteLength||e.byteOffset!=i.byteOffset)return!1;e=e.buffer,i=i.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=i.byteLength||!k(new r(e),new r(i)));case"[object Boolean]":case"[object Date]":case"[object Number]":return l(+e,+i);case"[object Error]":return e.name==i.name&&e.message==i.message;case"[object RegExp]":case"[object String]":return e==i+"";case"[object Map]":var y=d;case"[object Set]":var b=1&a;if(y||(y=m),e.size!=i.size&&!b)return!1;var g=o.get(e);if(g)return g==i;a|=2,o.set(e,i);var c=t(y(e),y(i),a,s,k,o);return o.delete(e),c;case"[object Symbol]":if(u)return u.call(e)==u.call(i)}return!1}},function(e,i,n){var a=n(14).Uint8Array;e.exports=a},function(e,i){e.exports=function(e){var i=-1,n=Array(e.size);return e.forEach((function(e,a){n[++i]=[a,e]})),n}},function(e,i,n){var a=n(223),r=Object.prototype.hasOwnProperty;e.exports=function(e,i,n,l,t,d){var m=1&n,s=a(e),u=s.length;if(u!=a(i).length&&!m)return!1;for(var k=u;k--;){var o=s[k];if(!(m?o in i:r.call(i,o)))return!1}var y=d.get(e),b=d.get(i);if(y&&b)return y==i&&b==e;var g=!0;d.set(e,i),d.set(i,e);for(var c=m;++k<u;){var H=e[o=s[k]],p=i[o];if(l)var S=m?l(p,H,o,i,e,d):l(H,p,o,e,i,d);if(!(void 0===S?H===p||t(H,p,n,l,d):S)){g=!1;break}c||(c="constructor"==o)}if(g&&!c){var z=e.constructor,h=i.constructor;z==h||!("constructor"in e)||!("constructor"in i)||"function"==typeof z&&z instanceof z&&"function"==typeof h&&h instanceof h||(g=!1)}return d.delete(e),d.delete(i),g}},function(e,i,n){var a=n(224),r=n(225),l=n(106);e.exports=function(e){return a(e,l,r)}},function(e,i,n){var a=n(96),r=n(13);e.exports=function(e,i,n){var l=i(e);return r(e)?l:a(l,n(e))}},function(e,i,n){var a=n(226),r=n(227),l=Object.prototype.propertyIsEnumerable,t=Object.getOwnPropertySymbols,d=t?function(e){return null==e?[]:(e=Object(e),a(t(e),(function(i){return l.call(e,i)})))}:r;e.exports=d},function(e,i){e.exports=function(e,i){for(var n=-1,a=null==e?0:e.length,r=0,l=[];++n<a;){var t=e[n];i(t,n,e)&&(l[r++]=t)}return l}},function(e,i){e.exports=function(){return[]}},function(e,i,n){var a=n(229),r=n(59),l=n(13),t=n(107),d=n(108),m=n(109),s=Object.prototype.hasOwnProperty;e.exports=function(e,i){var n=l(e),u=!n&&r(e),k=!n&&!u&&t(e),o=!n&&!u&&!k&&m(e),y=n||u||k||o,b=y?a(e.length,String):[],g=b.length;for(var c in e)!i&&!s.call(e,c)||y&&("length"==c||k&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||d(c,g))||b.push(c);return b}},function(e,i){e.exports=function(e,i){for(var n=-1,a=Array(e);++n<e;)a[n]=i(n);return a}},function(e,i){e.exports=function(){return!1}},function(e,i,n){var a=n(27),r=n(64),l=n(22),t={};t["[object Float32Array]"]=t["[object Float64Array]"]=t["[object Int8Array]"]=t["[object Int16Array]"]=t["[object Int32Array]"]=t["[object Uint8Array]"]=t["[object Uint8ClampedArray]"]=t["[object Uint16Array]"]=t["[object Uint32Array]"]=!0,t["[object Arguments]"]=t["[object Array]"]=t["[object ArrayBuffer]"]=t["[object Boolean]"]=t["[object DataView]"]=t["[object Date]"]=t["[object Error]"]=t["[object Function]"]=t["[object Map]"]=t["[object Number]"]=t["[object Object]"]=t["[object RegExp]"]=t["[object Set]"]=t["[object String]"]=t["[object WeakMap]"]=!1,e.exports=function(e){return l(e)&&r(e.length)&&!!t[a(e)]}},function(e,i){e.exports=function(e){return function(i){return e(i)}}},function(e,i,n){(function(e){var a=n(97),r=i&&!i.nodeType&&i,l=r&&"object"==typeof e&&e&&!e.nodeType&&e,t=l&&l.exports===r&&a.process,d=function(){try{var e=l&&l.require&&l.require("util").t
vendor: 5,010 bytes, line 16
16ypes;return e||t&&t.binding&&t.binding("util")}catch(e){}}();e.exports=d}).call(this,n(82)(e))},function(e,i,n){var a=n(235),r=n(236),l=Object.prototype.hasOwnProperty;e.exports=function(e){if(!a(e))return r(e);var i=[];for(var n in Object(e))l.call(e,n)&&"constructor"!=n&&i.push(n);return i}},function(e,i){var n=Object.prototype;e.exports=function(e){var i=e&&e.constructor;return e===("function"==typeof i&&i.prototype||n)}},function(e,i,n){var a=n(237)(Object.keys,Object);e.exports=a},function(e,i){e.exports=function(e,i){return function(n){return e(i(n))}}},function(e,i,n){var a=n(239),r=n(60),l=n(240),t=n(111),d=n(241),m=n(27),s=n(101),u=s(a),k=s(r),o=s(l),y=s(t),b=s(d),g=m;(a&&"[object DataView]"!=g(new a(new ArrayBuffer(1)))||r&&"[object Map]"!=g(new r)||l&&"[object Promise]"!=g(l.resolve())||t&&"[object Set]"!=g(new t)||d&&"[object WeakMap]"!=g(new d))&&(g=function(e){var i=m(e),n="[object Object]"==i?e.constructor:void 0,a=n?s(n):"";if(a)switch(a){case u:return"[object DataView]";case k:return"[object Map]";case o:return"[object Promise]";case y:return"[object Set]";case b:return"[object WeakMap]"}return i}),e.exports=g},function(e,i,n){var a=n(19)(n(14),"DataView");e.exports=a},function(e,i,n){var a=n(19)(n(14),"Promise");e.exports=a},function(e,i,n){var a=n(19)(n(14),"WeakMap");e.exports=a},function(e,i,n){var a=n(112),r=n(106);e.exports=function(e){for(var i=r(e),n=i.length;n--;){var l=i[n],t=e[l];i[n]=[l,t,a(t)]}return i}},function(e,i,n){var a=n(102),r=n(144),l=n(250),t=n(65),d=n(112),m=n(113),s=n(42);e.exports=function(e,i){return t(e)&&d(i)?m(s(e),i):function(n){var t=r(n,e);return void 0===t&&t===i?l(n,e):a(i,t,3)}}},function(e,i,n){var a=n(245),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l=/\\(\\)?/g,t=a((function(e){var i=[];return 46===e.charCodeAt(0)&&i.push(""),e.replace(r,(function(e,n,a,r){i.push(a?r.replace(l,"$1"):n||e)})),i}));e.exports=t},function(e,i,n){var a=n(246);e.exports=function(e){var i=a(e,(function(e){return 500===n.size&&n.clear(),e})),n=i.cache;return i}},function(e,i,n){var a=n(62);function r(e,i){if("function"!=typeof e||null!=i&&"function"!=typeof i)throw new TypeError("Expected a function");var n=function(){var a=arguments,r=i?i.apply(this,a):a[0],l=n.cache;if(l.has(r))return l.get(r);var t=e.apply(this,a);return n.cache=l.set(r,t)||l,t};return n.cache=new(r.Cache||a),n}r.Cache=a,e.exports=r},function(e,i,n){var a=n(248);e.exports=function(e){return null==e?"":a(e)}},function(e,i,n){var a=n(28),r=n(249),l=n(13),t=n(66),d=a?a.prototype:void 0,m=d?d.toString:void 0;e.exports=function e(i){if("string"==typeof i)return i;if(l(i))return r(i,e)+"";if(t(i))return m?m.call(i):"";var n=i+"";return"0"==n&&1/i==-1/0?"-0":n}},function(e,i){e.exports=function(e,i){for(var n=-1,a=null==e?0:e.length,r=Array(a);++n<a;)r[n]=i(e[n],n,e);return r}},function(e,i,n){var a=n(251),r=n(252);e.exports=function(e,i){return null!=e&&r(e,i,a)}},function(e,i){e.exports=function(e,i){return null!=e&&i in Object(e)}},function(e,i,n){var a=n(115),r=n(59),l=n(13),t=n(108),d=n(64),m=n(42);e.exports=function(e,i,n){for(var s=-1,u=(i=a(i,e)).length,k=!1;++s<u;){var o=m(i[s]);if(!(k=null!=e&&n(e,o)))break;e=e[o]}return k||++s!=u?k:!!(u=null==e?0:e.length)&&d(u)&&t(o,u)&&(l(e)||r(e))}},function(e,i,n){var a=n(254),r=n(255),l=n(65),t=n(42);e.exports=function(e){return l(e)?a(t(e)):r(e)}},function(e,i){e.exports=function(e){return function(i){return null==i?void 0:i[e]}}},function(e,i,n){var a=n(114);e.exports=function(e){return function(i){return a(i,e)}}},function(e,i,n){var a=n(67),r=n(257),l=n(259);e.exports=function(e,i){return l(r(e,i,a),e+"")}},function(e,i,n){var a=n(258),r=Math.max;e.exports=function(e,i,n){return i=r(void 0===i?e.length-1:i,0),function(){for(var l=arguments,t=-1,d=r(l.length-i,0),m=Array(d);++t<d;)m[t]=l[i+t];t=-1;for(var s=Array(i+1);++t<i;)s[t]=l[t];return s[i]=n(m),a(e,this,s)}}},function(e,i){e.exports=function(e,i,n){switch(n.length){case 0:return e.call(i);case 1:return e.call(i,n[0]);case 2:return e.call(i,n[0],n[1]);case 3:return e.call(i,n[0],n[1],n[2])}return e.apply(i,n)}},function(e,i,n){var a=n(260),r=n(263)(a);e.exports=r},function(e,i,n){var a=n(261),r=n(262),l=n(67),t=r?function(e,i){return r(e,"toString",{configurable:!0,enumerable:!1,value:a(i),writable:!0})}:l;e.exports=t},function(e,i){e.exports=function(e){return function(){return e}}},function(e,i,n){var a=n(19),r=function(){try{var e=a(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=r},function(e,i){var n=Date.now;e.exports=function(e){var i=0,a=0;return function(){var r=n(),l=16-(r-a);if(a=r,l>0){if(++i>=800)return arguments[0]}else i=0;return e.apply(void 0,arguments)}}},function(e,i,n){var a=n(104),r=n(265),l=n(270),t=n(105),d=n(271),m=n(63);e.exports=function(e,i,n){var s=-1,u=r,k=e.length,o=!0,y=[],b=y;if(n)o=!1,u=l;else if(k>=200){var g=i?null:d(e);if(g)return m(g);o=!1,u=t,b=new a}else b=i?[]:y;e:for(;++s<k;){var c=e[s],H=i?i(c):c;
16if(c=n||0!==c?c:0,o&&H==H){for(var p=b.length;p--;)if(b[p]===H)continue e;i&&b.push(H),y.push(c)}else u(b,H,n)||(b!==y&&b.push(H),y.push(c))}return y}},function(e,i,n){var a=n(266);e.exports=function(e,i){return!!(null==e?0:e.length)&&a(e,i,0)>-1}},function(e,i,n){var a=n(267),r=n(268),l=n(269);e.exports=function(e,i,n){return i==i?l(e,i,n):a(e,r,n)}},function(e,i){e.exports=function(e,i,n,a){for(var r=e.length,l=n+(a?1:-1);a?l--:++l<r;)if(i(e[l],l,e))return l;return-1}},function(e,i){e.exports=function(e){return e!=e}},function(e,i){e.exports=function(e,i,n){for(var a=n-1,r=e.length;++a<r;)if(e[a]===i)return a;return-1}},function(e,i){e.exports=function(e,i,n){for(var a=-1,r=null==e?0:e.length;++a<r;)if(n(i,e[a]))return!0;return!1}},function(e,i,n){var a=n(111),r=n(272),l=n(63),t=a&&1/l(new a([,-0]))[1]==1/0?function(e){return new a(e)}:r;e.exports=t},function(e,i){e.exports=function(){}},function(e,i,n){var a=n(110),r=n(22);e.exports=function(e){return r(e)&&a(e)}},function(e,i,n){},function(e,i,n){},function(e,i,n){"use strict";n(116)},function(e,i,n){"use strict";n(117)},function(e,i,n){"use strict";n.r(i);n(16),n(24),n(31);var a=n(0);function r(e,i){for(var n in i)e[n]=i[n];return e}var l=/[!'()*]/g,t=function(e){return"%"+e.charCodeAt(0).toString(16)},d=/%2C/g,m=function(e){return encodeURIComponent(e).replace(l,t).replace(d,",")};function s(e){try{return decodeURIComponent(e)}catch(e){0}return e}var u=function(e){return null==e||"object"==typeof e?e:String(e)};function k(e){var i={};return(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach((function(e){var n=e.replace(/\+/g," ").split("="),a=s(n.shift()),r=n.length>0?s(n.join("=")):null;void 0===i[a]?i[a]=r:Array.isArray(i[a])?i[a].push(r):i[a]=[i[a],r]})),i):i}function o(e){var i=e?Object.keys(e).map((function(i){var n=e[i];if(void 0===n)return"";if(null===n)return m(i);if(Array.isArray(n)){var a=[];return n.forEach((function(e){void 0!==e&&(null===e?a.push(m(i)):a.push(m(i)+"="+m(e)))})),a.join("&")}return m(i)+"="+m(n)})).filter((function(e){return e.length>0})).join("&"):null;return i?"?"+i:""}var y=/\/?$/;function b(e,i,n,a){var r=a&&a.options.stringifyQuery,l=i.query||{};try{l=g(l)}catch(e){}var t={name:i.name||e&&e.name,meta:e&&e.meta||{},path:i.path||"/",hash:i.hash||"",query:l,params:i.params||{},fullPath:p(i,r),matched:e?H(e):[]};return n&&(t.redirectedFrom=p(n,r)),Object.freeze(t)}function g(e){if(Array.isArray(e))return e.map(g);if(e&&"object"==typeof e){var i={};for(var n in e)i[n]=g(e[n]);return i}return e}var c=b(null,{path:"/"});function H(e){for(var i=[];e;)i.unshift(e),e=e.parent;return i}function p(e,i){var n=e.path,a=e.query;void 0===a&&(a={});var r=e.hash;return void 0===r&&(r=""),(n||"/")+(i||o)(a)+r}function S(e,i,n){return i===c?e===i:!!i&&(e.path&&i.path?e.path.replace(y,"")===i.path.replace(y,"")&&(n||e.hash===i.hash&&z(e.query,i.query)):!(!e.name||!i.name)&&(e.name===i.name&&(n||e.hash===i.hash&&z(e.query,i.query)&&z(e.params,i.params))))}function z(e,i){if(void 0===e&&(e={}),void 0===i&&(i={}),!e||!i)return e===i;var n=Object.keys(e).sort(),a=Object.keys(i).sort();return n.length===a.length&&n.every((function(n,r){var l=e[n];if(a[r]!==n)return!1;var t=i[n];return null==l||null==t?l===t:"object"==typeof l&&"object"==typeof t?z(l,t):String(l)===String(t)}))}function h(e){for(var i=0;i<e.matched.length;i++){var n=e.matched[i];for(var a in n.instances){var r=n.instances[a],l=n.enteredCbs[a];if(r&&l){delete n.enteredCbs[a];for(var t=0;t<l.length;t++)r._isBeingDestroyed||l[t](r)}}}}var K={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(e,i){var n=i.props,a=i.children,l=i.parent,t=i.data;t.routerView=!0;for(var d=l.$createElement,m=n.name,s=l.$route,u=l._routerViewCache||(l._routerViewCache={}),k=0,o=!1;l&&l._routerRoot!==l;){var y=l.$vnode?l.$vnode.data:{};y.routerView&&k++,y.keepAlive&&l._directInactive&&l._inactive&&(o=!0),l=l.$parent}if(t.routerViewDepth=k,o){var b=u[m],g=b&&b.component;return g?(b.configProps&&v(g,t,b.route,b.configProps),d(g,t,a)):d()}var c=s.matched[k],H=c&&c.components[m];if(!c||!H)return u[m]=null,d();u[m]={component:H},t.registerRouteInstance=function(e,i){var n=c.instances[m];(i&&n!==e||!i&&n===e)&&(c.instances[m]=i)},(t.hook||(t.hook={})).prepatch=function(e,i){c.instances[m]=i.componentInstance},t.hook.init=function(e){e.data.keepAlive&&e.componentInstance&&e.componentInstance!==c.instances[m]&&(c.instances[m]=e.componentInstance),h(s)};var p=c.props&&c.props[m];return p&&(r(u[m],{route:s,configProps:p}),v(H,t,s,p)),d(H,t,a)}};function v(e,i,n,a){var l=i.props=function(e,i){switch(typeof i){case"undefined":return;case"object":return i;case"function":return i(e);case"boolean":return i?e.params:void 0;default:0}}(n,a);if(l){l=i.props=r({},l);var t=i.attrs=i.attrs||{};for(var d in l)e.props&&d in e.props||(t[d]=l[d],delete l[d])}}function A(e,i,n){var a=e.charAt(0);if("/"===a)return e;if("?"===a||"#"===a)return i+e;var r=i.split("/");n&&r[r.length-1]||r.pop();for(var l=e.replace(/^\//,"").split("/"),t=0;t<l.length;t++){var d=l[t];".."===d?r.pop():"."!==d&&r.push(d)}return""!==r[0]&&r.unshift(""),r.join("/")}function T(e){return e.replace(/\/(?:\s*\/)+/g,"/")}var f=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)},B=F,R=D,Y=function(e,i){return E(D(e,i),i)},N=E,P=M,O=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function D(e,i){for(var n,a=[],r=0,l=0,t="",d=i&&i.delimiter||"/";null!=(n=O.exec(e));){var m=n[0],s=n[1],u=n.index;if(t+=e.slice(l,u),l=u+m.length,s)t+=s[1];else{var k=e[l],o=n[2],y=n[3],b=n[4],g=n[5],c=n[6],H=n[7];t&&(a.push(t),t="");var p=null!=o&&null!=k&&k!==o,S="+"===c||"*"===c,z="?"===c||"*"===c,h=n[2]||d,K=b||g;a.push({name:y||r++,prefix:o||"",delimiter:h,optional:z,repeat:S,partial:p,asterisk:!!H,pattern:K?G(K):H?".*":"[^"+Z(h)+"]+?"})}}return l<e.length&&(t+=e.substr(l)),t&&a.push(t),a}function I(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function E(e,i){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",C(i)));return function(i,a){for(var r="",l=i||{},t=(a||{}).pretty?I:encodeURIComponent,d=0;d<e.length;d++){var m=e[d];if("string"!=typeof m){var s,u=l[m.name];if(null==u){if(m.optional){m.partial&&(r+=m.prefix);continue}throw new TypeError('Expected "'+m.name+'" to be defined')}if(f(u)){if(!m.repeat)throw new TypeError('Expected "'+m.name+'" to not repeat, but received `'+JSON.stringify(u)+"`");if(0===u.length){if(m.optional)continue;throw new TypeError('Expected "'+m.name+'" to not be empty')}for(var k=0;k<u.length;k++){if(s=t(u[k]),!n[d].test(s))throw new TypeError('Expected all "'+m.name+'" to match "'+m.pattern+'", but received `'+JSON.stringify(s)+"`");r+=(0===k?m.prefix:m.delimiter)+s}}else{if(s=m.asterisk?encodeURI(u).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):t(u),!n[d].test(s))throw new TypeError('Expected "'+m.name+'" to match "'+m.pattern+'", but received "'+s+'"');r+=m.prefix+s}}else r+=m}return r}}function Z(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function G(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function V(e,i){return e.keys=i,e}function C(e){return e&&e.sensitive?"":"i"}function M(e,i,n){f(i)||(n=i||n,i=[]);for(var a=(n=n||{}).strict,r=!1!==n.end,l="",t=0;t<e.length;t++){var d=e[t];if("string"==typeof d)l+=Z(d);else{var m=Z(d.prefix),s="(?:"+d.pattern+")";i.push(d),d.repeat&&(s+="(?:"+m+s+")*"),l+=s=d.optional?d.partial?m+"
16("+s+")?":"(?:"+m+"("+s+"))?":m+"("+s+")"}}var u=Z(n.delimiter||"/"),k=l.slice(-u.length)===u;return a||(l=(k?l.slice(0,-u.length):l)+"(?:"+u+"(?=$))?"),l+=r?"$":a&&k?"":"(?="+u+"|$)",V(new RegExp("^"+l,C(n)),i)}function F(e,i,n){return f(i)||(n=i||n,i=[]),n=n||{},e instanceof RegExp?function(e,i){var n=e.source.match(/\((?!\?)/g);if(n)for(var a=0;a<n.length;a++)i.push({name:a,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return V(e,i)}(e,i):f(e)?function(e,i,n){for(var a=[],r=0;r<e.length;r++)a.push(F(e[r],i,n).source);return V(new RegExp("(?:"+a.join("|")+")",C(n)),i)}(e,i,n):function(e,i,n){return M(D(e,n),i,n)}(e,i,n)}B.parse=R,B.compile=Y,B.tokensToFunction=N,B.tokensToRegExp=P;var _=Object.create(null);function L(e,i,n){i=i||{};try{var a=_[e]||(_[e]=B.compile(e));return"string"==typeof i.pathMatch&&(i[0]=i.pathMatch),a(i,{pretty:!0})}catch(e){return""}finally{delete i[0]}}function x(e,i,n,a){var l="string"==typeof e?{path:e}:e;if(l._normalized)return l;if(l.name){var t=(l=r({},e)).params;return t&&"object"==typeof t&&(l.params=r({},t)),l}if(!l.path&&l.params&&i){(l=r({},l))._normalized=!0;var d=r(r({},i.params),l.params);if(i.name)l.name=i.name,l.params=d;else if(i.matched.length){var m=i.matched[i.matched.length-1].path;l.path=L(m,d,i.path)}else 0;return l}var s=function(e){var i="",n="",a=e.indexOf("#");a>=0&&(i=e.slice(a),e=e.slice(0,a));var r=e.indexOf("?");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{path:e,query:n,hash:i}}(l.path||""),o=i&&i.path||"/",y=s.path?A(s.path,o,n||l.append):o,b=function(e,i,n){void 0===i&&(i={});var a,r=n||k;try{a=r(e||"")}catch(e){a={}}for(var l in i){var t=i[l];a[l]=Array.isArray(t)?t.map(u):u(t)}return a}(s.query,l.query,a&&a.options.parseQuery),g=l.hash||s.hash;return g&&"#"!==g.charAt(0)&&(g="#"+g),{_normalized:!0,path:y,query:b,hash:g}}var U,j=function(){},w={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(e){var i=this,n=this.$router,a=this.$route,l=n.resolve(this.to,a,this.append),t=l.location,d=l.route,m=l.href,s={},u=n.options.linkActiveClass,k=n.options.linkExactActiveClass,o=null==u?"router-link-active":u,g=null==k?"router-link-exact-active":k,c=null==this.activeClass?o:this.activeClass,H=null==this.exactActiveClass?g:this.exactActiveClass,p=d.redirectedFrom?b(null,x(d.redirectedFrom),null,n):d;s[H]=S(a,p,this.exactPath),s[c]=this.exact||this.exactPath?s[H]:function(e,i){return 0===e.path.replace(y,"/").indexOf(i.path.replace(y,"/"))&&(!i.hash||e.hash===i.hash)&&function(e,i){for(var n in i)if(!(n in e))return!1;return!0}(e.query,i.query)}(a,p);var z=s[H]?this.ariaCurrentValue:null,h=function(e){$(e)&&(i.replace?n.replace(t,j):n.push(t,j))},K={click:$};Array.isArray(this.event)?this.event.forEach((function(e){K[e]=h})):K[this.event]=h;var v={class:s},A=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:m,route:d,navigate:h,isActive:s[c],isExactActive:s[H]});if(A){if(1===A.length)return A[0];if(A.length>1||!A.length)return 0===A.length?e():e("span",{},A)}if("a"===this.tag)v.on=K,v.attrs={href:m,"aria-current":z};else{var T=function e(i){var n;if(i)for(var a=0;a<i.length;a++){if("a"===(n=i[a]).tag)return n;if(n.children&&(n=e(n.children)))return n}}(this.$slots.default);if(T){T.isStatic=!1;var f=T.data=r({},T.data);for(var B in f.on=f.on||{},f.on){var R=f.on[B];B in K&&(f.on[B]=Array.isArray(R)?R:[R])}for(var Y in K)Y in f.on?f.on[Y].push(K[Y]):f.on[Y]=h;var N=T.data.attrs=r({},T.data.attrs);N.href=m,N["aria-current"]=z}else v.on=K}return e(this.tag,v,this.$slots.default)}};function $(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){var i=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(i))return}return e.preventDefault&&e.preventDefault(),!0}}var J="undefined"!=typeof window;function X(e,i,n,a,r){var l=i||[],t=n||Object.create(null),d=a||Object.create(null);e.forEach((function(e){!function e(i,n,a,r,l,t){var d=r.path,m=r.name;0;var s=r.pathToRegexpOptions||{},u=function(e,i,n){n||(e=e.replace(/\/$/,""));if("/"===e[0])return e;if(null==i)return e;return T(i.path+"/"+e)}
16(d,l,s.strict);"boolean"==typeof r.caseSensitive&&(s.sensitive=r.caseSensitive);var k={path:u,regex:W(u,s),components:r.components||{default:r.component},alias:r.alias?"string"==typeof r.alias?[r.alias]:r.alias:[],instances:{},enteredCbs:{},name:m,parent:l,matchAs:t,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};r.children&&r.children.forEach((function(r){var l=t?T(t+"/"+r.path):void 0;e(i,n,a,r,k,l)}));n[k.path]||(i.push(k.path),n[k.path]=k);if(void 0!==r.alias)for(var o=Array.isArray(r.alias)?r.alias:[r.alias],y=0;y<o.length;++y){0;var b={path:o[y],children:r.children};e(i,n,a,b,l,k.path||"/")}m&&(a[m]||(a[m]=k))}(l,t,d,e,r)}));for(var m=0,s=l.length;m<s;m++)"*"===l[m]&&(l.push(l.splice(m,1)[0]),s--,m--);return{pathList:l,pathMap:t,nameMap:d}}function W(e,i){return B(e,[],i)}function q(e,i){var n=X(e),a=n.pathList,r=n.pathMap,l=n.nameMap;function t(e,n,t){var d=x(e,n,!1,i),s=d.name;if(s){var u=l[s];if(!u)return m(null,d);var k=u.regex.keys.filter((function(e){return!e.optional})).map((function(e){return e.name}));if("object"!=typeof d.params&&(d.params={}),n&&"object"==typeof n.params)for(var o in n.params)!(o in d.params)&&k.indexOf(o)>-1&&(d.params[o]=n.params[o]);return d.path=L(u.path,d.params),m(u,d,t)}if(d.path){d.params={};for(var y=0;y<a.length;y++){var b=a[y],g=r[b];if(Q(g.regex,d.path,d.params))return m(g,d,t)}}return m(null,d)}function d(e,n){var a=e.redirect,r="function"==typeof a?a(b(e,n,null,i)):a;if("string"==typeof r&&(r={path:r}),!r||"object"!=typeof r)return m(null,n);var d=r,s=d.name,u=d.path,k=n.query,o=n.hash,y=n.params;if(k=d.hasOwnProperty("query")?d.query:k,o=d.hasOwnProperty("hash")?d.hash:o,y=d.hasOwnProperty("params")?d.params:y,s){l[s];return t({_normalized:!0,name:s,query:k,hash:o,params:y},void 0,n)}if(u){var g=function(e,i){return A(e,i.parent?i.parent.path:"/",!0)}(u,e);return t({_normalized:!0,path:L(g,y),query:k,hash:o},void 0,n)}return m(null,n)}function m(e,n,a){return e&&e.redirect?d(e,a||n):e&&e.matchAs?function(e,i,n){var a=t({_normalized:!0,path:L(n,i.params)});if(a){var r=a.matched,l=r[r.length-1];return i.params=a.params,m(l,i)}return m(null,i)}(0,n,e.matchAs):b(e,n,a,i)}return{match:t,addRoute:function(e,i){var n="object"!=typeof e?l[e]:void 0;X([i||e],a,r,l,n),n&&n.alias.length&&X(n.alias.map((function(e){return{path:e,children:[i]}})),a,r,l,n)},getRoutes:function(){return a.map((function(e){return r[e]}))},addRoutes:function(e){X(e,a,r,l)}}}function Q(e,i,n){var a=i.match(e);if(!a)return!1;if(!n)return!0;for(var r=1,l=a.length;r<l;++r){var t=e.keys[r-1];
16t&&(n[t.name||"pathMatch"]="string"==typeof a[r]?s(a[r]):a[r])}return!0}var ee=J&&window.performance&&window.performance.now?window.performance:Date;function ie(){return ee.now().toFixed(3)}var ne=ie();function ae(){return ne}function re(e){return ne=e}var le=Object.create(null);function te(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual");var e=window.location.protocol+"//"+window.location.host,i=window.location.href.replace(e,""),n=r({},window.history.state);return n.key=ae(),window.history.replaceState(n,"",i),window.addEventListener("popstate",se),function(){window.removeEventListener("popstate",se)}}function de(e,i,n,a){if(e.app){var r=e.options.scrollBehavior;r&&e.app.$nextTick((function(){var l=function(){var e=ae();if(e)return le[e]}(),t=r.call(e,i,n,a?l:null);t&&("function"==typeof t.then?t.then((function(e){be(e,l)})).catch((function(e){0})):be(t,l))}))}}function me(){var e=ae();e&&(le[e]={x:window.pageXOffset,y:window.pageYOffset})}function se(e){me(),e.state&&e.state.key&&re(e.state.key)}function ue(e){return oe(e.x)||oe(e.y)}function ke(e){return{x:oe(e.x)?e.x:window.pageXOffset,y:oe(e.y)?e.y:window.pageYOffset}}function oe(e){return"number"==typeof e}var ye=/^#\d/;function be(e,i){var n,a="object"==typeof e;if(a&&"string"==typeof e.selector){var r=ye.test(e.selector)?document.getElementById(e.selector.slice(1)):document.querySelector(e.selector);if(r){var l=e.offset&&"object"==typeof e.offset?e.offset:{};i=function(e,i){var n=document.documentElement.getBoundingClientRect(),a=e.getBoundingClientRect();return{x:a.left-n.left-i.x,y:a.top-n.top-i.y}}(r,l={x:oe((n=l).x)?n.x:0,y:oe(n.y)?n.y:0})}else ue(e)&&(i=ke(e))}else a&&ue(e)&&(i=ke(e));i&&("scrollBehavior"in document.documentElement.style?window.scrollTo({left:i.x,top:i.y,behavior:e.behavior}):window.scrollTo(i.x,i.y))}var ge,ce=J&&((-1===(ge=window.navigator.userAgent).indexOf("Android 2.")&&-1===ge.indexOf("Android 4.0")||-1===ge.indexOf("Mobile Safari")||-1!==ge.indexOf("Chrome")||-1!==ge.indexOf("Windows Phone"))&&window.history&&"function"==typeof window.history.pushState);function He(e,i){me();var n=window.history;try{if(i){var a=r({},n.state);a.key=ae(),n.replaceState(a,"",e)}else n.pushState({key:re(ie())},"",e)}catch(n){window.location[i?"replace":"assign"](e)}}function pe(e){He(e,!0)}var Se={redirected:2,aborted:4,cancelled:8,duplicated:16};function ze(e,i){return Ke(e,i,Se.redirected,'Redirected when going from "'+e.fullPath+'" to "'+function(e){if("string"==typeof e)return e;if("path"in e)return e.path;var i={};return ve.forEach((function(n){n in e&&(i[n]=e[n])})),JSON.stringify(i,null,2)}(i)+'" via a navigation guard.')}function he(e,i){return Ke(e,i,Se.cancelled,'Navigation cancelled from "'+e.fullPath+'" to "'+i.fullPath+'" with a new navigation.')}function Ke(e,i,n,a){var r=new Error(a);return r._isRouter=!0,r.from=e,r.to=i,r.type=n,r}var ve=["params","query","hash"];function Ae(e){return Object.prototype.toString.call(e).indexOf("Error")>-1}function Te(e,i){return Ae(e)&&e._isRouter&&(null==i||e.type===i)}function fe(e,i,n){var a=function(r){r>=e.length?n():e[r]?i(e[r],(function(){a(r+1)})):a(r+1)};a(0)}function Be(e){return function(i,n,a){var r=!1,l=0,t=null;Re(e,(function(e,i,n,d){if("function"==typeof e&&void 0===e.cid){r=!0,l++;var m,s=Pe((function(i){var r;((r=i).__esModule||Ne&&"Module"===r[Symbol.toStringTag])&&(i=i.default),e.resolved="function"==typeof i?i:U.extend(i),n.components[d]=i,--l<=0&&a()})),u=Pe((function(e){var i="Failed to resolve async component "+d+": "+e;t||(t=Ae(e)?e:new Error(i),a(t))}));try{m=e(s,u)}catch(e){u(e)}if(m)if("function"==typeof m.then)m.then(s,u);else{var k=m.component;k&&"function"==typeof k.then&&k.then(s,u)}}})),r||a()}}function Re(e,i){return Ye(e.map((function(e){return Object.keys(e.components).map((function(n){return i(e.components[n],e.instances[n],e,n)}))})))}function Ye(e){return Array.prototype.concat.apply([],e)}var Ne="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Pe(e){var i=!1;return function(){for(var n=[],a=arguments.length;a--;)n[a]=arguments[a];if(!i)return i=!0,e.apply(this,n)}}var Oe=function(e,i){this.router=e,this.base=function(e){if(!e)if(J){var i=document.querySelector("base");e=(e=i&&i.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(i),this.current=c,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function De(e,i,n,a){var r=Re(e,(function(e,a,r,l){var t=function(e,i){"function"!=typeof e&&(e=U.extend(e));return e.options[i]}(e,i);if(t)return Array.isArray(t)?t.map((function(e){return n(e,a,r,l)})):n(t,a,r,l)}));return Ye(a?r.reverse():r)}function Ie(e,i){if(i)return function(){return e.apply(i,arguments)}}Oe.prototype.listen=function(e){this.cb=e},Oe.prototype.onReady=function(e,i){this.ready?e():(this.readyCbs.push(e),i&&this.readyErrorCbs.push(i))},Oe.prototype.onError=function(e){this.errorCbs.push(e)},Oe.prototype.transitionTo=function(e,i,n){var a,r=this;try{a=this.router.match(e,this.current)}
vendor: 9,080 bytes, line 16
16catch(e){throw this.errorCbs.forEach((function(i){i(e)})),e}var l=this.current;this.confirmTransition(a,(function(){r.updateRoute(a),i&&i(a),r.ensureURL(),r.router.afterHooks.forEach((function(e){e&&e(a,l)})),r.ready||(r.ready=!0,r.readyCbs.forEach((function(e){e(a)})))}),(function(e){n&&n(e),e&&!r.ready&&(Te(e,Se.redirected)&&l===c||(r.ready=!0,r.readyErrorCbs.forEach((function(i){i(e)}))))}))},Oe.prototype.confirmTransition=function(e,i,n){var a=this,r=this.current;this.pending=e;var l,t,d=function(e){!Te(e)&&Ae(e)&&(a.errorCbs.length?a.errorCbs.forEach((function(i){i(e)})):console.error(e)),n&&n(e)},m=e.matched.length-1,s=r.matched.length-1;if(S(e,r)&&m===s&&e.matched[m]===r.matched[s])return this.ensureURL(),e.hash&&de(this.router,r,e,!1),d(((t=Ke(l=r,e,Se.duplicated,'Avoided redundant navigation to current location: "'+l.fullPath+'".')).name="NavigationDuplicated",t));var u=function(e,i){var n,a=Math.max(e.length,i.length);for(n=0;n<a&&e[n]===i[n];n++);return{updated:i.slice(0,n),activated:i.slice(n),deactivated:e.slice(n)}}(this.current.matched,e.matched),k=u.updated,o=u.deactivated,y=u.activated,b=[].concat(function(e){return De(e,"beforeRouteLeave",Ie,!0)}(o),this.router.beforeHooks,function(e){return De(e,"beforeRouteUpdate",Ie)}(k),y.map((function(e){return e.beforeEnter})),Be(y)),g=function(i,n){if(a.pending!==e)return d(he(r,e));try{i(e,r,(function(i){!1===i?(a.ensureURL(!0),d(function(e,i){return Ke(e,i,Se.aborted,'Navigation aborted from "'+e.fullPath+'" to "'+i.fullPath+'" via a navigation guard.')}(r,e))):Ae(i)?(a.ensureURL(!0),d(i)):"string"==typeof i||"object"==typeof i&&("string"==typeof i.path||"string"==typeof i.name)?(d(ze(r,e)),"object"==typeof i&&i.replace?a.replace(i):a.push(i)):n(i)}))}catch(e){d(e)}};fe(b,g,(function(){fe(function(e){return De(e,"beforeRouteEnter",(function(e,i,n,a){return function(e,i,n){return function(a,r,l){return e(a,r,(function(e){"function"==typeof e&&(i.enteredCbs[n]||(i.enteredCbs[n]=[]),i.enteredCbs[n].push(e)),l(e)}))}}(e,n,a)}))}(y).concat(a.router.resolveHooks),g,(function(){if(a.pending!==e)return d(he(r,e));a.pending=null,i(e),a.router.app&&a.router.app.$nextTick((function(){h(e)}))}))}))},Oe.prototype.updateRoute=function(e){this.current=e,this.cb&&this.cb(e)},Oe.prototype.setupListeners=function(){},Oe.prototype.teardown=function(){this.listeners.forEach((function(e){e()})),this.listeners=[],this.current=c,this.pending=null};var Ee=function(e){function i(i,n){e.call(this,i,n),this._startLocation=Ze(this.base)}return e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i,i.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var i=this.router,n=i.options.scrollBehavior,a=ce&&n;a&&this.listeners.push(te());var r=function(){var n=e.current,r=Ze(e.base);e.current===c&&r===e._startLocation||e.transitionTo(r,(function(e){a&&de(i,e,n,!0)}))};window.addEventListener("popstate",r),this.listeners.push((function(){window.removeEventListener("popstate",r)}))}},i.prototype.go=function(e){window.history.go(e)},i.prototype.push=function(e,i,n){var a=this,r=this.current;this.transitionTo(e,(function(e){He(T(a.base+e.fullPath)),de(a.router,e,r,!1),i&&i(e)}),n)},i.prototype.replace=function(e,i,n){var a=this,r=this.current;this.transitionTo(e,(function(e){pe(T(a.base+e.fullPath)),de(a.router,e,r,!1),i&&i(e)}),n)},i.prototype.ensureURL=function(e){if(Ze(this.base)!==this.current.fullPath){var i=T(this.base+this.current.fullPath);e?He(i):pe(i)}},i.prototype.getCurrentLocation=function(){return Ze(this.base)},i}(Oe);function Ze(e){var i=window.location.pathname,n=i.toLowerCase(),a=e.toLowerCase();return!e||n!==a&&0!==n.indexOf(T(a+"/"))||(i=i.slice(e.length)),(i||"/")+window.location.search+window.location.hash}var Ge=function(e){function i(i,n,a){e.call(this,i,n),a&&function(e){var i=Ze(e);if(!/^\/#/.test(i))return window.location.replace(T(e+"/#"+i)),!0}(this.base)||Ve()}return e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i,i.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var i=this.router.options.scrollBehavior,n=ce&&i;n&&this.listeners.push(te());var a=function(){var i=e.current;Ve()&&e.transitionTo(Ce(),(function(a){n&&de(e.router,a,i,!0),ce||_e(a.fullPath)}))},r=ce?"popstate":"hashchange";window.addEventListener(r,a),this.listeners.push((function(){window.removeEventListener(r,a)}))}},i.prototype.push=function(e,i,n){var a=this,r=this.current;this.transitionTo(e,(function(e){Fe(e.fullPath),de(a.router,e,r,!1),i&&i(e)}),n)},i.prototype.replace=function(e,i,n){var a=this,r=this.current;this.transitionTo(e,(function(e){_e(e.fullPath),de(a.router,e,r,!1),i&&i(e)}),n)},i.prototype.go=function(e){window.history.go(e)},i.prototype.ensureURL=function(e){var i=this.current.fullPath;Ce()!==i&&(e?Fe(i):_e(i))},i.prototype.getCurrentLocation=function(){return Ce()},i}(Oe);function Ve(){var e=Ce();return"/"===e.charAt(0)||(_e("/"+e),!1)}function Ce(){var e=window.location.href,i=e.indexOf("#");return i<0?"":e=e.slice(i+1)}function Me(e){var i=window.location.href,n=i.indexOf("#");return(n>=0?i.slice(0,n):i)+"#"+e}function Fe(e){ce?He(Me(e)):window.location.hash=e}function _e(e){ce?pe(Me(e)):window.location.replace(Me(e))}var Le=function(e){function i(i,n){e.call(this,i,n),this.stack=[],this.index=-1}return e&&(i.__proto__=e),i.prototype=Object.create(e&&e.prototype),i.prototype.constructor=i,i.prototype.push=function(e,i,n){var a=this;this.transitionTo(e,(function(e){a.stack=a.stack.slice(0,a.index+1).concat(e),a.index++,i&&i(e)}),n)},i.prototype.replace=function(e,i,n){var a=this;this.transitionTo(e,(function(e){a.stack=a.stack.slice(0,a.index).concat(e),i&&i(e)}),n)},i.prototype.go=function(e){var i=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var a=this.stack[n];this.confirmTransition(a,(function(){var e=i.current;i.index=n,i.updateRoute(a),i.router.afterHooks.forEach((function(i){i&&i(a,e)}))}),(function(e){Te(e,Se.duplicated)&&(i.index=n)}))}},i.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},i.prototype.ensureURL=function(){},i}(Oe),xe=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=q(e.routes||[],this);var i=e.mode||"hash";switch(this.fallback="history"===i&&!ce&&!1!==e.fallback,this.fallback&&(i="hash"),J||(i="abstract"),this.mode=i,i){case"history":this.history=new Ee(this,e.base);break;case"hash":this.history=new Ge(this,e.base,this.fallback);break;case"abstract":this.history=new Le(this,e.base);break;default:0}},Ue={currentRoute:{configurable:!0}};xe.prototype.match=function(e,i,n){return this.matcher.match(e,i,n)},Ue.currentRoute.get=function(){return this.history&&this.history.current},xe.prototype.init=function(e){var i=this;if(this.apps.push(e),e.$once("hook:destroyed",(function(){var n=i.apps.indexOf(e);n>-1&&i.apps.splice(n,1),i.app===e&&(i.app=i.apps[0]||null),i.app||i.history.teardown()})),!this.app){this.app=e;var n=this.history;if(n instanceof Ee||n instanceof Ge){var a=function(e){n.setupListeners(),function(e){var a=n.current,r=i.options.scrollBehavior;ce&&r&&"fullPath"in e&&de(i,e,a,!1)}(e)};n.transitionTo(n.getCurrentLocation(),a,a)}n.listen((function(e){i.apps.forEach((function(i){i._route=e}))}))}},xe.prototype.beforeEach=function(e){return we(this.beforeHooks,e)},xe.prototype.beforeResolve=function(e){return we(this.resolveHooks,e)},xe.prototype.afterEach=function(e){return we(this.afterHooks,e)},xe.prototype.onReady=function(e,i){this.history.onReady(e,i)},xe.prototype.onError=function(e){this.history.onError(e)},xe.prototype.push=function(e,i,n){var a=this;if(!i&&!n&&"undefined"!=typeof Promise)return new Promise((function(i,n){a.history.push(e,i,n)}));this.history.push(e,i,n)},xe.prototype.replace=function(e,i,n){var a=this;if(!i&&!n&&"undefined"!=typeof Promise)return new Promise((function(i,n){a.history.replace(e,i,n)}));this.history.replace(e,i,n)},xe.prototype.go=function(e){this.history.go(e)},xe.prototype.back=function(){this.go(-1)},xe.prototype.forward=function(){this.go(1)},xe.prototype.getMatchedComponents=function(e){var i=e?e.matched?e:this.resolve(e).route:this.currentRoute;return i?[].concat.apply([],i.matched.map((function(e){return Object.keys(e.components).map((function(i){return e.components[i]}))}))):[]},xe.prototype.resolve=function(e,i,n){var a=x(e,i=i||this.history.current,n,this),r=this.match(a,i),l=r.redirectedFrom||r.fullPath;return{location:a,route:r,href:function(e,i,n){var a="hash"===n?"#"+i:i;return e?T(e+"/"+a):a}(this.history.base,l,this.mode),normalizedTo:a,resolved:r}},xe.prototype.getRoutes=function(){return this.matcher.getRoutes()},xe.prototype.addRoute=function(e,i){this.matcher.addRoute(e,i),this.history.current!==c&&this.history.transitionTo(this.history.getCurrentLocation())},xe.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==c&&this.history.transitionTo(this.history.getCurrentLocation())}
16,Object.defineProperties(xe.prototype,Ue);var je=xe;function we(e,i){return e.push(i),function(){var n=e.indexOf(i);n>-1&&e.splice(n,1)}}xe.install=function e(i){if(!e.installed||U!==i){e.installed=!0,U=i;var n=function(e){return void 0!==e},a=function(e,i){var a=e.$options._parentVnode;n(a)&&n(a=a.data)&&n(a=a.registerRouteInstance)&&a(e,i)};i.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),i.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,a(this,this)},destroyed:function(){a(this)}}),Object.defineProperty(i.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(i.prototype,"$route",{get:function(){return this._routerRoot._route}}),i.component("RouterView",K),i.component("RouterLink",w);var r=i.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}},xe.version="3.6.5",xe.isNavigationFailure=Te,xe.NavigationFailureType=Se,xe.START_LOCATION=c,J&&window.Vue&&window.Vue.use(xe);n(128),n(71),n(129);n(130),n(122);var $e={"components/AlgoliaSearchBox":()=>Promise.all([n.e(0),n.e(28)]).then(n.bind(null,778)),"components/DropdownLink":()=>Promise.all([n.e(0),n.e(25)]).then(n.bind(null,494)),"components/DropdownTransition":()=>Promise.all([n.e(0),n.e(61)]).then(n.bind(null,454)),"components/Home":()=>Promise.all([n.e(0),n.e(44)]).then(n.bind(null,604)),"components/NavLink":()=>n.e(65).then(n.bind(null,394)),"components/NavLinks":()=>Promise.all([n.e(0),n.e(24)]).then(n.bind(null,509)),"components/Navbar":()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,766)),"components/Page":()=>Promise.all([n.e(0),n.e(23)]).then(n.bind(null,605)),"components/PageEdit":()=>Promise.all([n.e(0),n.e(45)]).then(n.bind(null,524)),"components/PageNav":()=>Promise.all([n.e(0),n.e(38)]).then(n.bind(null,525)),"components/Sidebar":()=>Promise.all([n.e(0),n.e(22)]).then(n.bind(null,606)),"components/SidebarButton":()=>Promise.all([n.e(0),n.e(62)]).then(n.bind(null,608)),"components/SidebarGroup":()=>Promise.all([n.e(0),n.e(7)]).then(n.bind(null,510)),"components/SidebarLink":()=>Promise.all([n.e(0),n.e(47)]).then(n.bind(null,495)),"components/SidebarLinks":()=>Promise.all([n.e(0),n.e(7)]).then(n.bind(null,487)),"global-components/Badge":()=>Promise.all([n.e(0),n.e(9)]).then(n.bind(null,796)),"global-components/CodeBlock":()=>Promise.all([n.e(0),n.e(10)]).then(n.bind(null,779)),"global-components/CodeGroup":()=>Promise.all([n.e(0),n.e(11)]).then(n.bind(null,780)),"layouts/404":()=>n.e(12).then(n.bind(null,781)),"layouts/Layout":()=>Promise.all([n.e(0),n.e(4),n.e(5),n.e(8)]).then(n.bind(null,782)),NotFound:()=>n.e(12).then(n.bind(null,781)),Layout:()=>Promise.all([n.e(0),n.e(4),n.e(5),n.e(8)]).then(n.bind(null,782))},Je={"v-64dca03d":()=>n.e(66).then(n.bind(null,797)),"v-22024c43":()=>n.e(79).then(n.bind(null,798)),"v-90050004":()=>n.e(76).then(n.bind(null,799)),"v-61b42a93":()=>n.e(77).then(n.bind(null,800)),"v-6465b33d":()=>n.e(78).then(n.bind(null,801)),"v-81b8a67a":()=>n.e(80).then(n.bind(null,802)),"v-48317b86":()=>n.e(67).then(n.bind(null,803)),"v-23bd824f":()=>n.e(81).then(n.bind(null,804)),"v-5b1695dd":()=>n.e(39).then(n.bind(null,805)),"v-822cf8c6":()=>n.e(82).then(n.bind(null,806)),"v-7e81b77d":()=>n.e(48).then(n.bind(null,807)),"v-4888cd9d":()=>n.e(83).then(n.bind(null,808)),"v-7301a6d1":()=>n.e(84).then(n.bind(null,809)),"v-1178fa5d":()=>n.e(85).then(n.bind(null,810)),"v-01c649bd":()=>n.e(29).then(n.bind(null,811)),"v-432b5bd6":()=>n.e(86).then(n.bind(null,812)),"v-bc107546":()=>n.e(68).then(n.bind(null,813)),"v-d80dcb06":()=>n.e(88).then(n.bind(null,814)),"v-485bbe8d":()=>n.e(87).then(n.bind(null,815)),"v-3539d41d":()=>n.e(49).then(n.bind(null,816)),"v-f0808a06":()=>n.e(40).then(n.bind(null,817)),"v-1be15362":()=>n.e(90).then(n.bind(null,818)),"v-3e221f7d":()=>n.e(91).then(n.bind(null,819)),"v-1ef8939d":()=>n.e(30).then(n.bind(null,820)),"v-03088e53":()=>n.e(92).then(n.bind(null,821)),"v-cc5a0b86":()=>n.e(69).then(n.bind(null,822)),"v-0ec6f57d":()=>n.e(89).then(n.bind(null,823)),"v-751f6acf":()=>n.e(93).then(n.bind(null,824)),"v-9cc354c6":()=>n.e(94).then(n.bind(null,825)),"v-553c6446":()=>n.e(41).then(n.bind(null,826)),"v-9e25e106":()=>n.e(50).then(n.bind(null,827)),"v-206455c6":()=>n.e(95).then(n.bind(null,828)),"v-3358815e":()=>n.e(96).then(n.bind(null,829)),"v-7e5b51bd":()=>n.e(31).then(n.bind(null,830)),"v-8d4168c6":()=>n.e(70).then(n.bind(null,831)),"v-e8779b46":()=>n.e(97).then(n.bind(null,832)),"v-70a6dc4e":()=>n.e(99).then(n.bind(null,833)),"v-2fcc3a95":()=>n.e(98).then(n.bind(null,834)),"v-3637769d":()=>n.e(100).then(n.bind(null,835)),"v-3ee390dd":()=>n.e(101).then(n.bind(null,836)),"v-642a7506":()=>n.e(103).then(n.bind(null,837)),"v-68ac6685":()=>n.e(104).then(n.bind(null,838)),"v-6480bcc7":()=>n.e(102).then(n.bind(null,839)),"v-f0a9c5f2":()=>n.e(26).then(n.bind(null,840)),"v-e89e9b86":()=>n.e(71).then(n.bind(null,841)),"v-14ad9962":()=>n.e(105).then(n.bind(null,842)),"v-2b71dd9d":()=>n.e(106).then(n.bind(null,843)),"v-2c81f446":()=>n.e(32).then(n.bind(null,844)),"v-143b3106":()=>n.e(51).then(n.bind(null,845)),"v-c07c3efa":()=>n.e(33).then(n.bind(null,846)),"v-29ce59bd":()=>n.e(34).then(n.bind(null,847)),"v-448b4d1d":()=>n.e(107).then(n.bind(null,848)),"v-64fc905e":()=>n.e(108).then(n.bind(null,849)),"v-bfbd2b46":()=>n.e(109).then(n.bind(null,850)),"v-48365a59":()=>n.e(112).then(n.bind(null,851)),"v-e73a02ea":()=>n.e(111).then(n.bind(null,852)),"v-24f9d8c6":()=>n.e(72).then(n.bind(null,853)),"v-9f53f9d6":()=>n.e(110).then(n.bind(null,854)),"v-d8bdee46":()=>n.e(114).then(n.bind(null,855)),"v-b537e5f2":()=>n.e(115).then(n.bind(null,856)),"v-7b0a82c6":()=>n.e(113).then(n.bind(null,857)),"v-5a2e0d7d":()=>n.e(117).then(n.bind(null,858)),"v-35eaf572":()=>n.e(116).then(n.bind(null,859)),"v-aa99c1f6":()=>n.e(118).then(n.bind(null,860)),"v-51c1355d":()=>n.e(73).then(n.bind(null,861)),"v-1d292df6":()=>n.e(27).then(n.bind(null,862)),"v-1a476f8d":()=>n.e(119).then(n.bind(null,863)),"v-7adaab06":()=>n.e(74).then(n.bind(null,864)),"v-16682afd":()=>n.e(35).then(n.bind(null,865)),"v-1c9ff506":()=>n.e(120).then(n.bind(null,866)),"v-a6caf7c6":()=>
16n.e(52).then(n.bind(null,867)),"v-dbcd7a7e":()=>n.e(36).then(n.bind(null,868)),"v-4c8f674f":()=>n.e(122).then(n.bind(null,869)),"v-0219a13d":()=>n.e(121).then(n.bind(null,870)),"v-4700a39d":()=>n.e(37).then(n.bind(null,871)),"v-2b804dc9":()=>n.e(125).then(n.bind(null,872)),"v-666ae106":()=>n.e(123).then(n.bind(null,873)),"v-5617815a":()=>n.e(124).then(n.bind(null,874)),"v-43c4777d":()=>n.e(127).then(n.bind(null,875)),"v-6cd49697":()=>n.e(126).then(n.bind(null,876)),"v-3f5d6285":()=>n.e(129).then(n.bind(null,877)),"v-09a8c185":()=>n.e(130).then(n.bind(null,878)),"v-512f5cfd":()=>n.e(128).then(n.bind(null,879)),"v-6b037b83":()=>n.e(132).then(n.bind(null,880)),"v-49107346":()=>n.e(131).then(n.bind(null,881))};function Xe(e){const i=Object.create(null);return function(n){return i[n]||(i[n]=e(n))}}const We=/-(\w)/g,qe=Xe(e=>e.replace(We,(e,i)=>i?i.toUpperCase():"")),Qe=/\B([A-Z])/g,ei=Xe(e=>e.replace(Qe,"-$1").toLowerCase()),ii=Xe(e=>e.charAt(0).toUpperCase()+e.slice(1));function ni(e,i){if(!i)return;if(e(i))return e(i);return i.includes("-")?e(ii(qe(i))):e(ii(i))||e(ei(i))}const ai=Object.assign({},$e,Je),ri=e=>ai[e],li=e=>Je[e],ti=e=>$e[e],di=e=>a.default.component(e);function mi(e){return ni(li,e)}function si(e){return ni(ti,e)}function ui(e){return ni(ri,e)}function ki(e){return ni(di,e)}function oi(...e){return Promise.all(e.filter(e=>e).map(async e=>{if(!ki(e)&&ui(e)){const i=await ui(e)();a.default.component(e,i.default)}}))}function yi(e,i){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[e]=i)}n(126);var bi=n(118),gi=n.n(bi),ci=n(119),Hi=n.n(ci),pi={created(){if(this.siteMeta=this.$site.headTags.filter(([e])=>"meta"===e).map(([e,i])=>i),this.$ssrContext){const i=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(e=i)?e.map(e=>{let i="<meta";return Object.keys(e).forEach(n=>{i+=` ${n}="${Hi()(e[n])}"`}),i+">"}).join("\n "):"",this.$ssrContext.canonicalLink=zi(this.$canonicalUrl)}var e},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const e=this.getMergedMetaTags();this.currentMetaTags=hi(e,this.currentMetaTags)},getMergedMetaTags(){const e=this.$page.frontmatter.meta||[];return gi()([{name:"description",content:this.$description}],e,this.siteMeta,Ki)},updateCanonicalLink(){Si(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",zi(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){hi(null,this.currentMetaTags),Si()}};function Si(){const e=document.querySelector("link[rel='canonical']");e&&e.remove()}function zi(e=""){return e?`<link href="${e}" rel="canonical" />`:""}function hi(e,i){if(i&&[...i].filter(e=>e.parentNode===document.head).forEach(e=>document.head.removeChild(e)),e)return e.map(e=>{const i=document.createElement("meta");return Object.keys(e).forEach(n=>{i.setAttribute(n,e[n])}),document.head.appendChild(i),i})}function Ki(e){for(const i of["name","property","itemprop"])if(e.hasOwnProperty(i))return e[i]+i;return JSON.stringify(e)}n(70);var vi=n(120),Ai={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(vi)()((function(){this.setActiveHash()}),300),setActiveHash(){const e=[].slice.call(document.querySelectorAll(".sidebar-link")),i=[].slice.call(document.querySelectorAll(".header-anchor")).filter(i=>e.some(e=>e.hash===i.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),r=window.innerHeight+n;for(let e=0;e<i.length;e++){const l=i[e],t=i[e+1],d=0===e&&0===n||n>=l.parentElement.offsetTop+10&&(!t||n<t.parentElement.offsetTop-10),m=decodeURIComponent(this.$route.hash);if(d&&m!==decodeURIComponent(l.hash)){const n=l;if(r===a)for(let n=e+1;n<i.length;n++)if(m===decodeURIComponent(i[n].hash))return;return this.$vuepress.$set("disableScrollBehavior",!0),void this.$router.replace(decodeURIComponent(n.hash),()=>{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Ti=n(43),fi=n.n(Ti),Bi=[pi,Ai,{mounted(){fi.a.configure({showSpinner:!1}),this.$router.beforeEach((e,i,n)=>{e.path===i.path||a.default.component(e.name)||fi.a.start(),n()}),this.$router.afterEach(()=>{fi.a.done(),this.isSidebarOpen=!1})}}],Ri={name:"GlobalLayout",computed:{layout(){const e=this.getLayout();return yi("layout",e),a.default.component(e)}},methods:{getLayout(){if(this.$page.path){const e=this.$page.frontmatter.layout;return e&&(this.$vuepress.getLayoutAsyncComponent(e)||this.$vuepress.getVueComponent(e))?e:"Layout"}return"NotFound"}}},Yi=n(29),Ni=Object(Yi.a)(Ri,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(e,i,n){switch(i){case"components":e[i]||(e[i]={}),Object.assign(e[i],n);break;case"mixins":e[i]||(e[i]=[]),e[i].push(...n);break;default:throw new Error("Unknown option name.")}}(Ni,"mixins",Bi);const Pi=[{name:"v-64dca03d",path:"/pages/contact.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-64dca03d").then(n)}},{name:"v-22024c43",path:"/surum-yonetimi.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-22024c43").then(n)}},{name:"v-90050004",path:"/",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-90050004").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-61b42a93",path:"/dijital-cuzdan.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-61b42a93").then(n)}},{name:"v-6465b33d",path:"/sorulan-sorular.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-6465b33d").then(n)}},{name:"v-81b8a67a",path:"/uyum-tarihleri.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-81b8a67a").then(n)}},{name:"v-48317b86",path:"/v1.0.1/contents/ekler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-48317b86").then(n)}},{name:"v-23bd824f",path:"/v1.0.1/contents/erisim-belirteci.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-23bd824f").then(n)}},{name:"v-5b1695dd",path:"/v1.0.1/contents/hesap-bilgisi-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-5b1695dd").then(n)}},{name:"v-822cf8c6",path:"/v1.0.1/contents/gkd.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-822cf8c6").then(n)}},{name:"v-7e81b77d",path:"/v1.0.1/contents/kapsam-ve-dayanak.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-7e81b77d").then(n)}},{name:"v-4888cd9d",path:"/v1.0.1/contents/hhs-yos-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-4888cd9d").then(n)}},{name:"v-7301a6d1",path:"/v1.0.1/contents/riza-durumlari.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-7301a6d1").then(n)}},{name:"v-1178fa5d",path:"/v1.0.1/contents/tanim-ve-kisitlamalar.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-1178fa5d").then(n)}},{name:"v-01c649bd",path:"/v1.0.1/contents/odeme-emri-baslatma-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-01c649bd").then(n)}},{name:"v-432b5bd6",path:"/v1.0.1/contents/temel-prensipler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-432b5bd6").then(n)}},{name:"v-bc107546",path:"/v1.0.2/contents/ekler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-bc107546").then(n)}},{name:"v-d80dcb06",path:"/v1.0.2/contents/gkd.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-d80dcb06").then(n)}},{name:"v-485bbe8d",path:"/v1.0.2/contents/erisim-belirteci.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-485bbe8d").then(n)}},{name:"v-3539d41d",path:"/v1.0.2/contents/kapsam-ve-dayanak.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-3539d41d").then(n)}},{name:"v-f0808a06",path:"/v1.0.2/contents/hesap-bilgisi-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-f0808a06").then(n)}},{name:"v-1be15362",path:"/v1.0.2/contents/riza-durumlari.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-1be15362").then(n)}},{name:"v-3e221f7d",path:"/v1.0.2/contents/tanim-ve-kisitlamalar.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-3e221f7d").then(n)}},{name:"v-1ef8939d",path:"/v1.0.2/contents/odeme-emri-baslatma-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-1ef8939d").then(n)}},{name:"v-03088e53",path:"/v1.0.2/contents/temel-prensipler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-03088e53").then(n)}},{name:"v-cc5a0b86",path:"/v1.1.0/contents/ekler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-cc5a0b86").then(n)}},{name:"v-0ec6f57d",path:"/v1.0.2/contents/hhs-yos-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-0ec6f57d").then(n)}},{name:"v-751f6acf",path:"/v1.1.0/contents/erisim-belirteci.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-751f6acf").then(n)}},{name:"v-9cc354c6",path:"/v1.1.0/contents/hhs-yos-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-9cc354c6").then(n)}},{name:"v-553c6446",path:"/v1.1.0/contents/hesap-bilgisi-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-553c6446").then(n)}},{name:"v-9e25e106",path:"/v1.1.0/contents/kapsam-ve-dayanak.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-9e25e106").then(n)}},{name:"v-206455c6",path:"/v1.1.0/contents/olay-bildirim.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-206455c6").then(n)}},{name:"v-3358815e",path:"/v1.1.0/contents/riza-durumlari.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-3358815e").then(n)}},{name:"v-7e5b51bd",path:"/v1.1.0/contents/odeme-emri-baslatma-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-7e5b51bd").then(n)}},{name:"v-8d4168c6",path:"/v1.1.0/contents/gkd.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-8d4168c6").then(n)}},{name:"v-e8779b46",path:"/v1.1.0/contents/tanim-ve-kisitlamalar.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-e8779b46").then(n)}},{name:"v-70a6dc4e",path:"/v1.1.0/deneyalani/genel-bilgiler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-70a6dc4e").then(n)}},{name:"v-2fcc3a95",path:"/v1.1.0/contents/temel-prensipler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-2fcc3a95").then(n)}},{name:"v-3637769d",path:"/v1.1.0/deneyalani/hesap-bilgisi-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-3637769d").then(n)}},{name:"v-3ee390dd",path:"/v1.1.0/deneyalani/hhs-yos-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-3ee390dd").then(n)}},{name:"v-642a7506",path:"/v1.1.0/deneyalani/olay-bildirim-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-642a7506").then(n)}},{name:"v-68ac6685",path:"/v1.1.0/deneyalani/test.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-68ac6685").then(n)}},{name:"v-6480bcc7",path:"/v1.1.0/deneyalani/odeme-emri-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-6480bcc7").then(n)}},{name:"v-f0a9c5f2",path:"/v2.0.0/contents/duzenli-odeme-emri-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-f0a9c5f2").then(n)}},{name:"v-e89e9b86",path:"/v2.0.0/contents/ekler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-e89e9b86").then(n)}},{name:"v-14ad9962",path:"/v2.0.0/contents/erisim-belirteci.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-14ad9962").then(n)}},{name:"v-2b71dd9d",path:"/v2.0.0/contents/hhs-yos-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-2b71dd9d").then(n)}},{name:"v-2c81f446",path:"/v2.0.0/contents/hesap-bilgisi-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-2c81f446").then(n)}},{name:"v-143b3106",path:"/v2.0.0/contents/kapsam-ve-dayanak.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-143b3106").then(n)}},{name:"v-c07c3efa",path:"/v2.0.0/contents/ileri-tarihli-odeme-emri-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-c07c3efa").then(n)}},{name:"v-29ce59bd",path:"/v2.0.0/contents/odeme-emri-baslatma-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-29ce59bd").then(n)}},{name:"v-448b4d1d",path:"/v2.0.0/contents/olay-bildirim.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-448b4d1d").then(n)}},{name:"v-64fc905e",path:"/v2.0.0/contents/riza-durumlari.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-64fc905e").then(n)}},{name:"v-bfbd2b46",path:"/v2.0.0/contents/tanim-ve-kisitlamalar.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-bfbd2b46").then(n)}},{name:"v-48365a59",path:"/v2.0.0/deneyalani/genel-bilgiler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-48365a59").then(n)}},{name:"v-e73a02ea",path:"/v2.0.0/deneyalani/duzenli-odeme-emri-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-e73a02ea").then(n)}},{name:"v-24f9d8c6",path:"/v2.0.0/contents/gkd.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-24f9d8c6").then(n)}},{name:"v-9f53f9d6",path:"/v2.0.0/contents/temel-prensipler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-9f53f9d6").then(n)}},{name:"v-d8bdee46",path:"/v2.0.0/deneyalani/hhs-yos-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-d8bdee46").then(n)}},{name:"v-b537e5f2",path:"/v2.0.0/deneyalani/ileri-tarihli-odeme-emri-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-b537e5f2").then(n)}},{name:"v-7b0a82c6",path:"/v2.0.0/deneyalani/hesap-bilgisi-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-7b0a82c6").then(n)}},{name:"v-5a2e0d7d",path:"/v2.0.0/deneyalani/olay-bildirim-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-5a2e0d7d").then(n)}},{name:"v-35eaf572",path:"/v2.0.0/deneyalani/odeme-emri-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-35eaf572").then(n)}},{name:"v-aa99c1f6",path:"/v2.0.0/deneyalani/test.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-aa99c1f6").then(n)}},{name:"v-51c1355d",path:"/v2.0.1/contents/ekler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-51c1355d").then(n)}},{name:"v-1d292df6",path:"/v2.0.1/contents/duzenli-odeme-emri-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-1d292df6").then(n)}},{name:"v-1a476f8d",path:"/v2.0.1/contents/erisim-belirteci.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-1a476f8d").then(n)}},{name:"v-7adaab06",path:"/v2.0.1/contents/gkd.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-7adaab06").then(n)}},{name:"v-16682afd",path:"/v2.0.1/contents/hesap-bilgisi-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-16682afd").then(n)}},{name:"v-1c9ff506",path:"/v2.0.1/contents/hhs-yos-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-1c9ff506").then(n)}},{name:"v-a6caf7c6",path:"/v2.0.1/contents/kapsam-ve-dayanak.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-a6caf7c6").then(n)}},{name:"v-dbcd7a7e",path:"/v2.0.1/contents/ileri-tarihli-odeme-emri-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-dbcd7a7e").then(n)}},{name:"v-4c8f674f",path:"/v2.0.1/contents/riza-durumlari.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-4c8f674f").then(n)}},{name:"v-0219a13d",path:"/v2.0.1/contents/olay-bildirim.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-0219a13d").then(n)}},{name:"v-4700a39d",path:"/v2.0.1/contents/odeme-emri-baslatma-hizmeti.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-4700a39d").then(n)}},{name:"v-2b804dc9",path:"/v2.0.1/deneyalani/duzenli-odeme-emri-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-2b804dc9").then(n)}},{name:"v-666ae106",path:"/v2.0.1/contents/tanim-ve-kisitlamalar.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-666ae106").then(n)}},{name:"v-5617815a",path:"/v2.0.1/contents/temel-prensipler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-5617815a").then(n)}},{name:"v-43c4777d",path:"/v2.0.1/deneyalani/hesap-bilgisi-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-43c4777d").then(n)}},{name:"v-6cd49697",path:"/v2.0.1/deneyalani/genel-bilgiler.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-6cd49697").then(n)}},{name:"v-3f5d6285",path:"/v2.0.1/deneyalani/ileri-tarihli-odeme-emri-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-3f5d6285").then(n)}},{name:"v-09a8c185",path:"/v2.0.1/deneyalani/odeme-emri-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-09a8c185").then(n)}},{name:"v-512f5cfd",path:"/v2.0.1/deneyalani/hhs-yos-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi
16("Layout","v-512f5cfd").then(n)}},{name:"v-6b037b83",path:"/v2.0.1/deneyalani/test.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-6b037b83").then(n)}},{name:"v-49107346",path:"/v2.0.1/deneyalani/olay-bildirim-api.html",component:Ni,beforeEnter:(e,i,n)=>{oi("Layout","v-49107346").then(n)}},{path:"*",component:Ni}],Oi={title:"(ÃHVPS) API İLKE VE KURALLARI",description:" ",base:"/",headTags:[],pages:[{frontmatter:{},regularPath:"/pages/contact.html",relativePath:"pages/contact.md",key:"v-64dca03d",path:"/pages/contact.html",content:" Türkiye Cumhuriyeti Merkez Bankası\[email protected] \n \n"},{title:"ÃDEME HİZMETLERİ VERİ PAYLAÅIM SERVİSLERİ (ÃHVPS)",frontmatter:{},regularPath:"/surum-yonetimi.html",relativePath:"surum-yonetimi.md",key:"v-22024c43",path:"/surum-yonetimi.html",content:" ÃDEME HİZMETLERİ VERİ PAYLAÅIM SERVİSLERİ (ÃHVPS) \n API İLKE VE KURALLARI SÃRÃM YÃNETİMİ \n OHVPS API İlke ve Kuralları dokümanındaki sürüm bilgileri aÅaÄıdaki kurallara göre belirlenmektedir. \n \n \n Sürümler 3 basamaklı kodla belirlenir. Sürüm deÄiÅiklikleri basamak sırasına göre Major deÄiÅiklikler, Minör deÄiÅiklikler ve Patch deÄiÅiklikleri olarak sıralanır. ÃrneÄin Sürüm 1.0.0 üzerinde yapılacak major deÄiÅiklik Sürüm 2.0.0 olarak ifade edilirken, Minör deÄiÅiklik Sürüm 1.1.0 olarak ifade edilir. Patch deÄiÅiklik ise Sürüm 1.1.1 olarak ifade edilir. \n \n \n Major deÄiÅiklikler: \na. Sürümün 1. basamaÄı proje kapsamındaki major deÄiÅiklikleri ifade eder. Bu major deÄiÅiklikler ; \n    § Kredi kartı akıÅları, tekrarlı iÅlem akıÅları gibi kapsama yeni akıÅların eklenmiÅ olması, \n    § Eski hizmetlerin çalıÅamaz hale getirilmesi, \n    § API desenlerinde deÄiÅiklik olması ve geriye yönelik desteÄin sona ermesidir. \nb. Major deÄiÅiklikler, öncelikle API standartlarının taslak sürümüne eklenir. Paralelinde simülatör geliÅtirmelerine baÅlanır. Simülatörde ilgili deÄiÅikliÄin hayata geçirileceÄi tarih ayrıca katılımcılarla paylaÅılır. \nc. Major deÄiÅiklikler sınırlı bir set ya da tüm set ile sertifikasyona tabiidir. \nd. Simülatör tek bir major ya da minör sürümü destekler. \ne. Simülatörün desteklediÄi sürüm üzerinden sertifikasyon yapılır. \nf. API Standartlarında major Sürüm GeçiÅ Tarihinin duyurusu TCMB tarafından yapılır. \ng. Katılımcıların HHS/YÃS Yeni Sürüm Ãretime GeçiÅ Son Tarihi yine TCMB tarafından belirlenir ve duyurulur. Bu tarihe kadar katılımcıların sertifikasyonlarının tamamlanması beklenir. \n \n \n Minör deÄiÅiklikler: \na. Sürümün 2. basamaÄı proje kapsamındaki minör deÄiÅiklikleri ifade eder. Bu minör deÄiÅiklikler ; \n    § Kural deÄiÅiklikleri, \n    § API desenlerinde olabilecek opsiyonel alan deÄiÅiklikleri, \n    § Sıralı veri türlerine yeni deÄerlerin eklenmesi, \n    § GKD sürecinde deÄiÅiklik yapılması, \n    § API desenlerinde deÄiÅiklik olması ve geriye yönelik desteÄin devam etmesi, \n    § Yeni bir endpoint eklenmesidir. \nb. DeÄiÅiklik kapsamı TCMB tarafından belirlenir. \nc. Bu basamakta yapılan deÄiÅikliklerin tümünün sertifikasyona tabi olması gerekir. Ancak deÄiÅikliÄin boyutuna göre sınırlı bir set ya da tüm deÄiÅiklik seti ile sertifikasyon senaryoları oluÅturulur. \nd. Geriye dönük destek bittiÄi noktada sürüm deÄeri artar. \ne. Major ve minör deÄiÅikliklerin sürüm yönetimi aynı akıÅla iÅletilir. \n \n \n Patch deÄiÅiklikler: \n a. Sürümün 3. basamaÄı proje kapsamındaki patch deÄiÅiklikleri ifade eder. API desenlerinde bir deÄiÅiklik yaratmayan iÅ kuralı deÄiÅikliÄi örnek olabilir. \n b. Patch deÄiÅiklikler sonrası katılımcıların yeniden sertifikasyon yapmaları gerekmemektedir. \n \n \n İlk defa sertifikasyona gelecek kurumlar en son aktif sürüm ile sertifikasyona gelir. \n \n \n API Endpointlerde yapılacak major ve minor deÄiÅiklikler, endpointin pathi içerisinde yer alır. Detaylı bilgi 3.5.\tKaynak URI Yol Yapısı adresinde yer alır. \n \n \n Sürüm geçiÅlerinde kullanılan tarih bilgileri Åu Åekildedir: \n \n \n \n Sürüm GeçiÅ Tarihi : \n \n Yeni API Standartı sürümünün yayınlandıÄı tarih bilgisidir.\n \n API Standartları taslak sürümü, güncel sürüm haline getirilir. \n Simülatörde yapılan güncellemeler development ortamından, katılımcıların kullanımında olan Tripsit ortamına aktarılır. \n Tripsit ortamında katılımcılar hem simülatör hem de kendi uygulama testlerine baÅlayabilir. \n \n \n \n Sertifikasyona BaÅlangıç Tarihi : \n \n HHS ve YÃS'ler için ayrı olarak iletilecek tarih bilgisidir. \n \n HHS Yeni Sürüm Ãretime GeçiÅ S
16on Tarihi / YÃS Yeni Sürüm Ãretime GeçiÅ BaÅlangıç Tarihi : \n \n Bu tarihe kadar HHS'lerin sertifikasyonu tamamlayıp baÅarı ile geçmesi gerekir. Bu tarihten önce sertifikasyonu tamamlayan HHS'ler üretime geçer. \n Bu tarih HHS'lerin üretime geçiÅi için tanımlanmıŠson tarih olduÄu için, bu tarihte tüm HHS'ler üretime geçmiÅ olacaktır. YÃS'ler bu tarihten itibaren üretime geçiÅe baÅlar. \n BKM tarafından yapılması gerekecek API sürüm deÄiÅikliÄi varsa bu tarihte yayına alınır.(HHS-YÃS API gibi) \n \n YÃS Yeni Sürüm Ãretime GeçiÅ Son Tarihi : \n \n YÃS'lerin sertifikasyon süreci, YÃS Yeni Sürüm Ãretime GeçiÅ BaÅlangıç Tarihinden, YÃS Yeni Sürüm Ãretime GeçiÅ Son Tarihine kadar sürer. \n Mevcut YÃS'ler yeni sürümü en geç bu tarihte üretim ortamına alır. \n \n Eski Sürümün Kaldırılma Tarihi : \n \n HHS'ler; HHS Yeni Sürüm Ãretime GeçiÅ Son Tarihi ile Eski Sürümün Kaldırılma Tarihi arasında iki servis sürümünü de desteklemek zorundadır. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n "},{title:"ÃDEME HİZMETLERİ VERİ PAYLAÅIM SERVİSLERİ (ÃHVPS)",frontmatter:{},regularPath:"/",relativePath:"README.md",key:"v-90050004",path:"/",content:" ÃDEME HİZMETLERİ VERİ PAYLAÅIM SERVİSLERİ (ÃHVPS) \n API İLKE VE KURALLARI \n SÃRÃM 2.0.0 aktif sürümdür. \n https://github.com/ohvps/ohvps.github.io/commits/master adresi üzerinden deÄiÅiklik açıklamaları ve tarihçesi incelenebilir. \n \n SÃRÃM 2.0.1 geçiÅ tarihleri Åu Åekildedir. \n \n Sürüm GeçiÅ Tarihi : 7 Ekim 2026 \n \n SÃRÃM 2.0.0 geçiÅ tarihleri Åu Åekildedir. \n \n \n Sürüm GeçiÅ Tarihi : 1 AÄustos 2025 \n \n \n HHS(1.1.0âdan 2.0.0'a geçecek olan ve direkt 2.0.0âa gelecek olan) Sertifikasyon BaÅlangıç Tarihi : 1 Eylül 2025 \n \n \n HHS(1.1.0âdan 2.0.0âa geçecek olan, direkt 2.0.0âa gelecek olan) Yeni Sürüm Ãretime GeçiÅ BaÅlangıç Tarihi : 1 Ekim 2025 \n \n \n YÃS(1.1.0âdan 2.0.0'a geçecek olan ve direkt 2.0.0âa gelecek olan) Sertifikasyon BaÅlangıç Tarihi : 1 Ekim 2025 \n \n \n HHS(1.1.0âdan 2.0.0âa geçecek olan) Sertifikasyon BitiÅ Tarihi : 16 Ocak 2026 \n \n \n HHS(1.1.0âdan 2.0.0âa geçecek olan) Yeni Sürüm Ãretime GeçiÅ Son Tarihi: 1 Mart 2026 \n \n \n YÃS(1.1.0âdan 2.0.0'a geçecek olan ve direkt 2.0.0âa gelecek olan) Yeni Sürüm Ãretime GeçiÅ BaÅlangıç Tarihi : 1 Mart 2026 \n \n \n YÃS(1.1.0âdan 2.0.0âa geçecek olan) Sertifikasyon BitiÅ Tarihi : 15 Mayıs 2026 \n \n \n YÃS(1.1.0âdan 2.0.0'a geçecek olan ve direkt 2.0.0âa gelecek olan) Yeni Sürüm Ãretime GeçiÅ Son Tarihi : 1 Haziran 2026'dan 1 Temmuz 2026âya ertelenmiÅtir. (14.05.2026 tarihinde ilgili tarih güncellemesi saÄlanmıÅtır.) \n \n \n Eski Sürümün(1.1.0) Kaldırılma Tarihi : 1 Haziran 2026âdan 1 Temmuz 2026âya ertelenmiÅtir. (14.05.2026 tarihinde ilgili tarih güncellemesi saÄlanmıÅtır.)\n \n \n \n ÃNEMLİ BİLGİLENDİRME : 3
161 Aralık 2025 tarihinde geçiÅ zorunluluÄu olan HHSâlerin 1 AÄustos 2025 tarihinden sonra Sürüm 2.0.0 sertifikasyonuna gelmesi durumunda en geç 31 Aralık 2025 tarihine kadar sertifikasyon sürecini tamamlayarak üretime geçmeleri gerekmektedir. \n YÃSâlerin sadece kendilerinin destekledikleri API sürümünü destekleyen HHSâleri listelemesi gerekmektedir. \n 2.0.0 sürümü için hesap bilgisi rızası ve ödeme emri rızası oluÅturmak isteyen YÃS kurumu için YOS API içerisinde apiBilgileri olarak \"ODS\" tanımı HHS tarafından kontrol edilmelidir. YÃS'ün ilgili tanımı olmaması halinde rıza isteÄinde \"TR.OHVPS.Resource.APIVersionNotSupported\" hatası verilmelidir. \n Sürüm Yönetimi bölümünden tarih bilgilerinin açıklamalarına ulaÅılabilir. \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n "},{title:"Dijital Cüzdanlardan TR Karekod ile Ãdeme",frontmatter:{},regularPath:"/dijital-cuzdan.html",relativePath:"dijital-cuzdan.md",key:"v-61b42a93",path:"/dijital-cuzdan.html",headers:[{level:2,title:"1. Dijital Cüzdana Kart Ekleme AkıÅı",slug:"_1-dijital-cuzdana-kart-ekleme-akısı"},{level:2,title:"2. Uyum Tarihi",slug:"_2-uyum-tarihi"}],content:" Dijital Cüzdanlardan TR Karekod ile Ãdeme \n Dijital cüzdanlara eklenmiÅ ve cüzdan sahibi kuruluÅun kendisinin ihraç etmediÄi, diÄer Kart Ãıkaran KuruluÅlar tarafından ihraç edilmiÅ kartlar ile TR Karekod ödemesi yapılabilmesi için HHS olarak GEÃİTâe baÄlanmıŠolan Kart Ãıkaran KuruluÅların, BKM (Kartlı Ãdemeler) TR Karekod Teknik İlke ve Kuralları Rehberinde yer alan 5.2 maddelerindeki belirtilen akıÅlar için BKM Karekod Yönlendirme Sistemi (KYS) entegrasyonu yapması gerekmektedir. \n Bu sayede Kart Ãıkaran KuruluÅlar, otorizasyon öncesinde iÅlemin POSâta Kart PINâi ile doÄrulanmasını veya müÅterinin telefonunda yüklü olan Kart Ãıkaran KuruluÅa ait mobil uygulamaya anlık bildirim göndererek doÄrulanmasını saÄlayabilecektir. HHS olarak GEÃİTâe baÄlanmıŠolan Kart Ãıkaran KuruluÅlar için de bu doÄrulama akıÅlarından en az birini hayata geçirmesi zorunludur. \n 1. Dijital Cüzdana Kart Ekleme AkıÅı \n Dijital Cüzdanlardan ödeme yapılabilmesi için kullanıcıların ilk olarak kartı Dijital Cüzdana eklemesi gerekmektedir. Dijital Cüzdana eklenecek olan karta ait bilgiler kullanıcı tarafından cüzdana girilmektedir. Kart bilgilerinin Dijital Cüzdana eklenmesinin ardından kart hamili iki faktörlü doÄrulama yöntemi (GO Güvenli Ãde, 3D Secure vb.) ile doÄrulanması gerekmektedir. Kart hamilinin iki faktörlü doÄrulanmasının ardından kart cüzdana eklenir ve eklenen bu kartlar ile ödeme iÅlemleri yapılabilir. Dijital Cüzdanlarla yapılabilen iÅlemler aÅaÄıda bilgi amaçlı özetlenmiÅtir. Bu belgenin Uyum Tarihi baÅlıÄında TR Karekod ile yapılan iÅlemler için kullanılacak doÄrulama akıÅlarına yer verilmiÅtir. \n \n \n Dijital cüzdanlar ile fiziksel maÄazalarda POS terminali üzerinden, e-ticaret sitelerinde ise online kanallar üzerinden ödeme yapmak mümkündür. \n \n \n Fiziksel ödemelerde dijital cüzdan POS terminallerinde gösterilen TR Karekodâu okuyarak ödemeyi gerçekleÅtirebilir. İkinci bir yöntem olarak, mobil telefonun ve dijital cüzdanın NFC teknolojisini desteklemesi durumunda telefonun POS terminaline temassız olarak okutulması suretiyle ödeme yapılabilmesi mümkündür. \n \n \n E-ticaret ödemelerinde web sitesinde gösterilen TR Karekodâun dijital cüzdan ile okutulması suretiyle ödeme yapılması mümkündür. Sanal POS iÅlemlerinden kastedilen dijital cüzdanda saklı olan kart ile online kanallar üzerinden bir e-ticaret ödemesinin yapılmasıdır. \n 2. Uyum Tarihi \n Dijital cüzdan sahibi kuruluÅ ile cüzdana eklenen kart kuruluÅunun farklı olması durumunda hem fiziki POSâlarda hem de sanal POSâlarda TR Karekod ile ödeme yapılabilmesine iliÅkin akıÅlar BKM (Kartlı Ãdemeler) TR Karekod Teknik İlke ve Kuralları Rehberinde 5.2. maddelerinde tariflenmiÅtir. \n Bu akıÅlarda; \n \n \n No-CVM (İlave doÄrulama yapmadan) veya \n \n \n Kart PIN (POS cihazında kart Åifresi girilerek) veya \n \n \n Anlık Bildirim ile (mobil telefonda yüklü olan kart çıkaran kuruluÅa ait uygulama üzerinden ile müÅteri doÄrulaması yer almaktadır.) müÅteri doÄrulaması yer almaktadır. \n \n \n KuruluÅların tercihine göre yukarıda tariflenmiÅ olan akıÅlardan biri veya tamamı kuruluÅlar tarafından desteklenebilir. KuruluÅların tercih ettiÄi akıÅlar için Karekod Yönlendirme Sistemi sertifikasyonlarını tamamlanması gerekmektedir. Yukarıda tariflenmiÅ akıÅlarda görüleceÄi üzere kart çıkaran kuruluÅlar otorizasyon öncesinde kendi risk deÄerlendirmesini yaparak âNo cvmâ ilave bir doÄrulama yöntemine gerek kalmadan da iÅlemleri sonlandırılmasını isteyebilmektedir. \n ** 31.12.2023 tarihinden önce HHS olarak GEÃİTâe baÄlanmıŠolan Kart Ãıkaran KuruluÅların BKM (Kartlı Ãdemeler) TR K
16arekod Teknik İlke ve Kuralları Rehberinde yer alan madde 5.2âde tarifli akıÅ/akıÅlar için Karekod Yönlendirme Sistemi sertifikasyonunun tamamlanarak en geç 30 Haziran 2024 tarihinde üretime geçmiÅ olması zorunludur. \n Nezdinde Ãdeme hesabı bulunduran Kart Ãıkaran diÄer tüm Ãdeme Hizmeti SaÄlayıcıların da GEÃİTâe baÄlantı saÄlamaları sonrası ilk 6 ay içerisinde KYS sertifikasyonunu tamamlaması gerekmektedir.** \n"},{title:"Sıkça Sorulan Sorular",frontmatter:{},regularPath:"/sorulan-sorular.html",relativePath:"sorulan-sorular.md",key:"v-6465b33d",path:"/sorulan-sorular.html",content:" Sıkça Sorulan Sorular \n 1) ÃHVPS kapsamında Hesap Bilgisi Hizmeti ve Ãdeme Emri BaÅlatma Hizmetiâni kullanabilmemiz için hangi Åartların saÄlanması beklenmektedir? \n \n Hesap Hizmeti SaÄlayıcılar(HHS) ve YetkilendirilmiÅ Ãdeme Hizmeti saÄlayıcılarının(YÃS) ÃHVPS kapsamında saÄlması gereken Åartlar için TCMBânin yayınladıÄı kanun ve yönetmeliklerin incelenmesi gerekmektedir. İlgili linkte yer alan https://ohvps.github.io/uyum-tarihleri.html referans adreslerinin incelenmesini öneririz. \n TCMB tarafından lisans süreciniz baÅlatıldıÄında geliÅtirmelerinizde yardımcı olmak adına BKM baÅvuru yapan Kurum/KuruluÅlara test hesabı tanımlanmakta ve ilgili alanlara yetki almanı için gerekli yönlendirme yapılmaktadır. \n ÃHVPS kapsamında;\n \n Lisans sürecini yürüten Kurum/KuruluÅların BKM tarafından BKM ÃHVPS Teknik Sertifikasyon Onay Belgesi alması gerekmektedir. \n Lisans alması gerekmeyen Kurum/KuruluÅların üretime geçmeden önce BKM ÃHVPS Teknik Sertifikasyon Onay Belgesi alması gerekmektedir. \n \n \n \n 2) BKM ÃHVPS Teknik Sertifikasyon Onay Belgesi nedir, nasıl alınır? \n \n BKM ÃHVPS Teknik Sertifikasyon Onay Belgesi, https://ohvps.github.io/ âda yayınlanan teknik Åartların yerine getirilecek Åekilde geliÅtirme yapılması ve Trip/Tripsit üzerinden paylaÅılan sertifikasyon senaryolarının test ortamında simulator üzerinden koÅularak onaya gönderilmesi sonrası BKM tarafından yapılan kontrollerin olumlu olması sonucunda verilen belgedir. Teknik sertifikasyon belgesi alınabilmesi için katılımcıların öncelikle sertifikasyona gelmeleri gerekmektedir. Sertifikasyon sürecine ait detaylı bilgiler Tripsit> BKM Online> ÃHVPS> Dokümanlar menüsü altında yer almaktadır. \n \n 3) Elektronik Para KuruluÅları ve Ãdeme KuruluÅları olarak HHS olma zorunluluÄumuz var mıdır? \n \n TCMB tarafından yayınlanan kanun ve yönetmeliklerde bu bilgi yer almaktadır. Kanun, yönetmelik, tebliÄ vb. aÅaÄıdaki sayfadan ulaÅabilirsiniz. \n \n https://www.tcmb.gov.tr/wps/wcm/connect/25571f4f-72ac-4f4b-ab59-2d683fcbc271/Y%C3%B6netmelik.pdf?MOD=AJPERES&CACHEID=ROOTWORKSPACE-25571f4f-72ac-4f4b-ab59-2d683fcbc271-pntoxwf 55. Sayfa \n \n Elektronik Para KuruluÅları ve Ãdeme KuruluÅlarıânın HHS uyum tarihleri, https://ohvps.github.io/uyum-tarihleri.html , adresinde yer almaktadır. \n \n 4) EPK ve/veya ÃK olarak HHS ve YÃS sertifikasyonuna aynı anda gelme zorunluluÄumuz bulunmakta mıdır? \n \n API dokümanında da belirtildiÄi üzere Banka rolündeki HHSâler HHS olmadan YÃS olamazlar. Ancak EPK/ÃKâlar için böyle bir zorunluluk bulunmamaktadır. Ek olarak, API ilke ve kuralları dokümanında bulunan tüm hizmetlerin (HHSâler mevcut kanallarında bu hizmetleri sunuyorsa açık bankacılık kapsamında da sunmaları gerekmektedir.) HHSâler tarafından sunulması gerekmektedir. YÃSâler hangi lisansı alacaklarsa HBH ve ÃBH hizmetleri ayrı ayrı ya da beraber olacak Åekilde sertifikasyona gelebilirler. \n \n 5) Ãdeme Hizmetleri Veri PaylaÅım Servisleri API İlke ve Kurallarıâna nereden eriÅebiliriz? \n \n https://ohvps.github.io/ adresinden eriÅebilirsiniz. \n \n 6) ÃHVPS API sürüm geçiÅ tarihlerine nereden ulaÅabiliriz? \n \n https://ohvps.github.io/ adresinden ulaÅabilirsiniz. \n \n 7) Yatırım Bankası olarak sertifikasyona gelmemiz gereken son tarih bilgisi nedir? \n \n https://ohvps.github.io/uyum-tarihleri.html uyum tarihleri paylaÅılmıÅtır. Buradan sizin için belirtilen tarih aralıÄını baz alabilirsiniz. \n \n 8) Henüz Açık Bankacılık kapsamında herhangi bir çalıÅmada bulunmamıÅ/ yeni sertifikasyona gelecek olan bir banka olarak sertifikasyona geleceÄimiz son tarih bilgisi konusunda bizlere destek olabilir misiniz? \n \n https://ohvps.github.io/uyum-tarihleri.html uyum tarihleri paylaÅılmıÅtır. Buradan sizin için belirtilen tarih aralıÄını baz alabilirsiniz. \n \n 9) Simülatörün mobil uygulaması bulunmakta mıdır? Var ise uygulamayı nasıl indirebiliriz? \n \n Evet, BOSS mobil uygulamamız bulunmaktadır. Trip/Tripsit > BKM Online > ÃHVPS > Dokümanlar kısmından adımları takip ederek indirebilirsiniz.\nAyrıca Tr
16ip / Tripsit > Dokümanlar bölümündeki SİMÃLATÃR KULLANIMI VE SERTİFİKASYON SÃREà KILAVUZU bu belgenin de süreçler için incelenmesi gerektiÄi tavsiye edilmektedir. \n \n 10) ÃHVPS APIâlarının entegrasyonu için hangi adımlar ile ilerlemeliyiz? \n \n \n ÃHVPS API geliÅtirmeleri için BKM olarak simülator ortamı sunulmaktadır. Simülatör ortamına eriÅim için test entegrasyonu saÄlanmalıdır. Entegrasyon için aÅaÄıdaki adımlar takip edilmelidir. \n \n âYeni Kayıtâ ve âGüncellemeâ iÅlemine dair süreçler https://pys-preprod.bkm.com.tr adresi üzerinden yapılacaktır. Mevcut durumda PYS giriÅ yetkisi olan katılımcılar Tripsit'e giriÅ yaptıkları kullanıcı adı ve Åifresi ile giriÅ yapabilir. \n İlgili adrese eriÅimler açık olup katılımcılar Tripsitâe https://tripsit.bkm.com.tr giriÅ yaptıkları kullanıcı adı ve Åifresi ile girebilecektir. \n HHS, YÃS test ortamı tanımlarına ait menüler için yetki alınması gerekmektedir. İlgili yetkiler için kurumunuza özgü olan süper kullanıcıdan yetki talep edilmelidir. Süper kullanıcı süreçleri ile PYS üzerinde ilgili hizmetlerin yetkilerine dair dokümanlar Trip/Tripsit > BKM Online > ÃHVPS içerisinde yer almaktadır.\n \n Ek-1: Merkezi Kullanıcı Yönetim Sistemi Uygulama Kuralları-Åubat 2025 \n Ek-2: Parametre Yönetim Sistemi Açık Bankacılık YÃS ve HHS Yetki Talebi Kılavuzu \n \n \n \n Kurumunuza ait en az iki süper kullanıcı bulunmaktadır. Süper kullanıcınız üzerinden yetki talebinde bulunabilirsiniz. Yetki talebi verildikten sonra kurumunuzdaki diÄer süper kullanıcı tarafından isteÄiniz onaylanmaktadır. EÄer kurumunuza ait süper kullanıcılarınız bulunmuyor ise [email protected]âe mail atılarak yetki talep edilmelidir. \n \n \n 11) İstemci sertifikası talebini nereden yapabiliriz? \n \n âİstemci Sertifikası Talep Ekranıâ sadece yetkili kiÅi tarafından seçilerek gönderilmelidir. Yetkili kiÅi Trip/Tripsit > BKM Online > ÃHVPS > Dokümanlar menüsü altından ulaÅabilir. \n \n 12) Mesaj imzalama süreçleri nasıl olmalıdır? \n \n https://ohvps.github.io/v2.0.0/contents/ekler.html#ek-5-mesaj-imzalama-ak%C4%B1s%C4%B1 detaylı bilgiye eriÅebilirsiniz. \n \n 13) Sertifikasyona gelmeden önce yapılması gerekenleri paylaÅabilir misiniz? \n \n HHS rolünde sertifikasyona gelmeden önce tüm hizmetler için âTest Otomasyonâ çalıÅtırılarak baÅarısız senaryolar düzeltilmelidir.\n \n Ekranlarda gösterilmesi gerekli tüm alanlar Trip/Tripsit > ÃHVPS > Dokümanlar > ÃHVPS Sürüm 2.0 Sertifikasyon Senaryoları Aktarım Toplantısı dokümanında yer almaktadır. İlgili doküman incelenerek ekran tasarımları tasarlanmalıdır. Dokümanda ekranda gösterilmesi gereken zorunlu alanlar belirtilmektedir. Ekranlarda istenilen Åartlar yerine getirildiÄi sürece ekran tasarımları kurum/kuruluÅların insiyatifine bırakılmıÅtır. \n \n \n YÃS rolünde ise Ekranlarda gösterilmesi gerekli tüm alanlar Trip/Tripsit > ÃHVPS > Dokümanlar > ÃHVPS Sürüm 2.0 Sertifikasyon Senaryoları Aktarım Toplantısı dokümanında yer almaktadır. İncelenerek ekran tasarımları tasarlanmalıdır. Dokümanda ekranda gösterilmesi gereken zorunlu alanlar belirtilmektedir. Zorunlu alanların tek ekranda gösterilmesine gerek bulunmamaktadır. Ekranlarda istenilen Åartlar yerine getirildiÄi sürece ekran tasarımları kurum/kuruluÅların insiyatifine bırakılmıÅtır. \n Sertifikasyon onayı iletilmeden en az bir ay öncesinde sertifikasyon slot talebi ekranından slot tarihi alınmalıdır. Sertifikasyon slot talebi ekranına https://sertifikasyon-preprod.bkmtest.com.tr/certification-slots adresinden eriÅim saÄlayabilirsiniz.\nAlmıŠolduÄunuz slot tarihinden en az üç iÅ günü öncesinde sistem üzerinden sertifikasyon onayı iletmeniz beklenmektedir. \n Sertifikasyon kontrolleri sonrasında sizlere geri bildirimlerde bulunulur. Tüm revizeler tamamlandıktan sonra sertifikasyon onayı verilir ve üretime geçiÅ için planlama yapılır. \n \n 14) Kurum/KuruluÅ olarak mobil kanallardan müÅterimize hizmet vermemekteyiz. Bu kapsamda sertifikasyonda sadece web akıÅlarını iÅletebilir miyiz? \n \n Sertifikasyon sürecinde mobil ve web sertifikasyonları ayrı iÅletilmektedir. Bu kapsamda mevcut durumda hangi kanal üzerinden müÅterilere hizmet sunuluyorsa sadece o hizmet kapsamında sertifikasyona gelebilirsiniz. \n \n 15) Bireysel segmentte mobil ve web kanallarında hizmetimiz bulunurken Kurumsal müÅteri özelinde sadece web kanalında hizmetimiz bulunmaktadır. Bu kapsamda Kurumsal müÅteriler için sadece web akıÅını destekleyebilir miyiz? \n \n Sertifikasyon sürecinde mobil ve web sertifikasyonları ayrı iÅletilmektedir. Bu kapsamda mevcut durumda hangi servisi destekleniyorsa ya da hangi kanal üzerinden müÅterilere hizmet sunuluyorsa sadece o hizmet kapsamında sertifikasyona gelebilirsiniz. \n \n 16) Sertifikasyon onay isteÄi oluÅturmak için nasıl bir yol izlemeliyiz? \n \n Tüm seritifkasyon süreçleri ile ilgili bilgiler Tripsit>BKM Online> ÃHVPS > dokümanlar menüsü altında paylaÅılmaktadır. Bu süreçle ilgili yine destek alabileceÄiniz Sertifikasyon Merkezi > ÃHVPS Sertifikasyon Bilgilendirme menüsü altında sertifikasyon süreci ile ilgili video kaydı bulunmaktadır. Gerekli video kaydına https://sertifikasyon-preprod.bkmtest.com.tr/certification-ohvps-info link üzerinden eriÅim saÄlayabilirsiniz.\nBu alanlardaki belgeleri ve video kayıtlarını inceleyerek destek alabilirsiniz. Simülatör üzerinden sertifikasyon senaryolarının kapsam dıÅı hariç hepsinin tiklenerek onaya gönderilmesi gerekmektedir. \n \n 17) Sertifikasyon slot tarihine yetiÅememe durumu ile karÅılaÅılaÅılırsa nasıl ilerlemeliyiz? \n \n Sertifikasyon slot tarihine yetiÅilemediÄi durumda bir sonraki uygun sertifikasyon tarihinin katılımcı tarafından tekrar talep edilmesi gereklidir. \n \n 18) Sertifikasyon için koÅulması gereken senaryolara nereden ulaÅabiliriz? \n \n AÅaÄıdaki link üzerinden eriÅim saÄlayabilirsiniz.\n https://sertifikasyon-preprod.bkmtest.com.tr/certification-rules \n \n 19) Sertifikasyon senaryolarının hepsi koÅulmalı mıdır? Bireysel ve kurumsal için ayrı sertifikasyona gelinebilir mi? \n \n Kapsam dıÅı olduÄunuz tüm senaryolar hariç hepsi koÅulmalıdır. \n HHS Sertifikasyonları için bireysel ve kurumsal birlikte koÅularak gönderilmelidir. YÃS sertifikasyonları için hangi müÅteri segmentine hizmet verilecekse ilgili müÅteri segmenti için ayrı olarak sertifikasyona gelinebilir. \n Mobil ve Web Kanallar için aynı altyapı (backend-arkayüz) kullanılıyor ise sertifikasyonda web ve mobilin tek bir sertifikasyonda koÅulması gerekmektedir. Detaylar SİMÃLATÃR KULLANIMI VE SERTİFİKASYON SÃREà KILAVUZU âunda yer almaktadır. \n \n 20) Sertifikasyon senaryoları koÅulurken nelere dikkat edilmelidir? Ekranlar nasıl olmalıdır? \n \n Sertifikasyon için https://ohvps.github.io/ adresinde yayınlanan API İlke ve Kuralları dokümanındaki teknik gereksinimleri yerine getirmeniz beklenmektedir. \n Web/mobil ekranlar için sertifikasyonda iletilmesi gereken zorunlu alanlar bulunmaktadır. Bu alanlar için Trip/Tripsit > BKM Online > ÃHVPS >Dokümanlar menüsü altında yer alan âMüÅteri Deneyim Dokümanıânı inceleyebilirsiniz. Ekranlarda istenilen Åartlar yerine getirildiÄi sürece ekran tasarımları kurum/kuruluÅların insiyatifine bırakılmıÅtır.\nSertifikasyona gelmeden önce ekranlar son kullanıcıya gösterilecek Åekilde hazırlanmalıdır. \n \n 21) Sertifikasyon onay isteÄi nasıl oluÅturabiliriz? \n \n Tripsit >BOSS> Sertifikasyon Onayı OluÅturma seçilerek sertifikasyon ekranına eriÅim saÄlanır. âSertifikasyon Onay İsteÄi OluÅturmaâ ekranı ile katılımcılar ilgili APIâye ait sertifikasyon senaryoları kapsamındaki iÅlemlerini tamamladıktan sonra sertifikasyon isteklerini bu ekran üzerinden iletebilirler. Bu ekran üzerinden ekran görüntüsü ekleme, senaryonun kapsam dıÅına alınması gibi iÅlemler yapılabilmektedir. Sertifikasyon sonuçları da yine bu ekran üzerinden takip edilebilir.\nDetaylar SİMÃLATÃR KULLANIMI VE SERTİFİKASYON SÃREà KILAVUZU âunda yer almaktadır. Bu süreçle ilgili yine destek alabileceÄiniz video kaydı bulunmaktadır. \n \n 22) Sertifikasyon onay isteÄi oluÅturdum. BaÅlatıldı statüsünde kaldı. Yardımcı olabilir misiniz? \n \n Sertifikasyon talebinde bulunulduÄunda seçilen tarih aralıÄındaki log kayıtları çekilerek otomatik olarak âÃalıÅtırıldıâ statüsüne geçmektedir. Sizin çalıÅtırdıÄınız tarih aralıÄında log kaydı olup olmadıÄı kontrol edilmelidir. HHS senaryoları koÅulurken X-Group-ID seçiminin yapıldıÄı kontrol edilmelidir. \n \n 23) Sertifikasyon onay isteÄi oluÅturdum. Senaryolar tiklenmedi. Kontrol edebilir misiniz? \n \n Sertifikasyon onayı oluÅturulduktan sonra ilgili sertifikasyon id için âDetayâ seçilmeli ve senaryonun neden tiklenmediÄi âHata Görâ kolonundan kontrol edilmelidir. \n \n 24) ÃHVPS Simülatörlerini kullanarak geliÅtirmelerimizi tamamladık. Ãretim ortamına geçiÅ için neler yapılması gerekir? \n \n Ãretim ortamına ait entegrasyon için gerekli bilgilere aÅaÄıdaki dokümanlardan ulaÅabilirsiniz.\nTrip/Tripsit â BKM Online â ÃHVPS dokümanlar içerisinde yer almaktadır.\nBKM Geçit - ÃHVPS Uygulama Kuralları_Ver1.11\nDoküman içerisinde özellikle incelenmesi gereken ilgili baÅlıklar:\n \n \n \n Katılımcı Gereksinimleri \n \n \n \n \n Entegrasyon Adımları \n \n \n \n \n Ãretime GeçiÅ \n \n \n \n \n \n Ãretim ortamı YÃS ve HHS BKM GEÃİT entegrasyonları https://pys.bkm.com.tr adresi üzerinden yapılacaktır.\nİlgili adrese eriÅimler açık olup katılımcılar Tripâe ( https://trip.bkm.com.tr ) giriÅ yapılan kullanıcı adı ve Åifresi ile girilebilecektir.\nHHS ve YÃS tanımlarına ait menüler için yetki alınması gerekmektedir. İlgili yetkiler için kurumunuza özgü olan Superuser kullanıcılardan yetki talep edilmelidir.\nSuperuser süreçleri ile PYS üzerinde ilgili hizmetlerin yetkilerine dair dokümanlar Trip/Tripsit â BKM Online â ÃHVPS dokümanlar içerisinde yer almaktadır.\nEk-1: Merkezi Kullanıcı Yönetim Sistemi Uygulama Kuralları-Åubat 2025\nEk-2: Parametre Yönetim Sistemi Açık Bankacılık YÃS ve HHS Yetki Talebi Kılavuzu \n 25) ÃHVPS APIâlarına ait swagger dosyası bulunmakta mıdır? \n \n Evet bulunmaktadır. ÃHVPS > HHS/YÃS Simülatörü ekranına gidilerek açılan sayfada istenilen API seçilir ve âSwagger Dokümanını İndirâ seçilerek indirebilir. \n \n 26) ÃHVPS API İlke ve Kuralları dokümanında yapılan deÄiÅiklikleri nereden görebiliriz? \n \n https://ohvps.github.io/ adresine gidildiÄinde ana sayfada yer alan https://github.com/ohvps/ohvps.github.io/commits/master adresi üzerinden deÄiÅiklik açıklamaları ve tarihçesi incelenebilir. \n \n 27) GeliÅtirmeler sırasında doküman ile simülatör arasında fark görüldüÄünde hangisi doÄrudur? Nasıl ilerlemeliyiz? \n \n Simülatör ortamı katılımcıların API geliÅtirmelerini test edebilmesi için oluÅturulmuÅ sandbox ortamdır. Bazı geliÅtirmeler katılımcıların test edebilmesi için simülatör tarafında esnek bırakılmıÅtır. Bu yüzden her zaman doküman dikkate alınmalıdır. Simülatörün geliÅtirilmesi için farklılıÄı bizlere iletebilirsiniz. \n \n 28) Açık Bankacılık kanal ayarları her kullanıcıya default olarak açık mı olmalıdır? \n \n Açık Bankacılık müÅteriye bir kanal olarak sunuluyorsa müÅterinin kanal ayarını açıp kapatabileceÄi bir ekran olması gerekmektedir. Ãretim ortamına ilk çıkıldıÄında default olarak açık olmalıdır. MüÅteri dilerse kendi kapatabilmelidir. https://ohvps.github.io/v1.1.0/contents/temel-prensipler.html temel prensipler baÅlıÄı altından inceleyebilirsiniz. \n \n 29) Sadece web uygulamamız üzerinden ÃHVPS APIâlarını kullanmak istiyoruz. Sorun olur mu? \n \n HHS olunan rolde tarayıcı tabanlı yönlendirme yapılması zorunlu olmakla beraber 1 Ekim 2023 itibarıyla HHSânin uygulaması varsa uygulama tabanlı yönlendirme hizmeti vermesi de zorunludur. \n \n 30) Daha önce sorulan katılımcı sorularına nereden ulaÅabiliriz? \n \n Trip/Tripsit > BKM Online > ÃHVPS > Dokümanlar menüsü altından ulaÅabilirsiniz. \n \n 31) ÃHVPS Ãretim ortamı katılımcılarının iletiÅim adreslerine nereden ulaÅabiliriz? \n \n Trip/Tripsit > BKM Online > ÃHVPS > İletiÅim Listesi altından bulabilirsiniz. Bu menüye eriÅim saÄlayamıyorsanız [email protected] adresinden yetki talep edebilirsiniz. \n \n 32) Sertifikasyon için yeni sürüm olan V 2.0.0 sürümüne gelmek zorunda mıyız? Eski sürüm ile sertifikasyona gelebilir miyiz? \n \n 1 Eylül 2025 tarihinden sonra sertifikasyon talebinde bulunan tüm katılımcıların V 2.0.0 aktif sürümüne gelme zorunluluÄu bulunmaktadır.\nMevcutta 1.1.0 sürümü ile üretim ortamında hizmet veren katılımcıların V 2.0 için hangi tarihlerde sertifikasyona geleceÄi ve üretime geçiÅ yapacaÄı bilgisi https://ohvps.github.io/ linkinde yer almaktadır. \n \n 33) Sürüm 2.0 sertifikasyonu
16nu almak için Sürüm 1.1 sertifikasyonunu almak gerekiyor mu? Açık bankacılık sistemine 2.0 versiyonu ile dahil olunabilir mi? \n \n ÃHVPS kapsamında ilk kez sertifikasyona gelecek olan kurumlar aktif sürüm olan 2.0 sürümü ile sertifikasyona gelmeleri yeterlidir. Sertifikasyon senaryoları listeleme ekranında versiyon güncelleme seçeneÄini seçmeden hizmet verecek kanal ve müÅteri bazında senaryoları listlemeli ve ilgili senaryoları koÅarak sertifikasyona gelmelidir. \n \n 34) Ayrık GKD bilgilendirme mesajı kullanıcıya iletilmezse süreci nasıl yönetebiliriz? \n \n \n MüÅterinin ne Åekilde bilgilendirileceÄi HHS inisiyatifindedir. AÅaÄıda paylaÅmıŠolduÄumuz linkte detaylı bilgi yer almaktadır. Linkte yer alan detaya istinaden HHS olarak iÅlemi red etmeniz uygundur. YÃS olarak ise hata almıŠbir ayrık GKD iÅlemini yönlendirmeli akıÅa çevirip tekrar iletebilirsiniz. \n https://ohvps.github.io/v2.0.0/contents/gkd.html#_5-2-ayr%C4%B1k-guclu-kimlik-dogrulama \n \n \n 35) Ayrık GKD sadece mobil uygulamaya mı bildirim gönderilebilir? Sms içerisinde webe yönlenecek universal link verebilir mi? \n \n Ayrık GKD sürecinde HHS tarafında sadece mobil uygulama üzerinden GKD yapılmalıdır. ÃHKânın web uygulamasına yönlendirme yapmaması gerekmektedir. SMS iletilecekse sms içerisindeki universal link sadece mobile yönlendirilmelidir. https://ohvps.github.io/v2.0.0/contents/gkd.html#_5-2-ayr%C4%B1k-guclu-kimlik-dogrulama adresinden detaylı inceleyebilirsiniz. \n \n 36) Mevcut sistemimizde GSM birden fazla müÅteride tanımlıdır. Bu noktada Ayrık GKD Tek seferlik ödeme akıÅında hangi müÅteriye bildirim gönderilmesi gerektiÄini ayırt edemeyeceÄimizden sorun oluÅturmaktadır. Bu nedenle GSM için muafiyet talep edilebilir mi? \n \n Mevcut durumda ilgili cep numarasına nasıl bildirim gönderiliyorsa aynı yöntem izlenebilir. (Yetkili kiÅi ataması yapılabilir vs.) \n \n 37) Hesap Bilgisi Hizmeti ve Ãdeme Emri BaÅlatma Hizmeti akıÅlarında default olarak yönlendirmeli akıŠtercih edilebilir mi? Yoksa ayrık GKD sunan HHSâler için, YÃSâün de ayrık GKDâyi tercih etmesi zorunlu mudur? \n \n YÃSâün kendi insiyatifindedir. https://ohvps.github.io/v2.0.0/contents/gkd.html#_5-2-ayr%C4%B1k-guclu-kimlik-dogrulama detaylı bilgiye eriÅebilirsiniz. \n \n 38) Kurumumuzun YÃS olduÄu durumda karÅı HHS Ayrık GKD'yi desteklese dahi kullanıcıda HHS'ye ait mobil uygulama olmadıÄı takdirde nasıl ilerlememiz beklenmektedir? \n \n https://ohvps.github.io/v2.0.0/contents/gkd.html#_5-2-ayr%C4%B1k-guclu-kimlik-dogrulama adresinden detaylı senaryoları inceleyebilirsiniz. \n \n 39) YÃS olduÄumuz durumda ayrık GKD kimlik doÄrulama web akıÅından baÅlayabilir mi yoksa mobil uygulamada olma zorunluluÄu var mıdır? \n \n Her iki kanaldan iÅlem baÅlatılabilmektedir. \n \n 40) Yeni sürüm (V 2.0) kapsamında Olay Bildirim Servisâlerinin kullanılması zorunlu mudur? \n \n Olay Dinleme APIânın (ODS) servis olarak sunulması HHS ve YÃSâler için zorunludur. Olay Abonelik Servisleriânin (OAS) kullanımı YÃS insiyatifindedir. YÃS, Ayrık GKD yöntemi kullanacaksa ise AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için de abonelik oluÅturulması gerekir. https://ohvps.github.io/v2.0.0/contents/olay-bildirim.html detaylı inceleyebilirsiniz. \n \n 41) Sertifikasyon senaryoları içerisinde yer alan sistem olay dinlemeyi nasıl test edebiliriz? Bu konuda yönlendirebilir misiniz? \n \n KullanmıŠolduÄunuz YÃS simülatörü için Tripsit üzerinden güncelleme yapılması saÄlanarak HHS tarafına sistem olay dinleme kaydı oluÅturabilirsiniz. \n \n 42) ÃHVPS API kullanımları için ücretlendirme olacak mıdır? Ãcretlendirme kapsamında nasıl bir yol haritası izlenecektir? \n \n Sorgulama yönteminin ne Åekilde devam edeceÄi YÃS'ün inisiyatifindedir. API sorgulamaları üzerinden ücret alınmaya devam edecektir. Olay bildirimi ile YÃS'lerin api sorgulaması arasında bir baÄlantı olmamakla beraber TCMB'nin belirlediÄi tarihten itibaren ücretlendirme devreye alınacaktır. \n TCMB'nin daha evvel bilgi verdiÄi ücretlendirme içeriÄi ile ilgili detaylar önümüzdeki günlerde Trip>ÃHVPS dokümanları altında yer alan ÃHVPS Uygulama Kuralları Dokümanında detaylandırılacaktır. \n \n 43) Olay Bildirim devreye alındıktan sonra bankaların sorgulamaları devam edebilecek mi, o sorgulamalardan ücret alınabilir mi? \n \n Sorgulama yönteminin ne Åekilde devam edeceÄi YÃS'ün inisiyatifindedir. API sorgulamaları üzerinden ücret alınmaya devam edecektir. Olay bildirim ile YÃS'lerin api sorgulaması arasında bir baÄlantı olmamakla beraber TCMB'nin belirlediÄi tarihten itibaren ücretlendirme devreye alınacaktır. \n \n 44) Sertifikasyonu tamamlayarak üretim ortamına geçiÅ yaptıktan sonra hizmet vermeyi durdurabilir miyiz? Evet ise, ne kadar süre ile hizmet vermeyebiliriz? \n \n HHS olunan rolde hizmet durdurulması gibi b
16ir durum söz konusu deÄildir. \n \n 45) BKM Açık Bankacılık Deney Alanı Nedir? \n \n Açık Bankacılık Deney Alanı, ÃHVPS (Ãdeme Hizmetleri Veri PaylaÅım Servisleri) kapsamındaki açık bankacılık hizmetlerinin katılımcılar (HHS ve YÃS) ve katılımcı olmayan kuruluÅlar ve finansal teknoloji giriÅimleri tarafından belirli çerçevelerde deneyebileceÄi, test amaçlı kullanılan açık simülatörlerin bulunduÄu bir test ortamıdır. İlgili alana https://ohvps.github.io/v2.0.0/deneyalani/genel-bilgiler.html linkinden eriÅebilirsiniz. \n \n 46) Açık Bankacılık Kurumsal Bankacılık tarafında tüzel kiÅilerin hesaplarının yetkilendirilmesi (münferit/müÅterek) nasıl yapılmalı, nereden bilgi alabilirim? \n \n Tüzel taraftaki MüÅteri yetkileri için BKM tarafında bir yönlendirme yapılamamaktadır. Banka içinde bu kiÅilerin neye yetkisi varsa ÃHVPS kapsamında da aynı müÅteri deneyimini yansıtacak Åekilde çözüm üretmeniz beklenir. \n \n 47) FAST katılımcısı olan kurumların HHS olma zorunluluÄu bulunmakta mıdır? Nezdinde ödeme hesabı bulunduran kuruluÅlar ÃHVPS kapsamında HHS olarak hizmet verme zorunluluÄu bulunuyor mu? \n \n ÃHVPS API ilke ve Kuralları dokümanında da ifade edildiÄi üzere, Yönetmelik ve TebliÄde yapılan 28 Mart 2025 tarihli deÄiÅiklik itibarıyla;\n \n FAST Sistemine katılımcı olan ödeme hizmeti saÄlayıcılarının 31 Aralık 2025 tarihine kadar teknik sertifikasyonlarını baÅarıyla tamamlayarak GEÃİTâe baÄlantı saÄlamaları gerekmektedir (HHSâleri ilgilendirmektedir.) \n \n \n \n 48) HHS 1.1 sürümü tamamlanamadıysa, yalnızca HHS 2.0 için hazırlanan senaryoları çalıÅtırmak yeterli olur mu? \n \n S1.1 ile üretim ortamında hizmet verilmiyor ise sertifikasyon senaryolarını listelerken versiyon güncelleme seçmeden (en baÅtan tüm senaryolar koÅulacaktır) S2.0 sertifikasyonuna gelinmelidir. \n \n 49) Test otomasyon adımını âsertifikasyon öncesi test süreciâ olarak adlandırabilir miyiz? Bu adım zorunlu bir adımdır mı? \n \n HHS'lerin S2.0 sertifikasyonunu geçebilmeleri için test otomasyon adımını baÅarılı bir Åekilde tamamlamaları beklenmektedir. Sertifikasyon Onay İsteÄi çalıÅtırıldıktan sonra onaya gönderme aÅamasında çalıÅtırılan test otomasyon id bilgileri talep edilmektedir. \n \n 50) Slot (zaman dilimi) içinde yapılan incelemeler sonucunda sertifikasyon baÅarısız olursa ve yeniden koÅulması istenirse, yeni bir slot alınması gerekir mi? Yeni bir slot bulunamazsa ne tür bir yol izlenmelidir? \n \n Revize süreçleri kapsamında tekrardan slot alınmasına gerek yoktur. Sadece ilk kez sertifikasyon onayı gönderilecek durum için slot alınması gereklidir. \n \n 51) Sertifikasyon senaryoları ve test otomasyon testleri slot tarih aralıÄında mı öncesinde mi koÅulacaktır? \n \n Slot tarihi seritifikasyon kontrollerinin gerçekleÅtirileceÄi tarih olup bu kapsamda slot tarihinden önce sertifikasyon onayı ve test otomasyon koÅumu gerçekleÅtirilmelidir. \n \n 52) Demo kontrolleri için önce sertifikasyon onayı alınması mı gerekmektedir? \n \n Demo, üretim ortamında gerçekleÅtirilen; sistemlerinizin baÅarılı çalıÅıp çalıÅmadıÄının kontrolü yapılan uygulamadır. Bu kapsamda, önce sertifikasyon onayı alınması Åarttır. \n \n 53) Ãdeme emri test otomasyonu senaryosunda KOLAS ya da Ayrık GKD desteklemeyen bir katılımcı ne yapmalı? \n \n HHS'lerin FAST katılımcı olma Åartı bulunduÄu için KOLAS desteklenmesi beklenmektedir. EÄer mobil uygulamanız var ise yine Ayrık GKD desteklenmesi gerekiyor. Bu Åartların dıÅında farklı bir durumunuz var ise desteklemediÄiniz akıÅları otomasyonda koÅmayabilirsiniz. \n \n 54) Kurum olarak mevcut yapımızda kart hizmeti vermediÄimiz durum için kartlarla ilgili senaryolarıı ve adımları atlayabilir miyiz? \n \n HHS olarak ilgili hizmet desteklenmiyor ise kapsam dıÅı açıklaması girerek kapsam dıÅına alabilirsiniz. YÃS olarak dilediÄiniz hizmet ve özellik için sertifikasyona gelebilirsiniz. \n \n 55) Kurumsal bir firmayız bireysel hesaplarımız bulunmamaktadır. Buna istinaden sertifikasyon isteÄimizi kurumsal/web olarak talep ettik ancak HHS olarak bireysel müÅteriler içinde bir süreç koÅmalı mıyız? \n \n Mevcutta HHS rolü için hangi kanal ve müÅteri tipi üzerinden hizmet veriliyorsa açık bankacılık kapsamında da ilgili hizmetler verilmelidir. YÃS rolü için herhangi bir zorunluluk bulunmamaktadır. \n \n 56) İleri tarihli ödeme ve düzenli ödeme hizmetleri zorunlu mudur? Bu hizmetlerden muaf olunabilir mi? \n \n HHS olarak mevcut durumda kendi kanallarınızdan vermiÅ olduÄunuz hizmetleri ÃHVPS kapsamında da vermek zorundasınız. \n \n 57) Mevcut olmayan bir özelliÄi sonradan eklersek nasıl sertifikasyona gelmemiz gerekecek? ÃrneÄin sonradan kurumsal eklemesi yapıldı. \n \n Sadece ilgili senaryolar için tekrar sertifikasyona gelmeniz beklenmektedir. \n \n 58) HHS olarak banka olmayan bir
16kuruluÅ sertifikasyona girdiÄinde ödeme servislerinde Kolas ve QR ile ödeme gibi yöntemleri muaf olabilir mi? \n \n Kurumunuzun mevcut yapısında ilgili servisler desteklenmiyor ise kapsam dıÅına alabilirsiniz. \n \n 59) YÃS olarak daha önce mobil süreçleri devreye almadıÄımız durumda 2.0.0 kapsamında da muaf olabilir miyiz? S2.0 kapsamında mobil zorunlu mudur? \n \n YÃSâler için kanal zorunluluÄu bulunmamaktadır. Sertifikasyona dilediÄiniz kanaldan gelebilirsiniz. \n \n 60) YÃS olarak alınacak kart bilgileri ve hareketleri için uygulamamızda kullanıcıya bir kart görseli göstermek zorunda mıyız? Kart görseli göstermesek olmaz mı? \n \n Kart görseli için belirlenmiÅ olan standartlar bulunmaktadır. Sertifikasyon dokümanlarından ilgili bilgiye eriÅebilirsiniz. \n \n 61) Asıl kart sahibi ek karta da rıza verebilir mi? \n \n \n HHS ekranlarında kart seçimi yapılarak rıza verilirken asıl kart seçilmeden ilgili asıl karta baÄlı sanal ve ek kartların ayrıca seçilerek rıza verilmesine izin verilmemelidir. HHS mevcut kanallarında ek ve sanal kart hareketlerini asıl karttan ayırt etmeden müÅterisine gösteriyor ise asıl kart seçimi ile birlikte asıl karta baÄlı sanal ve/veya ek kart seçimini zorunlu kılmalıdır. Asıl kart hamili dıÅında bir kiÅi için ek kart çıkartıldıÄı durumda ek kart sahibi HHS'de asıl kartı görmeyecek olduÄundan sadece kendisine çıkartılan ek kartı listelenecek ve seçerek rıza vermesi saÄlanacaktır. Ek kart hamilinin asıl kart hamilinden farklı olduÄu durumda asıl karta ait bir rıza olmasa da ek karta rıza verilebilir. \n Detaylı bilgi için https://ohvps.github.io/v2.0.0/contents/hesap-bilgisi-hizmeti.html#_9-9-adim-4-kart-bilgilerinin-sorgulanmas%C4%B1 . \n \n \n 62) YÃS ortamında aynı anda hem hesap hem de kart rıza izni verilebiliyor mu? Rıza izinleri 1-6 ve ek olarak 7-9 gibi ayrı gruplar halinde mi sunuluyor; bu izinler ayrı ayrı mı gönderilmeli? \n \n Hesap ve kart izinleri alınmak isteniyor ise aynı anda hesap rıza isteÄi verilmelidir. YÃS olarak sadece hesap ya da kart hizmeti de sunabilirsiniz. \n \n 63) Hesaba rıza verilip karta verilmediÄi durumda HHS rolünde rıza altında tüm kartlar görüntülenecek midir? \n \n Hayır, sadece hesap için izin türleri iletildi ise HHS tarafından sadece hesaplar listelenmelidir. YÃS üzerinden iletilen izin türleri kapsamında hesaplar listelemelidir. \n \n 64) Hesap bilgisi güncelleme akıÅında, daha önce hesap rızası vermiÅ bir müÅteri aynı iÅlem sırasında kartlara da rıza verebilir mi? \n \n Evet, belirttiÄiniz Åekilde yapılabilmektedir. Ancak müÅteriye mevcut rızadaki bilgiler default gösterilmeli; müÅteri istediÄi kartları da ekleyebilmelidir. \n \n 65) Hem Hesap İzni Hem de kart iznini veren bir kullanıcı kart özelinde iznini kaldırdıÄında / yenilediÄinde hesap izni de kaldırılacak mı? Yoksa hesap izni devam edecek mi? \n \n Hesaplar ve kartlar için tek hesap bilgi rızası üzerinden izin verilmektedir. Kullanıcı sadece kartlara iznini kaldırır, hesap için devam etmesini istiyor ise hesap izinleri devam edecektir. \n \n 66) Kart numarasının deÄiÅtiÄi durumda (Kayıp/Ãalıntı sebebiyle A kartının B kart numarasına döndüÄü durum) müÅterinin kartına verdiÄi rıza devam etmeli mi? \n \n Kart ref ID deÄiÅmediÄi sürece mevcut rıza devam etmelidir. \n \n 67) Talimat Durumu statüleri servisten mi dönmektedir, diÄer HHSâlerden bu bilgi alınacak mıdır? \n \n İTÃ'de ödeme durumu yer almaktadır. DTÃ'de de ödeme planı içerisinde ödeme durumu yer almaktadır. API dokümanını inceleyebilirsiniz. \n \n 68) Kart Detay servisindeki kalanToplamTaksitTutari parametresi için kredi kartı mevcut yapımızda YP (yabancı para) iÅlemlerde taksitli iÅlem bulunmadıÄı durumda ilgili alanda dönülmesi gereken bilgi nedir? \n \n YP'de taksit çözümünün olmaması durumunda bu alanın 0 olarak dönmesi beklenecektir. \n \n 69) Düzenli tekrarlı ödemelerde ödeme planı içerisinde bulunan herhangi bir tekil ödeme, düzenli ödeme rızasından baÄımsız Åekilde düzenlenebilecek midir? \n \n HHS'ler ödeme planında güncelleme yapılabilir; güncelleme yapıldıÄı bilgisi olay bildirimi ile YÃSâe iletilmelidir. \n \n 70) Kart hareketleri raporunda âDönem Taksit Tutarıâ ifadesi, ilgili döneme giren taksitli iÅlemlerin toplamını mı ifade etmektedir? \n \n İlgili dönem deÄeri içerisindeki toplam taksit tutar bilgisi iletilmelidir. \n \n 71. Kart durumu \"Pasif\" olacak kartlar için hangi durumları dahil etmeliyiz? Blokeli olan ve geçici kapalı olan kartlar da \"pasif\" olarak mı deÄerlendirilmelidir? \n \n Tekrar aktif/açık hale gelme ihtimali olan kartlar pasif kart olarak deÄerlendirilmelidir. \n \n 72) Düzenli Ãdeme Emri için YÃS ekranından kullanıcıdan hangi bilgiler alınmalıdır? Tutar, tarih veya transfer sıklıÄı (Haftalık/Aylık) seçilecek midir? Yoksa tüm bilgiler HHS üzerinden mi YÃS'lere gelecek? \n \n Talimat tutarı dahil talimata dair tüm bilgiler HHS ekranlarından alınacak olup, HHS ekranlarından güncelleme yapılabilecektir. \n \n"},{title:"ÃDEME HİZMETLERİ VERİ PAYLAÅIM SERVİSLERİ (ÃHVPS) UYUM TARİHLERİ",frontmatter:{},regularPath:"/uyum-tarihleri.html",relativePath:"uyum-tarihleri.md",key:"v-81b8a67a",path:"/uyum-tarihleri.html",content:" ÃDEME HİZMETLERİ VERİ PAYLAÅIM SERVİSLERİ (ÃHVPS) UYUM TARİHLERİ \n Hesap Hizmeti SaÄlayıcılar ve Yetkili Ãdeme Hizmeti SaÄlayıcıların ÃHVPS standartlarına uyumu için tarihler, Ãdeme Hizmetleri ve Elektronik Para İhracı ile Ãdeme Hizmeti SaÄlayıcıları Hakkında Yönetmelik ile
16Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri İle Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄâde belirlenmiÅtir. \n YönetmeliÄin 59 uncu maddesinin beÅinci fıkrasında belirlenen yükümlülükler, nezdinde ödeme hesabı bulunduran ve bu hesaplar için müÅterilerine doÄrudan çevrim içi eriÅim imkânı saÄlayan hesap hizmeti saÄlayıcılarından \n \n Fonların Anlık ve Sürekli Transferi (FAST) Sistemine katılımcı olan ödeme hizmeti saÄlayıcıları ile \n FAST Sistemine katılımcı olmayan kuruluÅlardan her yıl ayrıca hesaplanmak üzere ödeme hacmi bakımından ilk on arasında yer alanlar\niçin geçerlidir. \n \n Kapsamda yer alan Hesap Hizmeti SaÄlayıcılar için Yönetmelik ve TebliÄde ÃHVPS uyum tarihleri aÅaÄıdaki Åekilde belirlenmiÅtir: \n \n \n FAST Sistemine katılımcı olmayan ödeme hizmeti saÄlayıcılarının, katılımcı olmaları halinde, katılımcı oldukları tarihten itibaren 6 ay içerisinde teknik sertifikasyonlarını baÅarıyla tamamlayarak GEÃİTâe baÄlantı saÄlamaları gerekmektedir (HHSâleri ilgilendirmektedir.). \n \n \n FAST Sistemine katılımcı olmayan ödeme ve elektronik para kuruluÅlarından her yıl ayrıca hesaplanmak üzere bir önceki takvim yılında gerçekleÅen iÅlemlere göre ödeme hacmi bakımından ilk on arasında yer alan ve; \n â¢\t Nezdinde bulunan ödeme hesapları için müÅterilerine doÄrudan çevrim içi eriÅim imkânı saÄlayan kuruluÅların, içinde bulunulan yılın sonuna kadar teknik sertifikasyonlarını baÅarıyla tamamlayarak GEÃİTâe baÄlantı saÄlamaları gerekmektedir (HHSâleri ilgilendirmektedir.). \n â¢\tNezdinde bulunan ödeme hesapları için müÅterilerine doÄrudan çevrim içi eriÅim imkânı saÄlamayan kuruluÅların ise, içinde bulunulan yıl sonuna kadar çevrim içi eriÅim imkânı saÄlamaları halinde çevrim içi eriÅim imkânı saÄladıkları tarihten itibaren 6 ay içerisinde teknik sertifikasyonlarını baÅarıyla tamamlayarak GEÃİTâe baÄlantı saÄlamaları gerekmektedir (HHSâleri ilgilendirmektedir.). \n \n \n Yönetmelik ve TebliÄde yapılan 28 Mart 2025 tarihli deÄiÅiklik itibarıyla; \n â¢\tFAST Sistemine katılımcı olan ödeme hizmeti saÄlayıcılarının 31 Aralık 2025 tarihine kadar teknik sertifikasyonlarını baÅarıyla tamamlayarak GEÃİTâe baÄlantı saÄlamaları gerekmektedir (HHSâleri ilgilendirmektedir.). \n â¢\tFAST Sistemine katılımcı olmayan ve 2024 takvim yılı ödeme hacmi bakımından ilk on arasında yer alan kuruluÅlardan; \n \n \n Nezdinde bulunan ödeme hesapları için müÅterilerine doÄrudan çevrim içi eriÅim imkânı saÄlayanların 31 Aralık 2025 tarihine kadar teknik sertifikasyonlarını baÅarıyla tamamlayarak GEÃİTâe baÄlantı saÄlamaları gerekmektedir (HHSâleri ilgilendirmektedir.). \n \n \n Nezdinde bulunan ödeme hesapları için müÅterilerine doÄrudan çevrim içi eriÅim imkânı saÄlamayanların 2025 yılı sonuna kadar çevrim içi eriÅim imkânı saÄlamaları halinde çevrim içi eriÅim imkânı saÄladıkları tarihten itibaren 6 ay içerisinde teknik sertifikasyonlarını baÅarıyla tamamlayarak GEÃİTâe baÄlantı saÄlamaları gerekmektedir (HHSâleri ilgilendirmektedir.). \n \n \n FAST Sistemine katılımcı olmayan ve 2024 takvim yılı ödeme hacmi bakımından ilk 10 arasında yer alan kuruluÅlar aÅaÄıdaki gibidir: \n \n \n \n KuruluÅ Kod \n KuruluÅ Unvan \n \n \n \n \n 0855 \n Elekse Elektronik Para ve Ãdeme KuruluÅu A.Å. \n \n \n 0853 \n UPT Ãdeme Hizmetleri ve Elektronik Para A.Å. \n \n \n 0850 \n BPN Ãdeme ve Elektronik Para Hizmetleri A.Å. \n \n \n 0830 \n D Ãdeme Elektronik Para ve Ãdeme Hizmetleri A.Å. \n \n \n 0852 \n N Kolay Ãdeme ve Elektronik Para KuruluÅu A.Å. \n \n \n 0863 \n Paytr Ãdeme ve Elektronik Para KuruluÅu A.Å. \n \n \n \n \n \n \n \n 6493 Sayılı Kanunâun Geçici 3 üncü maddesinin üçüncü fıkrası uyarınca TCMBâye faaliyet izni baÅvurusunda bulunmuÅ olup faaliyet izni süreci devam edenler ile TCMBâden faaliyet izni almıŠolan KuruluÅlara teknik gereklilikleri belirlenmiÅ veri paylaÅım hizmetleri, standart olmayan servislerle 30 Haziran 2024 tarihine kadar sunulabilir. (HHSâleri ilgilendirmektedir.) \n \n \n 6493 Sayılı Kanunâun Geçici 3 üncü maddesinin üçüncü fıkrası uyarınca TCMBâye faaliyet izni baÅvurusunda bulunmuÅ olup faaliyet izni deÄerlendirme süreci devam edenler, teknik gereklilikleri belirlenmiÅ veri paylaÅım hizmetlerini, 30 Haziran 2024 tarihine kadar standart olmayan servisleri kullanarak verebilir. (YÃSâleri ilgilendirmektedir.) \n \n \n 5411 sayılı Kanun kapsamındaki bankalar ile teknik gereklilikleri belirlenmiÅ veri paylaÅım hizmetlerini sunmak üzere TCMBâden izin almıŠolan kuruluÅlar (YÃSâler), TCMB Ãdeme Sistemlerinde 2020 yılı içerisinde gerçekleÅtirilen hesaba ödeme iÅlemleri açısından, toplam adedine göre ilk on katılımcı arasında yer almayan ödeme hizmeti saÄlayıcıları nezdinde bulunan ödeme hesapları ile ilgili olarak, teknik gereklilikleri belirlenmiÅ veri paylaÅım servisleri hizmetlerini 30 Haziran 2024 tarihine kadar standart olmayan servisleri kullanarak verebilir. (YÃSâleri ilgilendirmektedir.) \n \n \n Teknik gereklilikleri henüz belirlenmemiÅ veri paylaÅım servisi hizmetleri, gereklilikler belirleninceye kadar standart olmayan servisler kullanılarak verilmeye devam edilir. Banka tarafından teknik ve operasyonel gerekliliklerin belirlenmesinin ardından bu hizmetler için de en geç bir yıl içerisinde uyum saÄlanarak, hizmetler söz konusu gerekliliklere uygun olarak yürütülmeye baÅlanır. \n \n \n Referanslar: \n 6493 Sayılı Ãdeme ve Menkul Kıymet Mutabakat Sistemleri, Ãdeme Hizmetleri ve Elektronik Para KuruluÅları Hakkında Kanun \
16n Ãdeme Hizmetleri ve Elektronik Para İhracı ile Ãdeme Hizmeti SaÄlayıcıları Hakkında Yönetmelik \n Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri İle Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄ \n"},{title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",frontmatter:{},regularPath:"/v1.0.1/contents/ekler.html",relativePath:"v1.0.1/contents/ekler.md",key:"v-48317b86",path:"/v1.0.1/contents/ekler.html",headers:[{level:2,title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",slug:"ek-1-istek-cevap-mesajlarında-kullanılacak-nesne-yapıları"},{level:2,title:"EK-2: Sıralı Veri Türleri",slug:"ek-2-sıralı-veri-turleri"},{level:2,title:"EK-3: İstemci Sertifikalarının Tanım ve Yönetimi",slug:"ek-3-istemci-sertifikalarının-tanım-ve-yonetimi"},{level:2,title:"EK-4: Sunucu Sertifikaları",slug:"ek-4-sunucu-sertifikaları"},{level:2,title:"EK-5: Mesaj İmzalama AkıÅı",slug:"ek-5-mesaj-imzalama-akısı"},{level:3,title:"İmzalama Kuralları (YÃS)",slug:"imzalama-kuralları-yos"},{level:2,title:"EK-6: HHS/YÃS API Mimarisi",slug:"ek-6-hhs-yos-api-mimarisi"}],content:' EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları \n Açık Bankacılık simülatör uygulaması üzerinde swagger dökümanlarının güncel sürümlerine eriÅim saÄlanabilir. \n EK-2: Sıralı Veri Türleri \n \n \n \n Kod \n Açıklama \n \n \n \n \n TR.OHVPS.DataCode.KimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) Y , YKN , N11 P , PNO , AN7..9 \n \n \n TR.OHVPS.DataCode.KurumKimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) V , VKN , N10 \n \n \n TR.OHVPS.DataCode.OhkTur \n Kod: B: Bireysel K: Kurumsal \n \n \n TR.OHVPS.DataCode.KolasTur \n MüÅterinin sorgulama istediÄi Kolay Adres Tipi deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır: T: Telefon Numarası E: E-Posta K: TCKN V: VKN Y: YKN P: Pasaport Numarası \n \n \n TR.OHVPS.DataCode.KareKodAksTur \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. 01: FAST katılımcısından dinamik doÄrulamalı hizmet alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulamalı iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n TR.OHVPS.DataCode.OdemeKaynak \n I: İnternet bankacılıÄından gönderilen ödemelerde kullanılır. A: Otomatik para makineleri (ATM) ile gönderilen ödemelerde kullanılır. T: Telefon bankacılıÄı ile gönderilen ödemelerde kullanılır. K: Kiosklar aracılıÄıyla gönderilen ödemelerde kullanılır. S: Åubeden girilen ödemelerde kullanılır. M: Mobil uygulamadan gönderilen ödemelerde kullanılır. D: Yukarıdakiler dıÅındaki ödeme kaynaklarından gönderilen ödemelerde kullanılır. O: Açık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır. \n \n \n TR.OHVPS.DataCode.OdemeAmaci \n Ãdemenin Amacına yönelik olarak aÅaÄıdaki deÄerlerden birini alır: 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aidat ödemesi \n \n \n TR.OHVPS.DataCode.OdemeDurumu \n Ãdemenin durumunu gösterir. AlabileceÄi deÄerler: 01: GerçekleÅti (Ãdeme ilgili ödeme sistemine iletildi ve alıcı hesabına ulaÅtı.) 02: Gönderildi (Ãdeme ilgili ödeme sistemine iletildi ancak alıcı hesabına ulaÅtıÄına dair teyit alınmadı.)İÅlemin son durumunun teyidi için YÃS sorgulama yapmalıdır. 03- GerçekleÅmedi (Ãdemenin ilgili ödeme sistemine iÅletiminde veya iÅlenmesi sırasında hata, zaman aÅımı, sistemin gün sonu iÅlemlerine baÅlaması vb. durum oluÅtu ve ödeme gereçeklemedi veya iade edildi.) 04- Onayda bekliyor (Ãdeme emri alındı. Ãoklu onay akıÅının tamamlanması bekleniyor.) 05- İÅleme Alındı ( Ãdeme emri alındı. ) YÃS tarafından müÅteriye gösterilmeyen bir koddur. Bu kod dönüldüÄünde YÃS uygulamasında ÃHKâya ödeme durumu 02-Gönderildi olarak gösterilir. İÅlemin son durumunun teyidi için YÃS sorgulama yapmalıdır. \n \n \n TR.OHVPS.DataCode.IslemAmaci \n Ãdemenin Amacına yönelik olarak aÅaÄıdaki deÄerlerden birini alır: 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aid
16at ödemesi 12: DiÄer \n \n \n TR.OHVPS.DataCode.RizaDurumu \n B: Yetki Bekleniyor Y: Yetkilendirildi K: Yetki Kullanıldı E: Yetki Ãdeme Emrine DönüÅtü S: Yetki Sonlandırıldı I :Yetki Iptal \n \n \n TR.OHVPS.DataCode.GkdTur \n GKD yapılmasını gerekli bulduÄu durumda HHS, YÃSâün belirlediÄi yöntemi dikkate alarak kendi belirlediÄi GKD yöntemini bildirir: Y: Yönlendirmeli GKD A: Ayrık GKD \n \n \n TR.OHVPS.DataCode.RizaTip \n H: Hesap Bilgisi Rızası O: Ãdeme Emri Rızası \n \n \n TR.OHVPS.DataCode.IzinTur \n 01: Temel Hesap Bilgisi 02: Ayrıntılı Hesap Bilgisi 03: Bakiye Bilgisi 04: Temel İÅlem (Hesap Hareketleri) Bilgisi 05: Ayrıntılı İÅlem Bilgisi \n \n \n TR.OHVPS.DataCode.OdemeSistemi \n İÅlemin yönlendirildiÄi Ãdeme Sistemine göre aÅaÄıdaki deÄerlerden birini alabilir: H: Havale F: FAST E: EFT (PÃS) deÄerlerinden birini alabilir. \n \n \n TR.OHVPS.DataCode.IslemTuru \n Hesap hareketleri (iÅlemler) sorgusunda dönülen İÅlem Türü (islTur) parametresi aÅaÄıdaki deÄerlerden birini alabilir: HAVALE EFT FAST PARA_YATIRMA PARA_CEKME YABANCI_PARA_HAVALE YATIRIM_HESABINA_AKTARIM YATIRIM_HESABINDAN_AKTARIM KURUM_FATURA_ODEMESI CEK SENET SIGORTA_ODEMESI UCRET_KOMISYON_FAIZ SGK_ODEMESI VERGI_ODEMESI DOVIZ_ALIM DOVIZ_SATIM KREDI_ODEMESI KREDI_KULLANIM KK_ODEMESI KK_NAKIT_AVANS SANS_OYUNU UYE_ISYERI_ISLEMLERI HGS_OGS_ISLEMLERI DOGRUDAN_BORCLANDIRMA_SISTEMI DIGER \n \n \n TR.OHVPS.DataCode.HspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.KolasHspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.HspTip \n Hesap çeÅidini belirtir: VADESIZ VADELI KREDILI MEVDUAT HESABI POS CEK YATIRIM \n \n \n TR.OHVPS.DataCode.HspDrm \n Hesabın durumunu belirtir: AKTIF PASIF KAPALI \n \n \n TR.OHVPS.DataCode.YetTip \n AlabileceÄi deÄerlere göre hangi belirtecin döneceÄine karar verilir. yet_kod yenileme_belirteci \n \n \n TR.OHVPS.DataCode.BrcAlc \n İÅlemin hesabı borçlandırdıÄı ya da alacaklandırdıÄı bilgisidir. B : Borç A : Alacak \n \n \n TR.OHVPS.DataCode.RizaIptDtyKod \n â01â :Yeni Rıza Talebi ile İptal â02â :Kullanıcı İsteÄi ile HHS üzerinden İptal â03â :Kullanıcı İsteÄi ile YÃS üzerinden İptal â04â :Süre AÅımı : Yetki Bekleniyor â05â :Süre AÅımı : Yetkilendirildi â06â :Süre AÅımı : Yetki Ãdemeye DönüÅmedi â07â :GKD iptali : Aynı rıza no ile mükerrer çaÄrımı â08â :GKD iptali : Rızano ile TCKN uyuÅmaması â09â :GKD iptali : Uygun ürünü bulunmuyor â10â :GKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı â11â :GKD iptali : Hesap Yetki Sorunu â12â :GKD iptali : ÃHK HHS müÅterisi deÄil â13â :GKD iptali : ÃHK HHS kontrollerini aÅamadı â14â :GKD iptali : BaÅarısız GKD â15â :GKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi â16â :GKD iptali : DiÄer \n \n \n TR.OHVPS.DataCode.PSUInitiated \n âEâ : Evet âHâ : Hayır \n \n \n TR.OHVPS.DataCode.HHSYOSSrlmKrtr \n âkodâ : Kod,âunvâ : Unvan \n \n \n TR.OHVPS.DataCode. SrlmYon \n âAâ: Azalan deÄerle sıralama âYâ: Artan deÄerle sıralama \n EK-3: İstemci Sertifikalarının Tanım ve Yönetimi \n YÃS rolü ile gelen katılımcılar BKM API Geçidi eriÅimlerini kendileri ile BKM tarafından önden paylaÅılacak olan istemci sertifikalarını kullanarak saÄlayacaklardır. \n Bu sertifikalar BKM bünyesinde oluÅturulacak ve eriÅimde bulunacak olan kuruma özel olarak hazırlanacaktır. Hazırlanan istemci sertifikaları güvenli FTP veya e-posta aracılıÄı ile önden ilgili kiÅiler ile paylaÅılacaktır. \n Sertifika doÄrulama iÅlemi API Geçidi üzerinde yapılacak olup, istemci tarafında web isteÄinin ilgili sertifika ile iliÅkilendirilerek oluÅturulması gerekecektir. \n Uzun dönemli olarak hazırlanacak olan sertifikalar test, sertifikasyon ve üretim ortamlarında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi bu aÅamalarda sınanacaktır. \n BKM API Geçidi çözümünün test ve üretim ortamları ayrımında istemci sertifikaları, HHS Listeleme API eriÅimleri ve Sertifikasyon baÄlantıları Åekil 15-HHS/YÃS API Mimarisi Diagramında resmedilmiÅtir. \n OpenSSL ile CSR (Certificate Signing Request) OluÅturma \nAÅaÄıdaki komut ile 2048-bit RSA private key ve CSR oluÅturulur. \nopenssl req -new -newkey rsa:2048 -nodes -keyout PRIVATEKEY.key -out CSR.csr \n CSR ile ilgili detay bilgilerin giriÅinde; \nOrganization Unit Name (OU) olarak BKM tarafından size iletilen clientId deÄeri, \nCommon Name (CN) olarak 4 karakterli yosKod deÄeri, \nDiÄer alanlar için de kurum bilgilerinize göre giriÅ yapılır. \n Tüm bilgilerin girilmesinden sonra CSR dosyası imzalanmak üzere BKM ye iletilir. \n EK-4: Sunucu Sertifikaları \n Sunucu sertifikalarının endpoint bilgisini (Fqdn) içerecek ve global bir Certification Authority tarafından imzalanmıŠolarak sunulması gerekmektedir.\nÃrneÄin; entegrasyon formu içerinde yer alan URL bilgisinin (test.xbank.com.tr) sertifika içerisinde tanımlı olması ve bu sertifikanın global bir CA örneÄin Verisign tarafından imzalanmıŠolarak sunulması gerekmektedir. \n EK-5: Mesaj İmzalama AkıÅı \n Dijital imzalama yapısı,
16ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini saÄlamak amacıyla kurgulanmıÅtır.\nBu kapsamda imzalama akıÅı aÅaÄıdaki gibi olmalıdır: \n \n HHS ya da YÃS öncelikle özel ve açık anahtarlarını oluÅturmalıdır. Bu anahtarları oluÅturmak için aÅaÄıda âopensslâ kullanılarak oluÅturma örneÄi paylaÅılmıÅtır. Bu anahtarlardan özel olan anahtar mesajı imzalamak için kullanılacak olup, açık anahtar ise mesajı doÄrulamak amacıyla mesajın alıcısı tarafından kullanılacaktır. \n \n private_key.pem ve public_key.pem dosyasinin içerikleri kod tarafında kullanılacaktır. \n --private.pem => Ãzel anahtarın ismi\nopenssl genrsa -out private.pem 2048 \n --public_key.pem => Açık anahtarın ismi\nopenssl rsa -in private.pem -pubout -outform PEM -out public_key.pem \n --private_key.pem => Ãzel anahtarın PCKS8 formatına çevrilmesi (Java açısından PCKS8 formatında olma ihtiyacı nedeniyle) openssl pkcs8 -topk8 -inform PEM -in private.pem -out private_key.pem -nocrypt \n \n \n Açık ve Ãzel anahtarlar oluÅturulduktan sonra Açık Anahtar BKM ile paylaÅılır. BKM bu açık anahtarı diÄer katılımcıların ulaÅabilmesi ve alabilmesi için bir Anahtar Deposu yaklaÅımı ile bünyesinde tutar. İlgili anahtarı iletebilmek ve alabilmek için kullanılacak HHS/YOS API ye eriÅim detayları EK-6 bölümünde detaylı olarak paylaÅılmıÅtır. EÄer kurumun ilgili anahtar çiftinin yenilenme durumu söz konusu ise yenilemenin hemen ardından açık anahtar yeni bir imzalama yapılmadan önce mutlaka BKM ile paylaÅılmalıdır. \n \n \n İmzalı mesajı açacak olan kurum mesajı imzalayan kurumun açık anahtarını her sorguda yeniden almak durumunda deÄildir. Belirli periyodlarda kendi ortamındaki anahtarı yenileyerek sistemi iÅletebilir. Ancak imzalayan kurum anahtar çifti yenilemesi yaptıÄında BKM ile açık anahtarını paylaÅsa dahi imzalı mesajı doÄrulayacak taraf eski açık anahtar ile doÄrulama yapmaya çalıÅtıÄı için hata alacaktır. Bu ilk hata durumunda hızlıca BKM üzerinden yeni anahtarı alıp mesajı tekrar doÄrulamayı denemelidir. EÄer yine hata alıyor ise doÄrulama iÅlemini hata statüsüne almalıdır. Bu sebeple anahtar yenileyen kurum yeni açık anahtarını yeni bir mesaj imzalama yapmadan önce mutlaka BKM ile paylaÅmalıdır. \n İmzalama Kuralları (YÃS) \n Bir YÃS üzerinden baÅlayan akıŠörnek olarak paylaÅılmıÅtır. \n \n \n YÃS, mesaj imzalama gerektiren her API isteÄinin HTTP gövdesini (request body) kendi özel anahtarı ile Åifreleyerek imza bilgisini oluÅturur. \n \n \n Ardından bu imza verisini, göndereceÄi mesajın istek baÅlıÄında yer alan X-JWS-Signature alanında göndermelidir. \n \n \n X-JWS-Signature alanında gönderilecek olan bilgi aÅaÄıdaki yöntem ile oluÅturulmalıdır. \n \n \n Bu alana yazılacak olan bilgi JWT formatında oluÅturulmalıdır. \n \n \n Bir JWT, header-payload-signature alanlarından oluÅmaktadır. \n \n Header alanında JWTâyi imzalamak için kullanılacak algoritma belirtilmelidir. Standartlar kapsamında RS256 kullanılacaktır. \n Payload kısmında özel olarak oluÅturulacak olan âbodyâ claim alanına istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı yazılmalıdır. \n JSON payload oluÅturulurken RFC 7519 baz alınmalıdır. "iss" (Issuer) Claim, "exp" (Expiration Time) Claim, "iat" (Issued At) Claim, âbodyâ Claim alanlarının gönderilmesi zorunludur. ^RFC7519 \na.\t"iss" (Issuer) Claim : Kurumunuza özel bilgidir. \nb.\t"exp" (Expiration Time) Claim: Saniye cinsinden (Unix time) imzanın son geçerli olduÄu tarih. \nc.\t"iat" (Issued At) Claim : Saniye cinsinden (Unix time) imzanın oluÅturulduÄu tarih \nd.\tâbodyâ Claim : istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı. \n Signature alanında da özel anahtar ile imzalanmıŠolan imza içeriÄi yer alacaktır. \n \n X-JWS-Signature: JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. \n Ãrnek X-JWS-Signature Payload DeÄeri \n { \n"iss": "https://apigw.bkm.com.tr", \n"exp": 1646832405, \n"iat": 1646746005, \n"body": "c543072f97a761a1d891dc81acc380bc1e6f61ca6541bd93ebfdece338457922" \n} \n \n \n \n \n YÃS, isteÄi gönderir. Sadece mesajın bütünlüÄünü ve doÄruluÄunu teyit amacı ile istek gövdesi (request body) SHA256 hash deÄeri imzalanarak X-JWS-Signature alanında bu imza iletilir. İsteÄin gövde (request body) kısmı açık ve Åifresiz olarak gönderilmektedir. \n \n \n HHS, isteÄi alır, talebi gerçekleÅtirmeden önce aldıÄı API isteklerinin imzasını doÄrulamalıdır. X-JWS-Signature alanındaki JWT aÅaÄıdaki adımlarla doÄrulanmalıdır. \n \n Header kısmındaki algoritmanin RS256 olduÄu kontrol edilir. \n Gönderen kurumun açık anahtarı ile JWT verify (doÄrulama) iÅlemi yapılır. \n Yukarıdaki iÅlemlerin doÄruluÄunun ardından JWTânin payload kısmındaki âbodyâ claim alanındaki bilginin, isteÄin gövde verisinin SHA256 hash deÄerlerinin aynı olduÄu kontrol edilir. \n \n \n \n Yukarıdaki iÅlemler ile doÄruluÄu teyit edilmiÅ olan isteÄin talebi gerçekleÅtirir. \n \n \n EÄer istek doÄrulanamıyor ise gönderen kurumun açık ve özel anahtar çifti yenilenmiÅ olabilir. \n \n \n BKM HHS API üzerinden ilgili kurumun bilgilerini (kurum ko
16du vs) kullanarak kurumun detay bilgileri çeker ve kendi ortamında yeniler. \n \n \n Ardından imzayı tekrar açık anahtar ile doÄrulayarak kontroller gerçekleÅtirilir. (EÄer halen doÄrulama iÅlemi baÅarısız ise bu istek için hata akıÅı çalıÅtırılır. TR.OHVPS.Resource.InvalidSignature kodu ile hata üretilebilir.) \n \n \n İmza bilgisinin beklendiÄi (x-jws-signature) servislerde, bu bilginin iletilmediÄi durumlarda TR.OHVPS.Resource.MissingSignature hatası üretilebilir. \n \n \n HHS isteÄi iÅledikten sonra cevabı oluÅtururken de yukarıdaki akıÅlar ile göndereceÄi cevabı imzalamalıdır. \n EK-6: HHS/YÃS API Mimarisi \n HHS/YÃS API Uygulama Mimarisinde Test ve Ãretim ortamlarında aÅaÄıdaki alanda yer almaktadır. \n \n Åekil 15: HHS/YÃS API Mimarisi \n'},{title:"POST /erisim-belirteci",frontmatter:{},regularPath:"/v1.0.1/contents/erisim-belirteci.html",relativePath:"v1.0.1/contents/erisim-belirteci.md",key:"v-23bd824f",path:"/v1.0.1/contents/erisim-belirteci.html",content:' POST /erisim-belirteci \n İSTEK: \n YÃS erisim-belirteci eriÅim adresini 2 amaçla kullanır: \n \n \n Bir önceki adımdan aldıÄı rizaNo, rizaTip (ödeme emri baÅlatma hizmetinde âOâ, hesap bilgisi hizmetinde âHâ) ve GKD sonrası dönülen yetKod bilgilerini kullanarak HHS nezdinde ErisimBelirteci nesnesi oluÅturmak üzere istekte bulunur. YÃSâün istekte bulunabilmesi için GKD adımının baÅarılı bir Åekilde tamamlanması rizaDrm bilgisinin âyetkilendirildiâ olması gerekir. EriÅim Belirteci nesnesi ile rızası nesnesi (Ãdeme Emri Rızası veya Hesap Bilgisi Rızası) arasındaki iliÅki rıza numarası üzerinden saÄlanır. \n \n \n AldıÄı eriÅim belirtecinin Geçerlilik Süresinin dolduÄu durumda, yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alması gerekmektedir. \n \n \n POST /erisim-belirteci isteÄinin (REQUEST) gövdesinde (BODY) âErisimBelirteciIstegiâ nesnesi (Tablo-23) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âErisimBelirteciâ nesnesi (Tablo 24) oluÅturulur veya (Yenileme Belirteci için) güncellenir. Rıza durumu âYetki Kullanıldıâ olarak güncellenir. \n Tablo 23: âErisimBelirteciIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n RızaNo \n rizaNo \n AN1..128 \n Z \n Rıza nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Rıza Tipi \n rizaTip \n AN1 \n Z \n O veya H (TR.OHVPS.DataCode.RizaTip) \n \n \n Yetki Tipi \n yetTip \n AN1..50 \n Z \n âyet_kodâ yada âyenileme_belirteciâ deÄerini alabilir. (TR.OHVPS.DataCode.YetTip) \n \n \n Yetki Kodu \n yetKod \n AN1..255 \n K \n GKD iÅleminden dönen yetkilendirme kodudur. Tek kullanımlık olup, aynı yetKod ile birden fazla token alınamaz. yetKod Parametresinin yaÅam ömrü 5 dakika olmalıdır. yetTip = âyet_kodâ ise zorunludur. \n \n \n Yenilenme Belirteci \n yenilemeBelirteci \n AN1..4096 \n K \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. yetTip = âyenileme_belirteciâ ise kullanımı zorunludur. \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âerisimBelirteciâ nesnesinde (Tablo-19) bulunan eriÅim belirteci deÄeri ödeme emrinin baÅlatılması esnasında kullanılır. \n Tablo 24: "ErisimBelirteci" nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n EriÅim Belirteci \n erisimBelirteci \n AN1..4096 \n Z \n Yetkilendirme Kodu karÅılıÄında HHS tarafından dönülen ve sonraki hesap bilgisi ve ödeme emri servislerine eriÅimde kullanılan bilgidir. \n \n \n Geçerlilik Süresi \n gecerlilikSuresi \n N1..9 \n Z \n EriÅim Belirtecini saniye cinsinden geçerlilik süresidir. EriÅim belirteci geçerli olduÄu son tarih ; Hesap Bilgisi Rızası için 30 gün olmalıdır. EriÅimin Geçerli OlduÄu Son Tarih 30âdan küçük ise bu süre deÄeri ile sınırlıdır. Ãdeme BaÅlatma Rızası için 5 dakika olmalıdır. \n \n \n Yenileme Belirteci \n yenilemeBelirteci \n AN1..4096 \n Z \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. \n \n \n Yenileme Belirteci Geçerlik Süresi \n yenilemeBelirteciGecerlilikSuresi \n N1..9 \n Z \n Yenileme belirtecinin saniye cinsinden geçerlilik süresidir. Yenileme belirtecinin geçerli olduÄu son tarih ; Hesap Bilgisi için EriÅimin Geçerli OlduÄu Son Tarih ile sınırlı olmalıdır. Bu tarih geldiÄi zaman Hesap Bilgisi Rıza Durumunu âYetki Sonlandırıldıâ statüsüne çekilmesi gerekir. Ãdeme BaÅlatma için Rıza OluÅturma Zamanından 15 gün sonrası olmalıdır. 15 gün süresi sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. İleri vadeli iÅlemler bu kapsamda deÄildir. Ãdeme emri 5 dakika içinde gerçekleÅtirilmelidir. GerçekleÅmediÄinde 4.2.8 bölümünde aktarılan rıza statü güncellemesi yapılmalıdır. \n \n \n \n erisim-belirteci erisim noktasından alınan elde edilen erisimBelirteci iliÅkilendiriliÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir.\nYenilenme Belirteci (refreshToken) kullanılarak EriÅim Belirteci (accessToken) alındıÄında, döne
16n yanıttaki Yenileme Belirteci ve Yenileme Belirteci Geçerlik Süresi deÄiÅmez. \n EriÅim Belirteci API çaÄrımı sırasında rıza durumları kontrol edilmelidir. Bu kontrollerin nasıl yapılması gerektiÄi 4-Rıza Durumları bölümünde aktarılmıÅtır. \n'},{title:"7.\tHesap Bilgisi Hizmeti",frontmatter:{},regularPath:"/v1.0.1/contents/hesap-bilgisi-hizmeti.html",relativePath:"v1.0.1/contents/hesap-bilgisi-hizmeti.md",key:"v-5b1695dd",path:"/v1.0.1/contents/hesap-bilgisi-hizmeti.html",headers:[{level:2,title:"Genel Bilgiler",slug:"genel-bilgiler"},{level:2,title:"Hesap Bilgisi Hizmeti İçin EriÅim Adresleri",slug:"hesap-bilgisi-hizmeti-icin-erisim-adresleri"},{level:2,title:"ADIM 0: ÃHK'nın hesap bilgilerine eriÅim için talepte bulunması:",slug:"adim-0-ohk-nın-hesap-bilgilerine-erisim-icin-talepte-bulunması"},{level:2,title:"7.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması",slug:"_7-1-adim-1-hesap-bilgisi-rızasının-hazırlanması"},{level:3,title:"POST /hesap-bilgisi-rizasi",slug:"post-hesap-bilgisi-rizasi"},{level:3,title:"BaÅarılı İstek:",slug:"basarılı-istek"},{level:3,title:"BaÅarılı Yanıt:",slug:"basarılı-yanıt"},{level:2,title:"İzinler",slug:"izinler"},{level:2,title:"7.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi",slug:"_7-2-adim-2-hesap-bilgisi-hizmeti-rızasının-tesisi"},{level:2,title:"7.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması (İsteÄe BaÄlı)",slug:"_7-3-adim-2-1-hesap-bilgisi-rızasının-sorgulanması-istege-baglı"},{level:2,title:"7.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali",slug:"_7-4-adim-2-2-hesap-bilgisi-rızasının-iptali"},{level:2,title:"7.5 ADIM 3: Hesap Bilgilerinin Alınması",slug:"_7-5-adim-3-hesap-bilgilerinin-alınması"},{level:2,title:"7.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması",slug:"_7-6-adim-3-1-ve-3-2-hesap-bilgilerinin-sorgulanması"},{level:2,title:"7.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması",slug:"_7-7-adim-3-3-ve-3-4-hesap-bakiyesinin-sorgulanması"},{level:2,title:"7.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması",slug:"_7-8-adim-3-5-ve-3-6-islemlerin-sorgulanması"},{level:2,title:"7.9\tHealthcheck API",slug:"_7-9healthcheck-api"},{level:3,title:"BaÅarılı Yanıt:",slug:"basarılı-yanıt-2"}],content:" 7.\tHesap Bilgisi Hizmeti \n Genel Bilgiler \n Hesap bilgisi sorgulama için HBHS tarafından müÅteri rızası tesisinin HHS tamamlanmıŠolması gerekir. MüÅteri rızası tesisi tamamlandıktan sonra, HBHS sorgulamak istediÄi hesaba ait verileri ilgili eriÅim adresi üzerinden sorgular. \n \n \n Åekil 10: Hesap Bilgisi Hizmeti Ãst Düzey AkıÅı \n Åekil-10âda sunulan hesap bilgisi hizmeti 5 temel akıÅtan oluÅur: \n 0.\tMüÅterinin hesap bilgilerine eriÅim için talepte bulunması: ÃHK ÃBHS mobil uygulama ya da web sitesinden hesap bilgilerine eriÅim iÅlemini baÅlatır. \n 1.\tHesap Bilgisi müÅteri rızasının hazırlanması: \n HBHS, âhesap bilgilerine eriÅimâ için müÅteri rızası tesisi amacıyla HHSâdeki hesap bilgisi rızası eriÅim adresine bir POST isteÄinde bulunur ve bir hesap bilgisi rızası nesnesi oluÅturur. HHS hesap bilgisi rızası nesnesi için biricik tanımlayacı döner (RızaNo). Hesap bilgisi rızası, müÅterinin HBHSânin hesap bilgilerine eriÅim izin verdiÄi alanları içerir: \n \n İzinler - eriÅim için izin verilen veri kümelerinin listesi. \n EriÅimin Geçerli OlduÄu Son Tarih - HBHS'nin müÅterinin hesap bilgilerine eriÅebileceÄi isteÄe baÄlı seçilebilen son tarih. \n İÅlem Sorgulama BaÅlangıç Zamanı â MüÅteri rızasının tesisinden itibaren geriye dönük olarak HBHSânin hesap bilgilerine eriÅebileceÄi süreyi \n İÅlem Sorgulama BitiÅ Zamanı - MüÅteri rızasının tesisinden itibaren ileriye dönük olarak HBHSânin hesap bilgilerine eriÅebileceÄi süreyi \n \n 2.\tHesap bilgisi hizmeti müÅteri rızasının tesisi: \n HHS, Hesap Bilgisi Rızası servisi ile ÃHK özelinde âYetki bekleniyorâ statüsünde bir rıza nesnesi hazırlar. HHS, GKDânin baÅarıyla tamamlanması sonrasında hesap bilgisi rızası nesnesinin yetkilendirildiÄini belirtmek için Rıza Durumunu âRıza Yetkilendirildiâ olarak günceller. Nesne yetkilendirildikten s
16onra HHS nesne ile bir eriÅim belirteci (access token) iliÅkilendirir, Rıza Durumunu âYetki Kullanıldıâ yapar ve bu belirteci HBHSâye geri döner. Böylece müÅteri rıza tesisi saÄlanmıŠolur. \n Hesap bilgisi için müÅteri rızasına iliÅkin temel ilkeler Åunlardır: \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de Yetki Bekleniyor, Yetkilendirildi, Yetki Kullanıldı statüsünde 1 rızası olabilir. \n MüÅteri rızasının ayrıntıları ÃHK ile HBHS arasında belirlenir. Bu nedenle müÅteri rızasının ayrıntıları HHS ekranında deÄiÅtirilmemelidir. \n ÃHK, hesap eriÅim izni ayrıntılarını yalnızca bir bütün olarak yetkilendirebilir veya geri alabilir. \n MüÅteri rızası tesisi esnasında, müÅteri HHS arayüzünde eriÅim için yetkilendirecek hesapları seçer. \n \n 2.1\tHesap bilgisi rızasının sorgulanması: MüÅteri rızası GET/hesap-bilgisi-rizasi/{RizaNo} çaÄrısı yapılarak sorgulanır. \n 2.2\tHesap bilgisi müÅteri rızasının iptali: MüÅteri rızası DELETE/hesap-bilgisi-rizasi/{RizaNo} çaÄrısı yapılarak iptal edilir. \n 3.\tHesap bilgilerinin alınması: Hesap bilgileri ilgili kaynaÄa (hesaplar, bakiye, iÅlemler) GET isteÄi yapılarak gerçekleÅtirilir. HBHS, müÅteri rızasının tesisinden sonrasında (geçerli bir eriÅim belirticine sahip olduÄunda) öncelikle GET/hesaplar çaÄrısı yapacaktır. \n Hesap Bilgisi Hizmeti İçin EriÅim Adresleri \n Etki Alanı (Scope) =âhesap_bilgisiâ \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n hesap-bilgisi-rizasi \n POST \n /hesap-bilgisi-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n HesapBilgisiRizasiIstegi \n HesapBilgisiRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n POST/erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n \n HesapBilgisiRizasi \n \n \n 2.2 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri \n \n \n \n \n \n \n 3.1 \n hesaplar \n GET \n /hesaplar \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n HesapBilgileri(birden çok hesap) \n \n \n 3.2 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n HesapBilgileri(tek hesap) \n \n \n 3.3 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n BakiyeBilgileri(tek hesap) \n \n \n 3.4 \n bakiye \n GET \n /bakiye \n İ \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n BakiyeBilgileri(birden çok hesap) \n \n \n 3.5 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n IslemBilgileri (tek hesap) \n \n \n \n Tablo 11: Hesap Bilgisi Hizmeti İçin EriÅim Adresleri \n ADIM 0: ÃHK'nın hesap bilgilerine eriÅim için talepte bulunması: \n ÃHK, HBHS uygulamasında (web arayüzü/mobil uygulama) hesap bilgilerine eriÅim için talepte bulunur. \n 7.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması \n Bu API çaÄrısı HBHS'nin HHS'de yeni bir âHesapBilgisiRizasiâ nesnesi oluÅturmasını ve nesneye eriÅmek için benzersiz bir rıza numarası ({RizaNo}) dönülmesini saÄlar. \n API çaÄrısının baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması yeterlidir.\nBaÅarıyla oluÅturulan hesap bilgisi rıza kaynaÄının rıza durumu âYetki Bekleniyorâ olarak düzenlenir.\nÃHK daha önce aldıÄı rızaya iliÅkin eriÅim tarihleri, izin türlerini ve hesap bilgilerini güncellemek isterse, HBHS önce HHS nezdindeki rızayı iptal etmeli ve sonrasında yeni bir rıza talebinde bulunmalıdır.\n \n \n Åekil 11: Hesap Bilgisi MüÅteri Rızasının Hazırlanması \n \n POST /hesap-bilgisi-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âHesapBilgisiRizasıIstegiâ nesnesi (Tablo-12) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âHesapBilgisiRizasiâ (Tablo-13) nesnesi oluÅturulur. \n POST /hesap-bilgisi-rizasi \n BaÅarılı İstek: \n İSTEK: \n HBHS, bu API eriÅim adresinden HHSâye yeni bir HesapBilgisiRizasi oluÅturulması için istekte bulunur: \n \n HBHS, ÃHKânın hesap bilgilerine yönelik rıza baÅlatma isteÄi olduÄunu HHSâye bildirir. \n HBHS, ÃHKânın, HBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların API dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk ve uzunluk kontrollerini y
16apar. (Zorunlu) \n HHS; YÃS API ile alınan HBHS bilgilerinin içerisinde yer alan yönlendirme ve bildirim adresleri ile ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) \n HHS; kimlik bilgileri nesnesinde iletilen kimlik bilgileri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (Zorunlu) \n EriÅimin Geçerli OlduÄu Son Tarih, İÅlem Sorgulama BaÅlangıç Zamanı, İÅlem Sorgulama BitiÅ Zamanı alanları ile ilgili Tablo 12âde belirtilen kontroller yapılmalıdır. (Zorunlu) \n HHS, benzersiz âRizaNoâ ile âHesapBilgisiRizasiâ nesnesi oluÅturur ve HBHSâye döner. \n HHS, HesapBilgisiRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n \n EriÅimin Geçerli OlduÄu Son Tarih, İÅlem Sorgulama BaÅlangıç Zamanı, İÅlem Sorgulama BitiÅ Zamanı alanlarında zaman aralıkları müÅteri deneyimi penceresinden deÄerlendirilerek ay cinsinden belirtilmiÅtir. Bu konuda aÅaÄıdaki gibi oluÅabilecek uç örneklere dikkat edilmesi gerekmektedir. \n Bugün : 31.08.2019 \nBugün + 6 Ay : 29.02.2020 \nBugün : 30.08.2020 \nBugün + 6 Ay : 28.02.2021 \n Tablo 12: âHesapBilgisiRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, HBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. YÃS Yönlendirmeli GKD yöntemi ile akıÅı destekliyorsa, yetYntm deÄiÅkeninden baÄımsız olarak yönlendirme adresini iletmelidir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunludur. YÃS Ayrık GKD yöntemi ile akıÅı destekliyorsa, yetYntm deÄiÅkeninden baÄımsız olarak bildirim adresini iletmelidir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, ayrık GKD sonrası bu alanda belirtilen adrese otorizasyon kodunu (authentication code) iletir. \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n \n Hesap Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n \n >İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih. MüÅteri YÃS ekranından bu deÄeri belirleyebilir. Varsayılan deÄer : Rıza verilen tarih + 6 ay AlabileceÄi maksimum deÄer : Rıza tarihi + 6 ay AlabileceÄi minimum deÄer : Rıza tarihi + 1 gün ÃrneÄin 23/09/202
161âde minimum 24/09/2021 seçilebilir. Bu durumda izin 24/09/2021 23:59:59âda bitecek Åekilde olmalıdır. \n Bu alanda bir deÄer bulunmadıÄı durumda HHS hata dönmelidir. \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geçmiÅe dönük en fazla 12 ay olabilir, daha eski olmaması gerekir. Varsayılan deÄeri rıza verilen tarih (iÅlem zamanı) â 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi - 12 ay Maksimum tarih: Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BaÅlangıç Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geleceÄe dönük en fazla 12 ay sonrası olabilir, daha ileri bir tarih olmaması gerekir. Varsayılan deÄeri: Rıza verilen tarih + 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi â 12 ay Maksimum tarihi : Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. EÄer dolu gönderilirse HHS tarafından uygun hata mesajı iletilmelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BitiÅ Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n BaÅarılı Yanıt: \n Tablo 13: HesapBilgisiRizasi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. Ãrn; hesap bilgi rızasının tesisine dair ilk istek mesajına dönüÅte âB: Yetki Bekleniyorâ deÄerini alması beklenir. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n K \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n HHS, ayrık GKD sonrası bu alanda belirtilen YÃS adresine otorizasyon kodunu (authentication code) iletir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Hesap Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n > İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HBHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi baÅlangıç zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi bitiÅ zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n > Ayrıntı Bilgi \n ayrBlg \n Kompleks: AyrintiBilgi \n İ \n \n \n \n > ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n İzinler \n Bir hesap bilgisi müÅteri rızası kaynaÄı çaÄrısına yanıt olarak döndürülen verileri sınırlamak için izin kodları kullanılır: \n \n Temel Hesap Bilgisi \n Ayrıntılı Hesap Bilgisi \n Bakiye Bilgisi \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n Ayrıntılı İÅlem Bilgisi \n \n ÃHKâya sunulacak seçimler ve kuralları aÅaÄıdaki gibi olmalıdır. \n \n \n \n Seçim \n Kural \n \n \n \n \n Temel Hesap Bilgisi \n ÃHK seçimine sunulmamalıdır. DeÄiÅtirilemez Åekilde seçili gösterilmelidir. \n \n \n Ayrıntılı Hesap Bilgisi \n ÃHK seçim yapabilir. \n \n \n Bakiye Bilgisi \n ÃHK seçim yapabilir. \n \n \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n ÃHK seçim yapabilir. \n \n \n Ayrıntılı İÅlem Bilgisi \n ÃHK seçim yapabilir. Ayrıntılı İÅlem Bilgisi seçimi Temel İÅlem Bilgisi seçimini kapsar. (Ayrıntılı İÅlem bilgisi seçildiÄinde Temel İÅlem Bilgisi de seçili olmalıdır.) \n \n \n \n AÅaÄıdaki durumlarda, izin kombinasyonlarına izin verilmez. HHS, bu hesap eriÅim onaylarını 400 (Hatalı İstek) yanıt koduyla reddetmelidir: \n \n İzin dizisinin herhangi bir izin türü içermemesi durumu, \n İzin dizisinde HHS tarafından desteklenmeyen bir izin kodunun yer alması durumu \n 7.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi \n \n \n Åekil 12: Hesap Bilgisi ÃHK Rızasının Tesisi \n Rıza tesisinin baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması ve ardından müÅterinin HHS tarafından yönlendirmeli veya ayrık GKD ile doÄrulanması gerekir. HHS'de oluÅturulan ve rıza durumu âYetki Bekleniyorâ olan bir hesap bilgisi rızası, G
16KD sonrası âYetkilendirildiâ statüsüne güncellenir. HBHS, eriÅim saÄlayacaÄı hesapları hesap bilgisi rızasının tesisinden önce seçer. \n \n \n Yönlendirmeli doÄrulama akıÅında, HBHS ÃHKâyı HHSâye yönlendirir. \n \n \n HBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n \n \n HHS, ÃHK için GKD sürecini iÅletir. \n ÃHKâyı doÄrularsa, \n \n \n ÃHK HBHS üzerinden iÅlem yapılmasına izin vereceÄi hesap seçimini yapar. HBHS üzerinden ÃHKânın verdiÄi izin bilgilerini ve eriÅim izninin bitiÅ tarihi bilgilerini, HHS bilgilendirme amaçlı ÃHKâya gösterir. \n \n \n HHS hesap bilgisiri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=H&drmKod=zzz\n \n \n \n ÃHKâyı doÄrulayamazsa, \n \n \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I &rizaNo=yy&rizaTip=H&rizaIptDtyKod=11&drmKod=zzz\n \n \n \n \n \n \n \n Ayrık doÄrulama akıÅında, HHS, ÃHKânın hesap bilgisi hizmetini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister. \n \n Ayrık akıŠHBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek hesap bilgisi rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ödeme hizmeti kullanıcısını doÄrular. \n ÃHK verdiÄi izin tipi dahilinde bilgileri paylaÅılacak olan hesapları seçer. \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, hesap bilgisi rızasının durumunu âYetki Kullanıldıâ olarak günceller. Rıza tesisi saÄlanmıŠolur. \n 7.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması (İsteÄe BaÄlı) \n GET /hesap-bilgisi-rizasi/{RizaNo} \n ÃHK, HHS üzerinden rıza iptali yapmıŠolabilir veya ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir. Bu durumlarda HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir HesapBilgisiRizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. \n Servis baÅarılı yanıtında Tablo 13âde belirtilen âHesapBilgisiRizasiâ nesnesini dönmektedir. \n Durum \nHesapBilgisiRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki S
16onlandırıldı \n Yetki İptal \n 7.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali \n \n \n \n Åekil 13: Hesap Bilgisi MüÅteri Rızasının Geri Alınması \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \n DELETE /hesap-bilgisi-rizasi çaÄrısı, bir HBHS'nin önceden oluÅturulmuÅ bir hesap eriÅim rızasını (yetkili olsun veya olmasın) silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, HBHS üzerinden bu rızasını kaldırmak isteyebilir. \nBu API çaÄrısı, müÅterinin HBHS üzerinden hesap bilgisi rızasını iptal etmesine ve HHS nezdindeki hesap bilgisi rızası nesnesinin silinmesini saÄlar. \nMüÅterinin HBHSânin veri eriÅim iznini iptal etmesi durumunda HBHS, HHSâde mevcut olan HesapBilgisiRizasi kaynaÄını pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \nçaÄrısı aracılıÄı ile yerine getirilir. HBHS ayrıca, sisteminden Hesap EriÅim İzni kaynaklarını da temizlemelidir. \nSöz konusu silme iÅlemi, kayıtların statüsünün pasife çekilmesi ile gerçekleÅtirilmelidir. Söz konusu kayıtlar, denetim izlerinin oluÅturulması ve saklanmasına iliÅkin ikincil düzenleme hükümleri kapsamında güvenli Åekilde tutulmalıdır. \nServis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır. \nÃHK rızası baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ olarak güncellenir ve gnclZmn zaman damgası vurularak güncellenir. \nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir: \nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (HBHS) \n 7.5 ADIM 3: Hesap Bilgilerinin Alınması \n \n \n \n Åekil 14: Hesap Bilgilerinin Alınması \n İSTEK: \nMüÅteri rızası tesis edilmiÅ kullanıcı için HBHS API eriÅim adresinden HHSâye eriÅilebilir hesap bilgilerini GET isteÄi ile sorgular: \n \n RizaDurumu âYetki Kullanıldıâ ise iÅleme baÅlanır. RizaDurumu farklı bir deÄerde ise âTR.OHVPS.Resource.ConsentMismatchâ hatasının iletilmesi gerekir. \n GET verisinin modele göre kontrolü yapılır (ÃrneÄin: Alan kontrolleri) \n \n GET verisinin mantıksal kontrolleri yapılır. \n 7.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması \n GET /hesaplar ve GET /hesaplar/{hspRef} \n Bu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bilgilerinin sorgulanır. Hesap bilgisi için daha önce tanımlanmıŠizin türüne göre (Temel Hesap Bilgisi veya Detaylı Hesap Bilgisi) yanıtında dönülen HesapBilgileri nesnesinin içeriÄi deÄiÅir. Tablo 15âte HesapBilgileri nesnesinin içeriÄi verilmiÅtir. \n Hesap Bilgisi Sorgu ÃrneÄi (Tüm Hesaplar) = /hesaplar \nHesap Bilgisi Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef} \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 14: Hesap Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarası \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 15: âHesapBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızası nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Hesap Temel \n hspTml \n Kompleks: HesapTemel \n Z \n Temel Hesap Bilgileri (Temel Hesap Bilgisi varsayılan izin türü olduÄundan Hesap Temel nesnesi zorunlu olarak yanıtta bulunur) \n \n \n > Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. \n \n \n > Hesap Numarası \n hspNo \n AN26 \n K \n EÄer varsa ödeme hesabına ait IBAN bilgisi \n \n \n > Hesap Sahibi Unvanı \n hspShb \n AN3..140 \n Z \n Hesap sahibi ya da hesap sahiplerinin ad-soyadı, ticari unvanı \n \n \n > Åube Adı \n subeAdi \n AN3..50 \n K \n EÄer varsa ödeme hesabının baÄlı olduÄu Åubenin adı \n \n \n > Kısa Ad \n kisaAd \n AN3..50 \n K \n EÄer hesap sahibi hesaba ait bir ad tanımladıysa, tanımlanan hesap adı \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. \n \n \n > Hesap Türü \n hspTur \n AN1 \n Z \n Hesabın türü (bireysel veya ticari). TR.OHVPS.DataCode.HspTur sırali veri deÄerlerinden birini alır. \n \n \n > Hesap Tipi \n hspTip \n AN1..32 \n Z \n Hesabın tipi (VADESİZ, KREDİLİ vb.).TR.OHVPS.DataCode.HspTip sıralı veri deÄerlerinden birini alır. \n \n \n >
16Hesap Ãrün Adı \n hspUrunAdi \n AN1..140 \n İ \n HHS tarafından atanmıŠolan ürün adı bilgisidir. HBHS tarafından ÃHKâya gösterilmesi kullanım kolaylıÄı saÄlayacaktır. \n \n \n > Hesap Durumu \n hspDrm \n AN5..50 \n Z \n Hesabın durumunu belirtir. TR.OHVPS.DataCode.HspDrm sıralı veri türlerinden birini alır. \n \n \n Hesap Detay \n hspDty \n Kompleks: HesapDetay \n K \n Detay Hesap Bilgileri (Temel Hesap Bilgisine ek olarak Detay Hesap Bilgisi izin türü de seçilmiÅse Hesap Detay nesnesi koÅullu olarak yanıtta bulunur) \n \n \n > AçılıŠTarihi \n hspAclsTrh \n ISODateTime \n Z \n Belirtilen hesabın açılıŠtarihi. \n 7.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması \n GET /bakiye ve GET /hesaplar/{hspRef}/bakiye \nBu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bakiyesi sorgulanır. \nİstek çaÄrısına dönülen âBakiyeBilgileriâ nesnesi Tablo 17âde verilmiÅtir. \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /bakiye?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 16: âBakiyeBilgileriâ Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 17: âBakiyeBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. \n \n \n Bakiye \n bky \n Kompleks:Bakiye \n Z \n \n \n \n > Hesap Bakiye Tutarı \n bkyTtr \n N1..18 \n Z \n Hesabın bakiyesi. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir \n \n \n > Blokeli Tutar \n blkTtr \n N1..18 \n K \n Varsa hesapta blokeli tutar bilgisi. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n > Bakiye İletilme Zamanı \n bkyZmn \n ISODateTime \n Z \n Bakiyenin iletildiÄi zaman bilgisi. \n \n \n > KrediliHesap \n krdHsp \n Kompleks: KrediliHesap \n K \n \n \n \n >> Kredili Mevduat Hesabı Bakiyesi \n kulKrdTtr \n N1..18 \n Z \n Kullanılabilir kredili mevduat tutarı. Kredili bir hesap ise zorunlu. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir \n \n \n >> Kredi Dahil Göstergesi \n krdDhlGstr \n AN1 \n Z \n Kredili bir hesap ise zorunlu. Bakiye tutarının kullanılabilir kredi tutarı dahil edilerek ya da edilmeden iletildiÄini gösterir. 0: Kredi tutarı dahil edilmeden bakiye bilgisi iletilmesi durumu 1: Kredi tutarı dahil edilerek bakiye bilgisi iletilmesi durumu \n 7.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması \n GET /hesaplar/{hspRef}/islemler \n Belirli bir hesaba iliÅkin iÅlem bilgileri Tablo 1âdaki istek parametrelerine göre sorgulanır. \nİÅlem bilgisi için daha önce tanımlanmıŠizin türüne göre yanıtta dönen IslemBilgileri nesnesinin (Temel İÅlem Bilgisi veya Temel İÅlem Bilgisi ve Detaylı İÅlem Bilgisi) içeriÄi deÄiÅir. \nİÅlemler servisi hem ÃHKânın talebi ile YÃS uygulaması üzerinden çaÄrılabileceÄi gibi, YÃSâün ÃHKâsız baÅlatabileceÄi otomatik çaÄrıları ile de yanıt dönebilmektedir. \nHHS, iÅlemin sistemsel yapılıp yapılmadıÄını, istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir.\nÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \nYÃS, otomatik yapacaÄı sorgularda; \n \n Bireysel ÃHKâlar için hesap bazında günde en fazla 4 adet sorgulama yapabilir. \n Kurumsal ÃHKâlar için hesap bazında saatte en fazla 12 adet sorgulama yapabilir. \n \n HHS, tutacaÄı sayaç bilgisi ile bu sayıları kontrol ederek daha fazla sorgulama yapılmasına izin vermeyebilir. \n Aynı istek parametreleri ile yapılan sorgu sonucunda dönecek toplam kayıt sayısı 100âü aÅtıÄında, sayfalama yöntemi ile HHSânin cevap dönmesi beklenmektedir. Her bir sayfa için iÅlemler servisi tekrar çaÄrılsa da, bu çaÄrım HHSânin tuttuÄu sayaç deÄerini arttırmaz. HHSânin tutacaÄı sayaçın kontrol parametreleri YÃS kodu, hesap numarası ya da referansı olmalıdır. Sayfa no parametresi varsa ve 1'den büyük ise iÅlem sayacını arttırmamalıdır. \n ÃHKânın YÃS uygulaması üzerinden tetiklediÄi iÅlemlerde ise;\nbireysel ÃHKâlar için en fazla 1 aylık,\nkurumsal ÃHKâlar için ise en fazla 1 haftalık bir pencere aralıÄında sorgulama yapılabilir. \n YÃS, otomatik yapacaÄı sorgularda hem bireysel hem de kurumsal ÃHKâlar için 24 saatlik bir pencere aralıÄında sorgulama yapabilir. \n İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /hes
16aplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-06-02T23:59:59+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A \n Tablo 18: İÅlem Listesi Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin baÅlangıç tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. ÃHK tarafından tetiklenen sorgularda;hesapIslemBslTrh ve hesapIslemBtsTrh arası fark bireysel ÃHKâlar için en fazla 1 ay,kurumsal ÃHKâlar için ise en fazla 1 hafta olabilir. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;son 24 saat sorgulanabilir. Bu yüzden hesapIslemBtsTrh-24 saatâten daha uzun bir aralık sorgulanamaz olmalıdır. İstek baÅlıÄında yer alan PSU-Initiated alanı âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n \n \n İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin bitiÅ tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;İleri vadeli iÅlem emirleri dahil olmadıÄı için; İÅlem Sorgulama BitiÅ Zamanı, her zaman, sorgulama zaman damgasını iletecek Åekilde (datetime (now)) iletilmelidir. \n \n \n En DüÅük İÅlem Tutarı \n minIslTtr \n N1..18 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en düÅük iÅlem tutarı.ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n En Yüksek İÅlem Tutarı \n mksIslTtr \n N1..18 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en yüksek iÅlem tutarı.ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Borç Alacak Göstergesi \n brcAlc \n AN1 \n İ \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Hesaba borç yaratan iÅlem.A: Hesaba alacak yaratan iÅlem.{âBâ,âAâ} \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âislGrckZamanâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini islGrckZaman olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 19: âIslemBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referans Numarası \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. \n \n \n Islemler \n isller \n Kompleks:Islem[Array] \n K \n Hesaba iliÅkin hareketler varsa İÅlemler nesnesi dizisi olarak dönülür. İÅlemler nesnesi Temel İÅlem Bilgileri ve Detay İÅlem Bilgileri nesnesinden meydana gelir. İzin türü varsayılan olarak Temel İÅlem Bilgilerini içerir. Detay İÅlem Bilgileri izin türü de seçildi ise Temel İÅlem Bilgilerine ek olarak Detay İÅlem Bilgileri de gönderilir. \n \n \n > Temel İÅlem Bilgileri \n islTml \n Kompleks:IslemTemel \n Z \n Temel İÅlem Bilgileri varsayılan olarak dönülür. \n \n \n >> İÅlem Numarası \n islNo \n AN3..50 \n Z \n Hesap hareketinin oluÅturulması sırasında atanan ve borç (veya alacak) hareketini tekilleÅtiren HHS bazında tekil tanımlayıcıdır. Bu deÄer tek baÅına tekil olabileceÄi gibi b
16irden fazla deÄerin bir araya getirilmesiyle de tekilliÄi saÄlanmıŠolabilir. Bu deÄerin en azından hesap numarası (hesNo) bazında tekil olması beklenir. Genellikle kullanılan örnekleri; Instance_Id, Transaction_Id, Transaction_Num, Transaction_TimeStamp,dekont numarası \n \n \n >> İÅlem Referans Numarası \n refNo \n AN3..50 \n Z \n İÅlemi uçtan uca tanımlayan tekil tanımlayıcıdır. Borç ve alacak hareketinden oluÅan bir veya birden fazla iÅlemler bütünü için atanmıŠolan ve bu bütünü tekilleÅtiren (bir biri ile iliÅkisini tutan) deÄerdir.Bu deÄer hem YÃSâten gelen deÄer olabilir (ödeme iÅlemlerinde kullanılan kkodRef ya da refBlg alanı) hem de HHS içinde takip edilmek için üretilmiÅ bir deÄer olabilir. HHS sisteminde 2 deÄerin de bulunması durumunda;refNo alanını doldurmak için, HHSânin YÃSâten gelen deÄere öncelik vermesi beklenmektedir. YÃSâten gelen veri örneÄi: SipariÅ Numarası, Fatura Numarası, Karekod Referansı vb. HHSâte üretilen veri örneÄi: Masraflı havale iÅleminde hem havale iÅleminin hem de masraf iÅleminin aynı referans numarasına sahip olması da örnek olarak gösterilebilir. \n \n \n >> İÅlem Tutarı \n islTtr \n N1..18 \n Z \n İÅlem tutarı. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n >> İÅlem GerçekleÅme Zamanı \n islGrckZaman \n ISODateTime \n Z \n İÅlemin gerçekleÅme zamanı. \n \n \n >> İÅlem Kanalı \n kanal \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeKaynak sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Borçlandırma Alacaklandırma Göstergesi \n brcAlc \n AN1 \n Z \n TR.OHVPS.DataCode.BrcAlc sıralı veri türü deÄerlerinden birini alır. İÅlemin hesabı borç ya da alacaklandırdıÄı bilgisidir. \n \n \n >> İÅlem Türü \n islTur \n AN3..50 \n Z \n HHSânin iÅleme ait iliÅkilendirdiÄi iÅlem türü deÄeri. TR.OHVPS.DataCode.IslemTuru sıralı veri türü deÄerlerinden birini alır. \n \n \n >> İÅlem Amacı \n islAmc \n AN2 \n Z \n TR.OHVPS.DataCode.IslemAmaci sırali veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Ãdeme Sistemi No \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. FAST iÅlemleri için MesRefBlg deÄeri atanır. Ãdeme Hizmeti kullancısına iÅlemin takibi için gösterilebilir. \n \n \n > Detay İÅlem Bilgileri \n islDty \n Kompleks: IslemDetay \n K \n Detay İÅlem Bilgileri dizi olarak gönderilmelidir. \n \n \n >> İÅlem Açıklaması \n islAcklm \n AN1..150 \n Z \n HHS tarafından atanan iÅlem açıklaması.HHS kendi iÅlem hareketlerine yansıttıÄı açıklamayı buraya yansıtmalıdır. \n \n \n >> KarÅı Taraf \n krsTrf \n Kompleks: KarsiTaraf \n K \n Kullanımı iÅlem bazında deÄiÅmektedir. Ãrnek: FAST iÅleminde karÅı taraf alıcının bilgileridir. Vergi ödemesinde kurum IBAN bilgisi müÅteriye gösterilemeyebileceÄinden bu alanın boÅ gelmesi HHS insiyatifindedir. \n \n \n >>> KarÅı Maskeli IBAN \n krsMskIBAN \n AN26 \n K \n İlgili hesap hareketinin karÅı tarafının maskeli IBAN bilgisi. \n \n \n >>> KarÅı Maskeli Unvan \n krsMskUnvan \n AN3..140 \n K \n İlgili hesap hareketinin karÅı tarafının maskeli ad-soyad ya da ticari unvan bilgisi. \n 7.9\tHealthcheck API \n GET /health \n HHSâlerin sunacaÄı bu servis, düzenli olarak BKM tarafından çaÄırılarak servislerin ayakta olup olmadıklarının kontrolünün saÄlanması planlanmaktadır \n BaÅarılı yanıtta Http 200 kodu dönülmelidir. \n BaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir \n \n \n \n"},{title:"5.\tGüçlü Kimlik DoÄrulama",frontmatter:{},regularPath:"/v1.0.1/contents/gkd.html",relativePath:"v1.0.1/contents/gkd.md",key:"v-822cf8c6",path:"/v1.0.1/contents/gkd.html",headers:[{level:2,title:"5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama",slug:"_5-1-yonlendirmeli-guclu-kimlik-dogrulama"},{level:2,title:"5.2.\tAyrık Güçlü Kimlik DoÄrulama",slug:"_5-2-ayrık-guclu-kimlik-dogrulama"},{level:2,title:"5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi",slug:"_5-3-yonlendirme-bildirim-adresleri-ve-durum-kodu-parametresi"},{level:2,title:"5.4\tHealthcheck API",slug:"_5-4healthcheck-api"},{level:2,title:"5.5 Güçlü Kimlik DoÄrulama Kontrolleri",slug:"_5-5-guclu-kimlik-dogrulama-kontrolleri"}],content:" 5.\tGüçlü Kimlik DoÄrulama \n MüÅteri için güçlü kimlik doÄrulama, ÃHKânın (müÅterinin) kimliÄinin doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin âbildiÄiâ, âsahip olduÄuâ veya âbiyometrik bir karakteristiÄi olanâ bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntemi tanımlar. \n Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄ uyarınca hesap bilgisi hizmetinde müÅterinin onayının alınması esnasında ve ödeme emri baÅlatma hizmetinde her bir ödeme emri baÅlatma iÅleminde HHS tarafından müÅteriye güÃ
16§lü kimlik doÄrulama (GKD) uygulanması esastır. Buna göre: \n \n \n Hesap bilgisi hizmetinde ÃHKânın onayının alınması esnasında TebliÄin 26 ncı maddesinin 1 inci fıkrası uyarınca HHS tarafından ÃHKâya GKD uygulanır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 2 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanır ve iÅlem doÄrulama kodu ile ÃHKânın onayı alınır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 3 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanmasına iliÅkin istisna veya ilave güvenlik önlemleri iÅbu API İlke ve Kuralları belgesinde tanımlanır. \n \n \n HHS, güçlü kimlik doÄrulama sürecinde ÃHKânin sahip olduÄu bileÅen sınıfı olarak SMS OTP ya da SMS ile iÅlem doÄrulama kodu kullanabilir. \n \n \n HHS, aÅaÄıdaki hallerde veya TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre tek bileÅen ile kimlik doÄrulama yapabilir. \n \n Ãdemenin göndereni ve alıcısının aynı olması, \n Daha önce tanımlanmıŠgüvenli alıcılar listesine ödeme yapılması, \n ÃHKânin talimatına istinaden gerçekleÅtirilen düzenli bir ödeme olması. \n \n \n \n Tek bileÅen ile kimlik doÄrulama yapılan bu iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin müÅteri tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye ait olur. \n \n \n İÅlem DoÄrulamada TebliÄin 3 üncü maddesinin birinci fıkrası ÄÄ bendindeki iÅlem bilgisi tanımına uygun olarak aÅaÄıdaki bilgiler ile TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde tanımlanan iÅleme özel üretilmiÅ iÅlem doÄrulama kodu birlikte kullanılır. \n \n Alıcı Unvan (Kolas akıÅında maskeli olarak) (ödeme emri baÅlatma hizmeti) \n Tutar (ödeme emri baÅlatma hizmeti) \n Referans bilgisi (8 karakterden küçük ise alanın tüm deÄeri, büyük ise ilk 4 ve son 4 hanesi) \n \n İÅleme ait yukarıdaki bilgilerden en az biri deÄiÅtiÄi zaman TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde belirtildiÄi gibi yeni bir iÅlem doÄrulama kodu üretilecek Åekilde akıŠkurgulanmalıdır. \n \n \n İÅlem doÄrulama kodunun gönderilmesinden HHS sorumludur. HHS, TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre iÅlem doÄrulama kodu kullanmaksızın ÃHKânın onayını alabilir. İÅlem doÄrulama kodu kullanılmayan iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin ÃHK tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye aittir. \n \n \n ÃHVPS API standartı kapsamında iki adet Güçlü Kimlik DoÄrulama (GKD) yöntemi kullanılacaktır: \n \n Yönlendirmeli (Redirect) GKD Yöntemi \n Ayrık (Decoupled) GKD Yöntemi \n \n \n \n HHS asgari olarak tarayıcı tabanlı Yönlendirmeli GKD yöntemini desteklemek zorundadır. \n \n \n Ãerçeve sözleÅme kapsamında olmayan tek seferlik ödeme iÅlemleri sadece Yönlendirmeli GKD yöntemi ile gerçekleÅtirilebilir. \n 5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama \n Yönlendirmeli GKD Yönteminde, müÅteri kimlik doÄrulama için YÃS tarafından HHS arayüzüne yönlendirilir. \n MüÅteri HHSâye (uygulama veya web arayüzü vasıtasıyla) yönlendirildikten sonra müÅterinin güçlü kimlik doÄrulaması adım adım ve doÄrudan HHS ile müÅteri arasında yürütülür. GKDânin tamamlanmasından sonra müÅteri tekrar YÃS uygulamasına yönlendirilir. \n Yönlendirmeli GKD Yöntemi için üst düzey örnek iÅ akıÅı aÅaÄıdaki adımlardan oluÅur: \n \n YÃS, GKD için HHS tarafından tanımlanan arayüze (tarayıcı ya da uygulama) yönlendirme yapar. \n MüÅteri, YÃS arayüzünden ayrılır, yönlendirildiÄi HHS arayüzü üzerinde kimlik doÄrulama iÅlemlerini gerçekleÅtirir. \n GKD tamamlandıktan sonra müÅteri, YÃS arayüzüne tekrar yönlendirilir ve iÅlem sonucu görüntülenir. \n \n Yönlendirmeli GKD için temel gereklilikler Åunlardır: \n \n Ãdeme hizmeti (hesap bilgisi veya ödeme emri baÅlatma hizmeti) tarayıcı ya da uygulama tabanlı bir Åekilde sunulabilir. Bu nedenle, YÃS ve HHSâlerin Yönlendirmeli GKD için asgari olarak tarayıcı tabanlı yönlendirme akıÅını desteklemeleri gerekmektedir. \n Ãerçeve sözleÅme (ÃS) kapsamında olmayan tek seferlik ödeme iÅlemleri sadece Yönlendirmeli GKD yöntemi ile gerçekleÅtirilebilir. \n \n Tarayıcı Tabanlı Yönlendirme \n HHSânin web arayüzüne, \n \n HHSânin mobil uygulamasının olmadıÄı, \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) sunduÄu mobil cihazda HHS uygulamasının yüklü olmadıÄı, \ndurumlarda yönlendirme yapılır. \n \n YÃSâün mobil uygulaması varsa mobil cihazda uygulamadan tarayıcıya, YÃSâün mobil uygulaması yoksa ödeme hizmetinin sunduÄu cihazda (KiÅisel Bilgisayar veya Mobil Cihaz) tarayıcı üzerinden yönlendirme yapılır. \n Uygulama Tabanlı Yönlendirme \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) YÃSâün mobil uygulaması ile kullanıyorsa, aynı mobil cihazda HHSânin mobil uygulamasının yüklenmiÅ olması durumunda, ÃHK doÄrulamasının HHS mobil uygulaması tarafından yapılması için uygulama tabanlı yönlendirme yapılır. Böylece ÃHK, ödeme hizmetine eriÅim için HHSânin mobil kanalına eriÅim sırasında kullandıÄı doÄrulama yöntemini ile doÄrulanabilir. \n Tablo 5: Yönlendirmeli Güçlü Kimlik DoÄrulama Kanalları \n \n \n \n DoÄrulama Yöntemi \n YÃS Olası Ortam \n HHS Olası Ortam \n \n \n \n \n Tarayıcı Tabanlı Yönlendirme \n KiÅisel Bilgisayar (masaüstü, dizüstü)/Mobil Cihaz \n KiÅisel Bilgisayar (masaüstü, dizüstü) / Mobil Cihaz \n \n \n Uygulama Tabanlı Yönlendirme \n Mobil Cihaz \n Mobil Cihaz \n 5.2.\tAyrık Güçlü Kimlik DoÄrulama \n Ayrık GKD Yöntemi iÅ akıÅı, Yönlendirmeli GKD Yönteminin iÅlem akıÅına benzer. Fark, HHS'nin, çevrimiçi arayüzünden baÄımsız olan herhangi bir uygulama veya cihaz aracılıÄıyla ödeme iÅlemi ayrıntılarını içeren bir anlık bildirim (push notification) göndererek müÅteriden kimlik doÄrulaması istemesidir. Ayrık GKD Yöntemine dayalı bir iÅlem için (çok basitleÅtirilmiÅ) üst düzey örnek bilgi akıÅı Åu Åekildedir: \n \n MüÅteri, YÃS arayüzünde iÅlemini baÅlatır. \n YÃS, talebini müÅteriye ait TCKN, VKN, YKN gibi tekil tanımlayıcı kimlik numarası bilgisi içerecek Åekilde HHSâye iletilir. \n HHS tekil tanımlayıcı bilgisini kullanarak farklı bir cihaz veya uygulama üzerinden müÅteriye anlık bildirim gönderir ve doÄrulama yapılmasını saÄlar. Bu Åekilde HHS kendi mobil uygulamasına eriÅim için kullanılan doÄrulama yöntemini aynen kullanabilecektir. \n YÃS, herhangi bir yere yönlendirme yapmadan iÅlemin sonucunu bekler, müÅteri YÃS arayüzünden ayrılmaz (arayüz aynı kalır). \n Kimlik doÄrulama sonrası, YÃS arayüzünde iÅlem sonucu görüntülenir. \n 5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi \n CSRF Ataklarından korunmak için ve YÃS uygulamasının bir önceki durumunu restore edebilmesi için; YÃS tarafından iletilen yönlendirme ve bildirim adreslerine , Oauth2 standartlarındaki state parametresine eÅdeÄer, durum ko
16du (drmKod) parametresinin eklenmesi gerekmektedir. Durum kodu parametresi YÃS tarafından üretilen, tekil ve kolay tahmin edilemeyen bir deÄer olmalıdır. Rıza isteÄi gönderimi aÅamasında oluÅturulmalıdır. YÃS uygulamasında uygun bir yerde saklanmalıdır (cookie, session, local storage gibi) . \n Durum kodu, rıza isteÄindeki yönlendirme adresine parametre olarak eklenir. GKD süreci sonrasında yetki kodu ile birlikte bu bilgi, HHS tarafından YÃSâe iletilir. YÃS sakladıÄı deÄer ile parametre olarak gelen deÄerin eÅitliÄini kontrol eder. Aynı ise eriÅim belirteci almak üzere akıÅı ilerletir. Farklı ise iÅlemi keser. \n 5.4\tHealthcheck API \n GET /health \n HHSâlerin sunacaÄı bu servis, düzenli olarak BKM tarafından çaÄırılarak servislerin ayakta olup olmadıklarının kontrolünün saÄlanması planlanmaktadır. \n BaÅarılı yanıtta Http 200 kodu dönülmelidir. \nBaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n KoÅullu / İsteÄe BaÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir. \n 5.5 Güçlü Kimlik DoÄrulama Kontrolleri \n ÃHK, GKD için HHS uygulamasına yönlendirildiÄinde, HHSânin çeÅitli kontroller yaparak iÅlemin doÄruluÄunu teyit etmesi gerekmektedir. Yapılması gereken kontrollere ait temel senaryolar aÅaÄıdaki tabloda belirtilmiÅtir. Bu senaryolar baz alınarak HHSâler tarafından zenginleÅtirilebilir. \n Zorunlu olarak belirtilen hata durumlarının HHSâler tarafından gerçeklenmesini ve uygun hata kodlarının YÃSâe iletilmesi; ileride oluÅabilecek mutabakatlaÅma sorunlarını ortadan kaldırabilecek, yapılacak raporlamalar kapsamında sistem ve süreç iyileÅtirmelerine katkı saÄlayacak, son kullanıcı açısından da alınan hataya yönelik bilgilendirici içerik saÄlayacaktır. \n Hata açıklamaları; hata koduna uygun ya da uyumlu olmak kaydıyla, HHS ve YÃS tarafından farklı Åekillerde sunulabilir. \n GKD Sırasında yapılması gereken kontroller \n \n \n \n Rıza İptal Detay Kodu \n HHS hata açıklaması* \n Yös ekranında listelenecek örnek mesaj metni* \n Ãrnek Senaryo \n Zorunlu / Opsiyonel \n \n \n \n \n 07 \n Rıza durumunun \"Yetkilendirildi\" , \"Yetki Kullanıldı\" olduÄu durum \n Yetki Hatası \n ÃHK, GKD iÅlemi tamamlandıktan sonra YÃS ekranında ileri- geri yaparak ya da ÃHK'nın yönlendirme adresini kopyalayarak tarayıcıya yapıÅtırması ile tekrar HHS'ye yönlendirir. Bu durumda HHS bu hata mesajını iletir. \n Zorunlu \n \n \n 08 \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. \n İÅleminiz gerçekleÅtirilememiÅtir. \n YÃS tarafından baÅlatılan rıza içerisinde yer alan kimlik bilgisi (TCKN) ile HHS'de GKD yapılan ÃHK'nın bilgilerinin uyuÅmadıÄı durumda \n Zorunlu \n \n \n 09 \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) \n Gösterilebilecek hesap/kart bulunamamıÅtır. \n ÃHK'nın uygun statülü hesabının olmadıÄı durumda \n Zorunlu \n \n \n 10 \n Açık bankacılık kanalınız iÅleme kapalıdır. \n Açık bankacılık kanalınız iÅleme kapalıdır. \n Açık bankacılıÄı ayrı bir kanal olarak tanımlamıŠHHS'lerde, ÃHK'nın iÅlemlerini AB kanalına kapatması durumunda \n Opsiyonel \n \n \n 11 \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu \n Yetkiniz bulunmamaktadır. \n 1- Kurumsal firma kullanıcılarının hesaplar üzerinde iÅlem yetkisinin olmaması durumunda 2- Bireysel ortak hesaplarda hesap kısıtı bulunuyorsa (para çıkıÅına izin verilmediÄi durum) \n Zorunlu \n \n \n 12 \n ÃHK'nın ilgili HHS müÅterisi olmadıÄı durum \n Yetkiniz bulunmamaktadır. \n Tek seferlik ödemelerde rıza isteÄinde ÃHK kimlik bilgileri bulunmamaktadır. DiÄer akıÅlarda rıza isteÄinde müÅteri olma kontrolü yapılabilir. \n Zorunlu \n \n \n 13 \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum \n Yetkiniz bulunmamaktadır \n HHS'nin, ÃHK için iç sistemlerinde yaptıÄı kontrollerin baÅarısız olması. ÃrneÄin: MüÅterinin henüz bankacılık hizmet sözleÅmesi gibi Internet Åubesi üzerinde iÅlem yapmasını engelleyen eksikleri olması durumunda veya kurumsal kullanıcıda vekalet süresinin dolması/eksik doküman olması durumunda kanal üzerinde iÅlem yapamadıÄı durum \n Zorunlu \n \n \n 14 \n BaÅarısız GKD \n Yetkiniz bulunmamaktadır \n 1-ÃHK'nın GKD için gerekli 2FA bilgilerini saÄlayamaması 2- HHS risk algısına göre 12 nolu hata kodunu dönmek yerine 14 nolu hata kodunu da YÃSâe dönebilir. \n Zorunlu \n \n \n 15 \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum (Ãr: HHS ekranında yer alan VAZGEà butonuna basmıŠolabilir. ) \n MüÅteri iÅlemden vazgeçmiÅtir. \n 1- HHS ekranında yer alan VAZGEà butonuna basılması durumu (Hem ÃHK login olmadan önce hem de GKD sonrası (rıza verme öncesi) VAZGEà butonu olabilir.) 2-MüÅteri Banka login ekranında herhangi bir aksiyon almadan beklemiÅtir ve HHS GKD zaman aÅımı süresi 5 dakikadan kısadır. \n Zorunlu \n \n \n 16 \n DiÄer \n İÅleminiz gerçekleÅtirilememiÅtir. \n - \n Opsiyonel \n \n \n \n GKD sırasında iletilen rıza no eÄer HHSânin sisteminde bulunamazsa durumu güncellenecek bir rıza no da olmayacaktır. HHS kendi önyüzünde bu duruma uygun bir mesaj gösterebilir. YÃSâe de DiÄer hata kodu ile bu durumu iletebilir. \n"},{title:"2.Kapsam ve Dayanak",frontmatter:{},regularPath:"/v1.0.1/contents/kapsam-ve-dayanak.html",relativePath:"v1.0.1/contents/kapsam-ve-dayanak.md",key:"v-7e81b77d",path:"/v1.0.1/contents/kapsam-ve-dayanak.html",content:" 2.Kapsam ve Dayanak \n 12 Kasım 2019âda güncellenen â 6493 sayılı Ãdeme ve Menkul Kıymet Mutabakat Sistemleri, Ãdeme Hizmetleri ve Elektronik Para KuruluÅları Hakkında Kanun âun (Kanun) 12ânci maddesine yeni eklenen ve Ãdeme Hizmetleri Direktifi 2 'de (Payment Services Directive 2, PSD2) bulunan iki yeni ödeme hizmeti aÅaÄıdaki gibi tanımlanmıÅtır (Åekil-1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri): \n \n Ãdeme Emri BaÅlatma Hizmeti : ÃHKânın isteÄi üzerine baÅka bir ödeme hizmeti saÄlayıcısında bulunan ödeme hesabıyla ilgili sunulan ödeme emri baÅlatma hizmeti [Madde 12, birinci fıkra, (f) bendi] \n Hesap Bilgisi Hizmeti : ÃHKânın onayının alınması koÅuluyla, ÃHKânın ödeme hizmeti saÄlayıcıları nezdinde bulunan bir veya daha fazla ödeme hesabına iliÅkin konsolide edilmiÅ bilgilerin çevrim içi platformlarda sunulması hizmeti [Madde 12, birinci fıkra, (g) bendi] \n \n \n Åekil 1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS)- tanıtım \n Kanunun 14/A maddesinin ikinci fıkrasına göre , Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetleri ile ilgili iÅlemlerin yürütülmesine iliÅkin usul ve esaslar ile taraflarca uyulması gereken teknik ve operasyonel gereklilikler ikincil düzenlemeler uyarınca Türkiye Cumhuriyet Merkez Bankası (TCMB) tarafından belirlenir. Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri ödeme hizmetleri veri paylaÅım servisleri (ÃHVPS) olarak adlandırılmaktadır. \n Ãdeme Hizmetleri ve Elektronik Para İhracı ile Ãdeme Hizmeti SaÄlayıcıları Hakkında Yönetmelikâin (Yönetmelik) 59âuncu maddesinin birinci fıkrası uyarınca hazırlanan bu belgede söz konusu ödeme hizmetlerini sunacak ödeme hizmeti saÄlayıcısının, ödeme hesabının bulunduÄu ödeme hizmeti saÄlayıcısının, varsa ilgili diÄer tarafların ve bu hizmetlerin sunulması için taraflar arasında kurulacak baÄlantının teknik ve operasyonel gereklilikleri açıklanmaktadır. \n Düzenlemeler kapsamında yetkilendirilen üçüncü taraf hizmet saÄlayıcısı (Yetkili Ãdeme Hizmeti SaÄlayıcısı, YÃS) , ödeme hizmeti kullanıcılarının Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki ödeme hesaplarına ulaÅarak ödeme emri baÅlatma ve hesap bilgisi saÄlama hizmetlerinden (ödeme hizmetleri veri paylaÅım servislerinden) faydalanmasına aracılık eder. Ãdeme hizmetleri veri paylaÅım servisleri kapsamında iki tip YÃS bulunmaktadır: 1) Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ve 2) Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS). \n Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ÃHKânın farklı Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki hesaplarının bilgilerini derleyerek çevrim içi platformlarda toplu Åekilde sunar. Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS) ise talebi üzerine ÃHKânın HHSâde bulunan ödeme hesabından ödeme iÅlemi baÅlatır. \n ÃHVPSânin üst düzey gösterimi Åekil-2âde verilmiÅtir. \n \n Åekil 2: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS) -üst düzey gösterim \n Ãdeme Hizmetleri Veri PaylaÅım Servislerinin HHSâler tarafından BKM API Geçidi vasıtasıyla sunulduÄu uygulama mimarisi ise Åekil-3âte sunulmuÅtur. \n \n Åekil 3: ÃHVPS'nin BKM API Geçidi vasıtasıyla sunumu \n"},{title:"HHS ve YÃS API",frontmatter:{},regularPath:"/v1.0.1/contents/hhs-yos-api.html",relativePath:"v1.0.1/contents/hhs-yos-api.md",key:"v-4888cd9d",path:"/v1.0.1/contents/hhs-yos-api.html",headers:[{level:2,title:"HHS API",slug:"hhs-api"},{level:2,title:"YOS API",slug:"yos-api"},{level:2,title:"Healthcheck API",slug:"healthcheck-api"}],content:' HHS ve YÃS API \n HHS API, HHSâlerin detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. HHS API için âhhs_readâ scope bilgisi kullanılır. \n Production ortamında HHS / YOS API içerisinde sisteme dahil olmuÅ, sertifikasyonu baÅarı ile tamamlamıŠpaydaÅlar listelenecektir. HHS tarafından desteklenen API sürümleri listelenecektir. \n YÃSâler HHS APIâsini sorgulayabilir ancak YÃS APIâsini sorgulayamazlar. \nBenzer Åekilde HHSâler YÃS APIâsini sorgulayabilir, HHS APIâsini sorgulayamazlar. \n HHS API \n GET /hhs/{hhsKod} \n İÅlem Sorgu ÃrneÄi = /hhs ⨠bu sorgu yöntemi ile tüm HHSâlerin dizi Åeklinde verileri listelenir. \nİÅlem Sorgu ÃrneÄi = /hhs/2001 ⨠bu sorgu yöntemi ile gönderilmiÅ olan hhsKoduâna ait bilgiler listelenir. Ya da â404 Not Foundâ hatası alır. \nHHS ve YÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir. \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hhs?srlmKrtr=kod&srlmYon=A \n Tablo 20: HHS ve YÃS API Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âkodâ, âunvâ
16} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, sıralama kriteri âunvâ olarak belirlenmelidir. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 21: HHS Bilgileri Sorgulama Yanıtı âHhsâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n hhs kodu \n kod \n AN4 \n Z \n HHS nin kod bilgisi \n \n \n hhs unvanı \n unv \n AN3..140 \n Z \n HHS nin unvan bilgisi \n \n \n hhs markası \n marka \n AN1..140 \n Z \n ÃHK\'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. HHS tarafından belirlenecektir. \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n HHSânin mesaj imzalama için paylaÅtıÄı açık anahtar \n \n \n HHS Api Bilgileri \n apiBilgileri \n Kompleks: HhsApiBilgi[Array][0..N] \n Z \n Desteklenen Api ve sürüm bilgileri dönülecektir. \n \n \n > api \n api \n AN1..20 \n Z \n Api İsmi Ãrnek :obh, hbh,gkd \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s2.0 s1.0 \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n HHSâye ait logo bilgileri. Logotur = Original formatındaki logonun minimumda gönderimi zorunludur. \n \n \n >logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur alabileceÄi deÄerler ORIGINAL , WHITE_OVERLAY , BLACK_OVERLAY , GRAY_OVERLAY \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n HHS tarafında tutulan ve YÃSâlerle paylaÅılacak olan url adres bilgisidir. \n \n \n \n Hem YOS hem de HHS API için geçerli olacak; logo gönderiminde dikkat edilmesi gerekenler Åu Åekilde tariflenmiÅtir: \n \n Logoların ham dosya yerine kurumun yayınlayacaÄı bir URL üzerinden sunulması gerekmektedir. (Ãrn: logoURL = https://kurumadi.com.tr/logo.png) Logo BKM tarafında host edilmeyecektir.) \n PNG formatında (PNG-24) olmalıdır. \n 72 DPI çözünürlükte olmalıdır. \n 500 x 500 boyutlarında, yatayda veya dikeyde taÅma paysız tam oturacak, sınır boyutlarını geçmeyecek ve ortalanmıŠyerleÅime sahip olmalıdır. \n Logo arka planı renkli olmamalı, arka plan transparan olmalıdır. \n YÃS uygulamasında gösterim esnasında logoların hızlı yüklenmesi ve düÅük veri tüketmesi açısından; logo boyutu 250 KBâın altında olmalıdır. \n Dört adet logo türü belirlenmiÅtir. Bu 4 tür için de logo dönülmesi zorunludur. \n Logo urlâin public eriÅilebilir url olması gereklidir. \n \n YÃS API, YÃS statüsundeki kurumların detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. YÃS API için âyos_readâ scope bilgisi kullanılır. \n YÃS API yanıtında, listelenen yönlendirme ve bildirim adresleri bulunmaktadır. HHS, iÅlem anında iletilen yonAdr ya da bldrAdr alanlarında gönderilen adreslere yetKod deÄerini iletmelidir. YÃS API içerisinde yer alan adresleri, rıza isteÄinde gönderilen adreslerin doÄruluÄunu kontrol etme amacıyla kullanılmalıdır. Bu nedenle YÃS API içerisinde listelenen adreslerin hostname seviyesinde yer alması yeterlidir. \n YOS API \n GET /yos/{yosKod} \n İÅlem Sorgu ÃrneÄi = /yos ï bu sorgu yöntemi ile tüm yos lerin dizi Åeklinde verileri listelenir. \n İÅlem Sorgu ÃrneÄi = /yos/2501 ï bu sorgu yöntemi ile gönderilmiÅ olan yosKoduâna ait bilgiler listelenir ya da â404 Not Foundâ hatası alır.\nYÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir.\nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /yos?srlmKrtr=kod&srlmYon=A \n Tablo 22: YOS Bilgileri Sorgulama Yanıtı âYosâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Yös kodu \n kod \n AN4 \n Z \n YÃS\'ün kod bilgisi \n \n \n Yös unvanı \n unv \n AN3..140 \n Z \n YÃS unvan bilgisi \n \n \n Yös markası \n marka \n AN1..140 \n Z \n ÃHK\'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. YÃS tarafından belirlenecektir. \n \n \n YÃS rolleri \n roller \n Array[AN4] \n Z \n YÃSâun rollerini belirten deÄer. Ãrnek: [ "obhs", "hbhs" ] - obhs - Ãdeme Bilgisi Hizmet SaÄlayıcı Rolü - hbhs - Hesap Bilgisi Hizmet SaÄlayıcı Rolü \n \n \n Adresler \n adresler \n Kompleks:Adres[Array] [1..N] \n Z \n --- \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerlerinden birini alır. Adres detaylarının hangi GKD türüne ait olduÄunu belirtir. \n \n \n >Adres Detayları \n adresDetaylari \n adresDetaylari\tKompleks: AdresDetayi[Array] [1..N] \n Z \n \n \n \n >>Temel Adres \n tmlAdr \n AN1..1024 \n Z \n yetYntm deÄeri âYâ olarak iletildiÄinde Yönlendirmeli GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. yetYntm deÄeri âAâ olarak iletildiÄinde Ayrık GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. Riza isteklerinde bu deÄer ile uyumluluÄu kontrol edilmelidir. Ãrnek: https://example.com https://example2.com/path deepLink://example/test deepLink://example2/test \n \n \n >>Açıklama \n aciklama \n AN1..1024 \n İ \n YÃSâün gönderdiÄi adrese yönelik vermek istediÄi açıklama Ãrnek: WEB bireysel , WEB kurumsal , APP \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n YÃSâün mesaj imzalama için payla
16ÅtıÄı açık anahtar \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n YOSâe ait logo bilgileri. Logotur = Original formatındaki logonun minimumda gönderimi zorunludur. \n \n \n >logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur alabileceÄi deÄerler ORIGINAL , WHITE_OVERLAY , BLACK_OVERLAY , GRAY_OVERLAY \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n YÃS tarafında tutulan ve HHSâlerle paylaÅılacak olan url adres bilgisidir. Ãrnek: https://via.placeholder.com/150?text=0001 \n Healthcheck API \n GET /health \n HHS ve YÃS API için health servisleri aÅaÄıdaki servislerle kontrol edilebilir. \n BaÅarılı yanıtta Http 200 kodu dönülecektir\nBaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir \n \n \n \n'},{title:"4. Rıza Durumları",frontmatter:{},regularPath:"/v1.0.1/contents/riza-durumlari.html",relativePath:"v1.0.1/contents/riza-durumlari.md",key:"v-7301a6d1",path:"/v1.0.1/contents/riza-durumlari.html",headers:[{level:2,title:"4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri",slug:"_4-1-hesap-bilgisi-hizmeti-rıza-durum-degisiklikleri"},{level:2,title:"4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri",slug:"_4-2-odeme-bilgisi-hizmeti-rıza-durum-degisiklikleri"}],content:" 4. Rıza Durumları \n ÃHK, Ãdeme Emri BaÅlatma Hizmetine ya da Hesap Bilgisi Hizmetine müÅteri rızasının tesisi ile baÅlar. ÃHKânın YÃS uygulaması üzerinden yaptıÄı iÅlemler neticesinde rıza durumları deÄiÅebilir.\nRızaânın alabileceÄi durum kodları Åu Åekilde belirlenmiÅtir. \n B: Yetki Bekleniyor â İlk rıza talebinde \n Y: Yetkilendirildi â BaÅarılı GKD sonrası yetKod üretildiÄinde \n K: Yetki Kullanıldı â EriÅim Belirteci alındıÄında \n E: Yetki ödeme emrine dönüÅtü â ÃBHS için \n S: Yetki Sonlandırıldı \n    HBHS için : EriÅimin Geçerli OlduÄu Son Tarih geldiÄinde \n    ÃBHS için : Yenileme belirteci Son Tarihi geldiÄinde \n I :Yetki İptal \nRıza iptal durumu ise gerek raporlama gerekse müÅteri deneyimi perspektifinden doÄru bilgilendirmeler yapılabilmesi açısından aÅaÄıdaki gibi detay kodları ile zenginleÅtirilmiÅtir: \n \n Rıza İptal Detay Kodu: \n \n \n \n â01â :\tYeni Rıza Talebi ile İptal \n â02â :\tKullanıcı İsteÄi ile HHS üzerinden İptal \n â03â :\tKullanıcı İsteÄi ile YÃS üzerinden İptal \n â04â :\tSüre AÅımı : Yetki Bekleniyor \n â05â :\tSüre AÅımı : Yetkilendirildi \n â06â :\tSüre AÅımı : Yetki Ãdemeye DönüÅmedi \n â07â :\tGKD iptali : Aynı rıza no ile mükerrer çaÄrımı \n â08â :\tGKD iptali : Rızano ile TCKN uyuÅmaması \n â09â :\tGKD iptali : Uygun ürünü bulunmuyor \n â10â :\tGKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı \n â11â :\tGKD iptali : Hesap Yetki Sorunu \n â12â :\tGKD iptali : ÃHK HHS müÅterisi deÄil \n â13â :\tGKD iptali : ÃHK HHS kontrollerini aÅamadı \n â14â :\tGKD iptali : BaÅarısız GKD \n â15â :\tGKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi \n â16â :\tGKD iptali : DiÄer \n \n \n 4.1 ve 4.2 bölümlerinde detaylandırılan rıza durum deÄiÅikliklerinde rıza iptal detay kodları kullanılmıÅtır. \n ÃrneÄin B⨠I/01 denildiÄinde âYetki Bekleniyorâ rıza durumundan âYetki İptalâ rıza durumuna Rıza İptal Detay Kodu da â01â yani âYeni Rıza Talebi ile İptalâ olarak güncellenmelidir ifade edilmiÅtir. \n ÃHK verdiÄi rıza sırasında seçtiÄi hesaplarından biri kapatılırsa, diÄer hesaplara ait bilgileri görmeye devam eder. Ancak ÃHKânın hesabına ait bilgilerinin YÃS'e iletilmesini istemediÄi durumda, rızasını tamamen iptal ederek yeni hesap listesi
16ile yeni rıza vermesi gerekmektedir. Yani hesap kapanması nedeniyle rıza geçerliliÄini yitirmez. ÃHK'nın proaktif olarak bu hesabı rızadan çıkarması durumunda rıza iptali olur. \n Rıza iptal edilmediÄi ve geçerli olduÄu sürece kapalı hesaplar için diÄer çevrimiçi kanallarda uygulanan yöntem izlenmelidir. DiÄer çevrimiçi kanallarda kapalı hesaplara iliÅkin bilgi dönülmüyor ise ÃHVPS'den de dönüŠyapılmaz. ÃHKânın rıza onayı verdiÄi açık hesaplarının tümü HHS tarafında kapatıldıÄı durumda, yine aynı Åekilde HHS çevrimiçi kanallarında koyduÄu kurallara göre bu hesaplarının YÃS uygulamasında gösterilmesine karar verir. \n Hesap kapama ve ticari kullanıcıların hesaplar üzerindeki yetki deÄiÅiklikleri HHS'nin iç sistemleri tarafından yapılan kontrollerle yönetilir. Buradaki deÄiÅiklikler ile HHS sistemsel olarak rıza iptali gerçekleÅtiremez. ÃHK izni ve onayı dahilinde rıza iptal gerçekleÅtirilmesi gerekmektedir. \n 4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri \n Kural : Bir ÃHK'nın, bir YÃS için, bir HHS'de Y, K, B rıza durumlarında tek bir rızası olabilir.\nBir ÃHK hem kiÅisel olarak hem de bir kurumun kullanıcısı olabilir. Bu durumda kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Hesap Bilgisi Rızası isteÄi HHSâye iletilir. \na.\tHHS ÃHK'ya ait içeride rıza var mı kontrol eder. EÄer yoksa Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \nb.\tEÄer içeride rıza varsa \n    i. Rıza durumu Yetki Bekleniyor - B ise; \n    HHS, sistemde Yetki Bekleniyor - B rıza durumuna sahip kayıt olduÄu için, öncelikle eski kaydı Yetki İptal - I durumuna getirir. Rıza İptal Detay Kodu âYeni Rıza Talebi ile iptalâ olmalıdır. B ⨠I / 01 Sonrasında, Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \n     ii. Rıza durumu Yetkilendirildi - Y veya Yetki Kullanıldı - K ise; \n    ÃHK'nın halihazırda verilmiÅ bir rızası vardır. HHS, önce mevcut rızanın iptalinin yapılması gerektiÄine dair hata döner. TR.OHVPS.Resource.ConsentMismatch \n     iii.\tRıza durumu Yetki Sonlandırıldı - S ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n     iv.\tRıza durumu Yetki İptal - I ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında Rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Tarayıcıyı kapatmıŠolabilir) Rıza Yetki Bekleniyor - B rıza durumunda kalır. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B rıza durumundaki kayıtlar Yetki İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. B ⨠I / 04 Bkz. 9. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B â¨I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B â¨I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n ÃHK'nın ilgili HHS müÅterisi olmadıÄı durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n ÃHK kendini doÄrulayamamıŠolabilir. BaÅarısız GKD Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 15 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 16 \n \n \n \n \n \n \n ÃHK, hesaplarında/izin türlerinde/EriÅimin Geçerli OlduÄu Son Tarih bilgilerinden bir ya da birden fazlasında güncelleme yapmak için YÃS ekranına girer. \n \n \n     a.\tYÃS önce Rıza İptal API'sini çaÄırır. Sonra yeni deÄerlerle yeni bir rıza isteÄinde bulunur. Tekrar GKD gerekir. \n     b.\tYÃS rıza iptal yapmadan yeni rıza alma akıÅına baÅlarsa 1.b akıÅı devreye girer. \n     c.\tRıza güncelleme ilerleyen sürümlerde ele alınacaktır. \n \n \n EriÅim Belirteci API \n a. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında;
16 \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B ya da Yetki Kullanıldı - K ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Sorgulama: HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir hesap bilgisi-rizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. Rıza numarası ile sorgulama yapılır. \n \n \n Hesap Bilgisi Rızasının İptali: HBHS üzerinden ya da HHS üzerinden yapılan rıza iptallerinde Rıza durumu Yetki İptal - I olarak güncellenir. Rıza numarası ile iptal saÄlanır. \n a. HHS üzerinden rıza iptali yapmıŠolabilir. Rıza durumu sorgulanır. \n Rıza numarası Yetki Bekleniyor - B ve Yetkilendirildi - Y ve Yetki Kullanıldı - K durumlarında ise Yetki İptal durumuna getirilir. Rıza gnclzmn timestamp ile güncellenir.\nHHS, Rıza iptalinde aynı zamanda eriÅim belirtecini de invalid hale getirmelidir. \n B ⨠I / 02 \n Y ⨠I / 02 \n K ⨠I / 02 \n b.\tYÃS üzerinden yapılacak iptal iÅleminde yine Y ve B ve K rıza durumlarında ise iptal edilebilir. \n B ⨠I / 03 \n Y ⨠I / 03 \n K ⨠I / 03 \n Rıza durumu Yetki Sonlandırıldı - S ise iptal gerçekleÅmez. âRıza durumunuz iptal etmeye uygun deÄildir.â hatası ÃHK'ya yansıtılır. TR.OHVPS.Resource.ConsentMismatch \n \n \n ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir.\nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde Rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldı durumuna çekilmelidir. K ⨠S \n \n \n Hesaplar, Bakiye ve İÅlemler servislerinde eriÅim belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır.\nGeçerli bir eriÅim belirteci yok ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n YÃS'ün; Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında Hesaplar, Bakiye ve İÅlemler servislerini çaÄırmaması beklenir. HHS'nin bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda TR.OHVPS.Resource.ConsentRevoked hatasını dönmesi gereklidir. \n Rıza durumu Yetki Kullanıldı - K dıÅında ise TR.OHVPS.Resource.ConsentMismatch hatası verilmelidir. \n Rıza durumu Yetki Kullanıldı - K ise servis akıÅlarına devam edilir. \n Rıza sorgulama API'sinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir âYetki Bekleniyorâ durumunda kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir âYetkilendirildiâ durumunda kalan kayıtlar güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı: Yetkilendirildi B ⨠I / 05 \nYukarıda bahsedilen, YÃS Süre AÅımı nedeniyle rıza iptal durum güncellemelerini y
16apmadan önce HHSâyi sorgulayarak rıza durumunu öÄrenmeli ve süre aÅımı dıÅında bir kodu varsa aynı kodla kendi sistemini güncellemelidir. \nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldıâya güncellenir. K ⨠S \n 4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri \n Kural : Bir ÃHK'nın bir YÃS için bir HHS'de istediÄi kadar rızası olabilir. \n Kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Ãdeme Emri Rızası isteÄi HHSâye iletilir. İçeride rıza olup olmamasına bakılmaksızın Yetki Bekleniyor - B rıza durumu ile yeni rıza no oluÅturur. \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Browserı kapatmıŠolabilir)\nRıza durumu Yetki Bekleniyor'dur. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B durumundaki kayıtlar Rıza İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. Bkz. 8. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B â¨I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B â¨I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n ÃHK'nın ilgili HHS müÅterisi olmadıÄı durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n ÃHK, kendini doÄrulayamamıŠolabilir. BaÅarısız GKD Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 15 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 16 \n \n \n \n \n \n \n GKD muafiyeti olduÄunda YÃS HHSâden arka planda onay alır. Bu onay sırasında rıza durumu Yetkilendirildi yapılır. B ⨠Y \n \n \n EriÅim Belirteci API \na. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında; \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B , Yetki Kullanıldı - K ya da Yetki ödeme emrine dönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K veya Yetki Ãdeme Emrine DönüÅtü â E olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Ãdeme BaÅlatma API önce eriÅim belirteci ve sonrasında rıza kontolü yapılarak gerçekleÅtirilmelidir \n \n Ãncelikle EriÅim Belirteci kontrolü yapılmalıdır. Geçerli bir EriÅim Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n Rıza durumu Yetki İptal - I ya da Yetki S
16onlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n Rıza durumu Yetki Bekleniyor - B , Yetkilendirildi - Y, Yetki Ãdeme Emrine DönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n Rıza durumu Yetki Kullanıldı - K olduÄunda ödeme emri gerçekleÅtirilir. Rıza durumu Yetki Kullanıldı - K'dan Yetki Ãdeme Emrine DönüÅtü â E yapılmalıdır. K â¨E \n \n \n \n Sorgulama: GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlarda, ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, ödemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır.\nRıza sorgulama, Ãdeme Emri Sorgulama API'lerinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n Ãdeme Emri Rızasının İptali bulunmamaktadır. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir Yetki Bekleniyor'da kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir Yetkilendirildi'de kalan kayıtlar durumları güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı : Yetkilendirildi B ⨠I / 05 \n 5 dakikadan uzun süredir Yetki kullanıldı'da kalan kayıtlar durumları güncellenir.\nYetki kullanıldı ⨠Rıza İptal / Süre AÅımı : Yetki Ãdemeye DönüÅmedi B ⨠I / 06 \n Yenileme belirteci Son Tarih geldiÄinde rıza durumu Yetki ödeme emrine dönüÅtüâden Yetki Sonlandırıldı'ya güncellenir. \n E ⨠S \n \n \n GKD muafiyeti sadece ödeme baÅlatma servislerinde bulunmaktadır. \n \n \n"},{frontmatter:{},regularPath:"/v1.0.1/contents/tanim-ve-kisitlamalar.html",relativePath:"v1.0.1/contents/tanim-ve-kisitlamalar.md",key:"v-1178fa5d",path:"/v1.0.1/contents/tanim-ve-kisitlamalar.html",content:" 1.\tTanım ve Kısaltmalar \n Tablo 1: Tanım ve Kısaltmalar \n \n \n \n Kısaltma \n Tanım \n Açıklama \n İngilizce Açıklama \n İngilizce Kısaltma \n \n \n \n \n ÃS \n Ãerçeve SözleÅme \n Ãdeme hizmeti saÄlayıcısı ile müÅteri arasında tekil veya süreklilik arz eden ödeme iÅlemlerinin yürütülmesine ve mümkün olan durumlarda ödeme hesabının açılmasına iliÅkin usul ve esasları belirleyen sözleÅme \n \n \n \n \n EPK \n Elektronik Para KuruluÅu \n Kanun kapsamında elektronik para ihraç etme yetkisi verilen tüzel kiÅi \n Electronic Money Institution \n EMI \n \n \n FAST \n Fonların Anlık ve Sürekli Transferi \n TCMB tarafından iÅletilen Fonların Anlık ve Sürekli Transferi Sistemi \n \n \n \n \n FAST TR-Karekod \n FAST-TR Karekod Teknik İlke ve Kurallar Rehberi \n TR Karekodâun FAST Sistemi aracılıÄıyla gerçekleÅecek iÅlemlerde kullanılmasına iliÅkin detaylı teknik ilke ve kurallarını içeren doküman \n \n \n \n \n GKD \n Güçlü Kimlik DoÄrulama \n Kimlik doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin bildiÄi, sahip olduÄu veya biyometrik bir karakteristiÄi olan bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntem \n Strong Customer Authentication \n SCA \n \n \n İB \n İÅlem Bilgisi \n GerçekleÅtirilen iÅleme iliÅkin iÅlem zamanını, iÅlemin niteliÄini ve ödeme iÅlemi için ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve ödemenin göndereni ile alıcısını veya toplu ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve göndereni ile alıcılarını içeren bilgi \n \n \n \n \n İDK \n İÅlem DoÄrulama Kodu \n Kimlik doÄrulama yöntemlerinden biriyle kendisini sisteme tanıtan bir müÅterinin gerçekleÅtirmek istediÄi
16iÅleme özgü olmak ve belirli bir geçerlilik süresi içinde iÅlem onayında kullanılmak üzere oluÅturulan, finansal sonuç doÄrunan iÅlemlerde kiÅiye onay anında ilgili iÅlem bilgisi (İB) ile birlikte gösterilen, alıcı veya tutarın deÄiÅmesiyle geçersiz hale gelen bilgi \n Authentication Code \n AC \n \n \n KOLAS \n Kolay Adresleme Servisi \n Fon transferlerinde hesap numarası ile ad soyad yerine kullanılan ve belirli bir hesap ile eÅleÅtirilmiÅ telefon numarası, e-posta adresi, T.C. Kimlik Numarası (TCKN), Vergi Kimlik Numarası (VKN), Yabancı Kimlik Numarası veya Pasaport Numarası gibi Kolay Adres bilgilerinin kaydedilmesini, güncellenmesini ve sorgulamasını saÄlayan katman servis \n \n \n \n \n HBHS \n Hesap Bilgisi Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (g) bendinde tanımlanan ödeme hizmetini (hesap bilgisi hizmetini) sunan tüzel kiÅi \n Account Information Service Provider \n AISP \n \n \n HHS \n Hesap Hizmeti SaÄlayıcısı \n Nezdinde ödeme hesabı bulunan ödeme hizmeti saÄlayıcısı \n Account Servicing Payment Service Provider \n ASPSP \n \n \n ÃBHS \n Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (f) bendinde tanımlanan ödeme hizmetini (ödeme emri baÅlatma hizmetini) sunan tüzel kiÅi \n Payment Initiation Service Provider \n PISP \n \n \n ÃDK \n Ãdeme KuruluÅu \n Ãdeme hizmeti saÄlamak ve gerçekleÅtirmek için Kanun kapsamında yetkilendirilmiÅ tüzel kiÅi \n Payment Institution \n PI \n \n \n ÃH \n Ãdeme Hesabı \n Ãdeme hizmeti kullanıcısı adına açılan ve ödeme iÅleminin yürütülmesinde kullanılan hesap \n Payment Account \n PA \n \n \n ÃHK \n Ãdeme Hizmeti Kullanıcısı (MüÅteri) \n Gönderen, alıcı veya her ikisi sıfatıyla belirli bir ödeme hizmetinden faydalanan gerçek veya tüzel kiÅi \n Payment Service User \n PSU \n \n \n ÃHS \n Ãdeme Hizmeti SaÄlayıcısı \n 5411 sayılı Kanun kapsamındaki bankalar, EPK, ÃDK ve Posta ve Telgraf TeÅkilatı Anonim Åirketi(PTT) \n Payment Service Provider \n PSP \n \n \n ÃHVPS \n Ãdeme Hizmetleri Veri PaylaÅım Servisleri \n Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri \n \n \n \n \n PÃS \n Perakende Ãdeme Sistemi \n TCMB tarafından iÅletilen, iÅlemlerin Türk Lirası üzerinden gerçekleÅtiÄi MüÅteriler Arası Türk Lirası Aktarım Sistemi \n \n \n \n \n TR-Karekod \n TR-Karekod İlke ve Kuralları \n Ulusal karekod (TR Karekod) ilke ve kurallarının belirlendiÄi belge \n \n \n \n \n YÃS \n Yetkili Ãdeme Hizmeti SaÄlayıcısı \n Ãdeme emri baÅlatma hizmeti ve/veya hesap bilgisi hizmeti sunan tüzel kiÅi \n Third Party Payment Service Providers \n TPP \n \n \n \n"},{title:"6.\tÃdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v1.0.1/contents/odeme-emri-baslatma-hizmeti.html",relativePath:"v1.0.1/contents/odeme-emri-baslatma-hizmeti.md",key:"v-01c649bd",path:"/v1.0.1/contents/odeme-emri-baslatma-hizmeti.html",headers:[{level:3,title:"Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi",slug:"_6-1-adim-0-odeme-emri-baslatma-istegi"},{level:2,title:"6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması",slug:"_6-2-adim-1-odeme-emri-rızasının-hazırlanması"},{level:2,title:"6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_6-3-adim-2-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_6-4-adim-2-1-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması",slug:"_6-5-adim-3-odeme-emrinin-olusturulması"},{level:2,title:"6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_6-6-adim-3-1-odeme-emri-sorgusu-istege-baglı"},{level:3,title:"GET /odeme-emri/{odemeEmriNo}",slug:"get-odeme-emri-odemeemrino"},{level:2,title:"6.7\tHealthcheck API",slug:"_6-7healthcheck-api"},{level:3,title:"GET /health",slug:"get-health"}],content:" 6.\tÃdeme Emri BaÅlatma Hizmeti \n Ãdeme emri baÅlatma iÅlemi havale, FAST ya da PÃS ödemesiyle sonuçlanabilir. Ãdeme iÅleminin amacı kiÅiden kiÅiye para transferi, e-ticaret ödemesi gibi farklı ödeme türleri olabilir. Ãdemenin amacına göre ÃBHSânin ileteceÄi veri setinde farklılaÅmalar olabilir. \n Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n Ãdeme Emri BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden ödeme emrini baÅlatır. \n Ãdeme Emri Rıza Hazırlanması: ÃBHS, âÃdeme Emri BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n Ãdeme Emrinin BaÅlatılması: ÃBHS, âödeme emriâni HHSâye iletir. \n Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı Sorguları: ÃBHS, Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n \n \n Åekil 4: Ãdeme Emri BaÅlatma Hizmeti Ãst Düzey İŠAkıÅı \n Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. \n Tablo 6: Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n odeme-emri-rizasi \n POST \n POST /odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n OdemeEmriRizasiIstegi \n OdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n POST/erisim-belirteci /odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n odeme-emri-rizasi \n GET \n GET /odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n OdemeEmriRizaYaniti \n \n \n 3 \n odeme-emri \n POST \n POST /odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n OdemeEmriIstegi \n OdemeEmri \n \n \n 3.1 \n odeme-emri \n GET \n GET /odeme-emri
16/{odemeEmriNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n OdemeEmri \n 6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) ödeme emri baÅlatma iÅlemine onay verir. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması \n \n Åekil 5: Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak ödeme emri rıza kaynaÄının oluÅturulmasını (odemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ mi? \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahip mi? \n İstekte bulunulan HHS kodu doÄru mu? \n \n \n \n POST baÅarılı olursa, HHS, ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren odemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir OdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların API dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme ve bildirim adresleri ile ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) \n HHS; kimlik bilgileri nesnesinde eÄer kimlik bilgileri iletilmiÅ ise; bu veri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) \n HHS kimlik bilgisi ile gönderen unvanının uyumlu olduÄunun kontrol eder. (Zorunlu) \n Gönderen Hesap Numarası ile ilgili Tablo7âde belirtilen kontroller yapılmalıdır. (Zorunlu) \n HHS, ödeme için benzersiz âRizaNoâ ile âOdemeEmriRizasiâ nesnesi oluÅturur ve ÃBHSâye döner. \n HHS, OdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \nBu aÅamada ÃHKânın HHS tarafından tanımlanmıŠve isteÄin veri alanında gönderen hesaba (borçlandırılacak hesaba) iliÅkin bir bilgisinin olması gerekmez. \nHesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n \n POST /odeme-emri-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âodemeEmriRizasiIstegiâ nesnesi (Tablo-7) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âodemeEmriRizasiâ (Tablo-8) nesnesi oluÅturulur. \n BAÅARILI İSTEK: \n Tablo 7: âOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. YÃS Yönlendirmeli GKD yöntemi ile akıÅı destekliyorsa, yetYntm deÄiÅkeninden baÄımsız olarak yönlendirme adresini iletmelidir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. YÃS Ayrık GKD yöntemi ile akıÅı destekliyorsa, yetYntm deÄiÅkeninden baÄımsız olarak bildirim adresini iletmelidir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, ayrık GKD sonrası bu alanda belirtilen adrese otorizasyon kodunu (authentication code) iletir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n HHS geçerli bir para birimi olduÄu kontrol eder. \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n İ \n Gönderenin unvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise TR.OHVPS.Business.InvalidContent hatası verilmelidir. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. Kontrol baÅarısız olduÄunda TR.OHVPS.Business. InvalidAccount hatası YÃSâe iletilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, HspRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının unvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. FAST-TR Karekod dıÅındaki iÅ yeri ödemelerinde; yine Unvan alanında iÅyeri adı bilgisi gönderilmelidir. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden birini alır. \n HHS geçerli bir Ãdeme KaynaÄı kodu kullanıldıÄını kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK için biricik olarak oluÅturan referans bilgisi -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tKarekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..50 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. \n \n \n \n > ÃBHS Masraf Tutarı \n obhsMsrfTtr \n Kompleks:Tutar \n İ \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n ÃBHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır.ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n İ \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n İ \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n İ \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n İ \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriRizasiâ nesnesi Tablo-8âdeki parametrelerden oluÅur: \n Tablo 8: âOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄ
16u durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n >> Unvan \n unv \n AN3..140 \n İ \n Gönderenin unvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlattıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden birini alır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK için biricik olarak oluÅturan referans bilgisi -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tKarekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..50 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem sa
16atleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisidir. Bu alan ileri vadeli ödemeler için düÅünülmüÅtür. İlk fazda doldurulmasına gerek olmadıÄı düÅünülmektedir. \n \n \n > ÃBHS Masraf Tutarı \n obhsMsrfTtr \n Kompleks:Tutar \n İ \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n ÃBHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır.ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n \n \n > HHS Masraf Tutarı \n hhsMsrfTtr \n Kompleks:Tutar \n İ \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n HHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n İ \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n İ \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n İ \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n İ \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil 6: Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın ödeme emrini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK -bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra;
16 HHS, ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âodemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, OdemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır. HHS, â ADIM 2 -Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin OdemeEmriRizasi nesnesine iÅler. \n GET /odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir OdemeEmriRizasi kaynaÄının durumunu isteÄe baÄlı olarak alabilir. \n Durum \n OdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /odeme-emri-rizasi/{RizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-8âde yer alan parametreleri içeren âOdemeEmriRizasiâ oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /odeme-emri-rizasi/{RizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âOdemeEmriRizasiâ nesnesini çekmelidir. \n Ãerçeve sözleÅme kapsamında olmayan tek seferlik ödeme iÅlemlerinde, Kimlik Türü ve Kimlik Verisi bilgilerinin ödeme emri rızası sırasında gönderimi zorunlu deÄildir. BaÅarılı GKD sonrası, yani eriÅim belirteci alındıÄında, ödeme emri oluÅmadan önce, YÃSâün ödeme emri rızasını sorgulayarak bu bilgileri alması ve ödeme emrini oluÅtururken Kimlik Türü ve Kimlik Verisi alanlarını dolu olarak göndermesi beklenmektedir. Ancak rıza durumu âYetki Bekleniyor - Bâ, âYetkilendirildi - Yâ ve âYetki İptal - Iâ statülerinde ise, ödeme emri rızası sorgulamasında, HHSânin Kimlik Türü ve Kimlik Verisi bilgisini YÃS ile paylaÅmaması gerekmektedir. \n 6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması \n \n Åekil 8: Ãdeme Emrinin OluÅturulması \n POST /odeme-emri \n \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS OdemeEmri kaynaÄını oluÅturur. \n Ãdeme emri (OdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır.\n \n POST HHS tarafından iÅlenir: RizaDurumu âYetki Kullanıldıâ ise iÅleme baÅlanır. \n POST /odeme-emri-rizasi ile POST /odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır.POST verisindeki Gönderen Hesap Numarası ve Alıcı Hesap Numarasının aynı bankaya aitse HAVALE deÄilse FAST veya PÃS iÅ akıÅına geçilir. \n POST verisinin modele göre kontrolü yapılır (alan kontrolleri) \n POST verisinin mantıksal kontrolleri yapılır (IBAN kontrolü, çapraz alan kontroller) \n OdemeEmriDurumu âGerçekleÅtiâ / âGönderildiâ / âGerçekleÅmediâ olarak güncellenir. \n \n \n POST baÅarılı olursa, içerisinde OdemeEmriNo ve OdemeEmriDurumu deÄiÅkenleri de bulunan OdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine DönüÅtüâ olarak güncellenir. \n \n BAÅARILI İSTEK: \n Tablo 9: âOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. \n \n \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi \n \n \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde, 1. HHS, Gönderen Adı ve Gönderen Hesap Numarasını ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n Ãdeme Emri Rizası Nesnesindeki İÅlem Tutarı verisi ile aynı olmalıdır. HHS iÅlem tutarı ödeme mesajında (Havale/FAST/PÃS) aynen taÅınmak durumundadır. \n Ttr \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari unvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>>
16 Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK için biricik olarak oluÅturan referans bilgisi -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tKarekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. FAST: KareKod ile baÅlatılan iÅlemlerde FAST A01 mesajındaki Karekod Referansı (KrkdRef) alanına karÅılık gelir. Bu durumda, FAST A01 mesajı alanları âFAST Mesaj Yapısı ve İÅlem Türleriâ belgesin uygun Åekilde oluÅturulur: KareKod (KrKd) bölümündeki Karekod AkıŠTürü (KrkdAksTur) ve Karekod Referansı (KrkdRef) alanları doldurulmalıdır. KiÅiden kiÅiye fon aktarımlarında ve e-ticaret iÅlemelerinde Referans Bilgisi (RefBlg) alanı doldurulur. \n FAST (KrkdRef) ve (RefBlg) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlattıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK için biricik olarak oluÅturan referans bilgisi -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tKarekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n FAST (KrkdRef) ve (RefBlg) \n \n \n >> Açıklama \n odmAcklm \n AN1..50 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. \n \n FAST/PÃS Acklm \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Sistemi verisi ile aynı olmalıdır. \n \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem sa
16atleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n \n \n > ÃBHS Masraf Tutarı \n obhsMsrfTtr \n Kompleks:Tutar \n İ \n \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n Ãdeme Emri Rizası Nesnesindeki ÃBHS Masraf Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n ÃBHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır.ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n Ãdeme Emri Rizası Nesnesindeki ÃBHS Masraf Tutarı verisi ile aynı olmalıdır. \n \n \n \n > HHS Masraf Tutarı \n hhsMsrfTtr \n Kompleks:Tutar \n İ \n \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n Ãdeme Emri Rizası Nesnesindeki HHS Masraf Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n HHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n Ãdeme Emri Rizası Nesnesindeki HHS Masraf Tutarı verisi ile aynı olmalıdır. \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n İ \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. \n \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n İ \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n İ \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n İ \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n \n \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Emir Bilgileri \n emrBlg \n Kompleks: EmirBilgileri \n Z \n \n \n \n > Ãdeme Emri Numarası \n odmEmriNo \n AN1..128 \n Z \n Ãdeme Emri nesnesinin UID'sidir. OdemeEmrine İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Ãdeme Emri Zaman \n odmEmriZmn \n ISODateTime \n Z \n Ãdeme emrinin FAST, PÃS, havale gibi gerçekleÅtirileceÄi ilgili ödeme sistemine iletilme tarihi. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari unvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden birini alır. \n \n \n >> Ãdeme Durumu \n odmDrm \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK için biricik olarak oluÅturan referans bilgisi -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tKarekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..50 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Ãdeme Sistem Numarası \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. FAST iÅlemleri için MesRefBlg deÄeri atanır. Ãdeme Hizmeti kullancısına iÅlemin takibi için gösterilebilir. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n > ÃBHS Masraf Tutarı \n obhsMsrfTtr \n Kompleks:Tutar \n İ \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n ÃBHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır.ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n \n \n > HHS Masraf Tutarı \n hhsMsrfTtr \n Kompleks:Tutar \n İ \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n >> Tutar \n ttr \n N1..18 \n Z \n HHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir. \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n İ \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n İ \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n İ \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n İ \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: Ãdeme Emri Sorgusu \n GET /odeme-emri
16/{odemeEmriNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ödeme emrini sorgulayabilir. \n BAÅARILI YANIT: \n GET /odeme-emri/{odemeEmriNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âOdemeEmriâ nesnesi döner. \n 6.7\tHealthcheck API \n GET /health \n HHSâlerin sunacaÄı bu servis, düzenli olarak BKM tarafından çaÄırılarak servislerin ayakta olup olmadıklarının kontrolünün saÄlanması planlanmaktadır \n BaÅarılı yanıtta Http 200 kodu dönülmelidir. \n BaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir \n \n \n \n"},{title:"3. Temel Prensipler",frontmatter:{},regularPath:"/v1.0.1/contents/temel-prensipler.html",relativePath:"v1.0.1/contents/temel-prensipler.md",key:"v-432b5bd6",path:"/v1.0.1/contents/temel-prensipler.html",headers:[{level:2,title:"3.1 Genel",slug:"_3-1-genel"},{level:2,title:"3.2.\tİstem (ÃaÄrı) ve Oturum",slug:"_3-2-istem-cagrı-ve-oturum"},{level:2,title:"3.3.\tRESTful API",slug:"_3-3-restful-api"},{level:2,title:"3.4.\tSürüm Yönetimi",slug:"_3-4-surum-yonetimi"},{level:2,title:"3.5.\tKaynak URI Yol Yapısı",slug:"_3-5-kaynak-uri-yol-yapısı"},{level:2,title:"3.6.\tKarakter Kodlama",slug:"_3-6-karakter-kodlama"},{level:2,title:"3.7.\tVeri Formatı",slug:"_3-7-veri-formatı"},{level:2,title:"3.8.\tİstemci Sertifika Yönetimi",slug:"_3-8-istemci-sertifika-yonetimi"},{level:2,title:"3.9.\tYetkilendirme Türleri",slug:"_3-9-yetkilendirme-turleri"},{level:2,title:"3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları",slug:"_3-10-istek-cevap-mesajlarında-kullanılan-nesne-yapıları"},{level:2,title:"3.11. Sayfalandırma ve Filtreleme",slug:"_3-11-sayfalandırma-ve-filtreleme"},{level:2,title:"3.12. Mesaj İmzalama",slug:"_3-12-mesaj-imzalama"},{level:2,title:"3.13. Durum Kodu",slug:"_3-13-durum-kodu"},{level:2,title:"3.14. Gereksinimlerinin Sınıflandırılması",slug:"_3-14-gereksinimlerinin-sınıflandırılması"},{level:2,title:"3.15. İstek BaÅlıÄı",slug:"_3-15-istek-baslıgı"},{level:2,title:"3.16. Yanıt BaÅlıÄı",slug:"_3-16-yanıt-baslıgı"},{level:2,title:"3.17. Idempotency Kuralları",slug:"_3-17-idempotency-kuralları"},{level:2,title:"3.18. HTTP Durum Kodları",slug:"_3-18-http-durum-kodları"},{level:2,title:"3.19. Maskeleme Kuralları",slug:"_3-19-maskeleme-kuralları"},{level:2,title:"3.20. Fonksiyonel Olmayan Gereksinimler",slug:"_3-20-fonksiyonel-olmayan-gereksinimler"}],content:' 3. Temel Prensipler \n Bu bölümde Ãdeme Hizmetleri Veri PaylaÅım Servisleri (Hesap Bilgisi Hizmeti, Ãdeme Emri BaÅlatma Hizmeti) için tanımlanan temel prensipler açıklanmaktadır. \n 3.1 Genel \n \n \n HHSâler YönetmeliÄin 59. maddesinin beÅinci fıkrası ve Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄin (TebliÄ) 23. maddesinin birinci fıkrası uyarınca, ödeme hizmetleri veri paylaÅım servislerini BKM API Geçidi aracılıÄıyla HBHS ve ÃBHSâye sunmakla yükümlüdür. \n \n \n TebliÄin 23. maddesinin ikinci fıkrası uyarınca ödeme emri baÅlatma hizmetinde açık iletiÅim servisinin tarafları ÃBHS ile HHSâdir. \n \n \n TebliÄin 23. maddesinin üçüncü fıkrası uyarınca hesap bilgisi hizmetinde açık iletiÅim servisinin tarafları HBHS ile HHSâdir. \n \n \n YönetmeliÄin 60. maddesinin birinci fıkrası uyarınca müÅteri, ödeme emri baÅlatma hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n YönetmeliÄin 61. maddesinin birinci fıkrası uyarınca müÅteri, hesap bilgisi hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n TebliÄin 25. maddesi uyarınca HHS ve YÃS (ÃBHS ve HBHS) arasında baÄlantı uçtan uca güvenli bir Åekilde saÄlanır. Bu amaçla iletim katmanında TLS (asgari 1.2 sürümü) ile Åifreli iletiÅim saÄlanır. \n \n \n TebliÄin 23. maddesinin dördüncü fıkrası uyarınca HHS tarafından sunulan ödeme hizmetleri veri paylaÅım servislerini kullanan yetkilendirilmiŠödeme hizmeti saÄlayıcılarının TCMB tarafından ilgili ödeme hizmeti için yetkilendirilmiÅ olduÄu kontrol edilir. \n \n \n TebliÄin 25. maddesinin beÅinci fıkrası uyarınca zaman damgası, 15/1/2004 tarihli 5070 sayılı Elektronik İmza Kanunu kapsamında tanımlanan zaman damgasına dayanır. \n \n \n API alan isimleri Türkçe olarak tanımlanmıÅtır. Ancak API baÅlıÄı (header) alanındaki alan isimleri özelinde, API Geçitleri tarafından otomatik olarak tanınabilmesi gözetilerek, İngilizce isimlendirme tercih edilmiÅtir. \n 3.2.\tİstem (ÃaÄrı) ve Oturum \n \n \n Her istek biricik istek numarası ve ÃHKâlı iÅlemler için zaman damgası içerir. Birden fazla istek içeren iÅlem YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi (istek numarası: x-request-id) ve iÅlem akıÅına özgü talep kimliÄi (iÅlem grup numarası: x-group-id) deÄerleri kullanılarak HHS tarafından bir oturum yaklaÅımı ile sürdürülür (Bknz. 3.15 İstek BaÅlıÄı). \n \n \n Oturum takibi ise iÅlem grup numarası ile yapılır. İÅlem grup numarası da ÃHKâlı iÅlemler için zaman damgası ile birlikte ilgili tüm iÅlem verilerini içerecek Åekilde k
16ayıt altına alınır. \n \n \n ÃrneÄin, bir ödeme emri baÅlatma iÅlemi birden fazla istekten oluÅur. Her istek yukarıda belirtildiÄi gibi biricik istek numarası ve ÃHKâlı iÅlemler için zaman damgası içerir. Ancak iÅlemin oturum bütünlüÄü iÅlem grup numarası ile saÄlanır. \n \n \n Taraflar açtıkları oturumu iÅlem bütünlüÄünü saÄlayacak süre içerisinde açık tutar ve iÅlem biter bitmez kapatır. \n 3.3.\tRESTful API \n APIâler, dünya ölçeÄinde yaygın bir Åekilde kullanılan Temsili Durum Transferi (Representational State Transfer, REST) mimari tarzı ve JavaScript Nesne Notasyonu (JavaScript Object Notation, JSON) veri formatlarına uygun olarak geliÅtirilir. En üst seviye Veri Tanımlama Dili (Data Description Language) ve en iyi uygulama örnekleri için ^JSON Åeması temel alınır. \n 3.4.\tSürüm Yönetimi \n API sonraki aÅamalarda doÄabilecek gereksinimleri ve daha karmaÅık kullanım durumlarını karÅılamak için sürümler halinde geliÅtirilir ve bu durum tasarım sırasında göz önünde bulundurulur. \n API v1.0 sürümünde ; \n \n Kapsamdaki ödeme hesapları : Vadesiz TL, yabancı para hesapları (gerçek ve tüzel kiÅilere ait ödeme hesapları), Kredili Mevduat Hesabı \n Tekil ödeme (Virman/Havale/FAST/MüÅterilerarası TL Aktarım Sistemi)\n \n Virman ve havale iÅlemleri kapsamında yabancı para transferi yapılabilir. \n \n \n Hesap bilgisi hizmetleri\n \n Temel veya ayrıntılı hesap bilgisi \n Bakiye \n GerçekleÅen iÅlemler için Hesap hareketleri \n \n \n Karekodlu ödemelerdeki 01, 02 ve 03 akıŠtürleri\nyer almaktadır. \n \n Her sürüm deÄiÅikliÄinde bir önceki sürüm belirli bir süre desteklenecektir. DiÄer bir ifadeyle, sadece belirli bir süre için mevcut ve bir önceki sürüm aynı anda eriÅilebilir olacaktır. \n 3.5.\tKaynak URI Yol Yapısı \n YÃSâlerin baÅlattıÄı çaÄrılarda URI yolu aÅaÄıdaki yapıyı takip eder: \n [hhs-yol-ön-eki]/ohvps/ [kaynak-grubu]/ [sürüm]/ [kaynak]/[kaynak-no]/[alt-kaynak] \n Bu, aÅaÄıdaki unsurlardan oluÅur: \n \n [hhs-yol-ön-eki] \nİsteÄe baÄlı, HHS\'ye özgü yol ön ekini ifade eder. \nBKM API geçidi üzerinden yapılan çaÄrılarda BKM tarafından belirlenen sistem adı ve yol ön eki kullanılır. \n ohvps \nSabit metin âohvpsâ (Ãdeme Hizmetleri Veri PaylaÅım Servisleri kısaltması) \n [kaynak-grubu] \nKaynak grubu, APIâye eriÅmek için kullanılan ödeme hizmetine (HBH, ÃBH) göre eriÅim adresi (end point) grubunu tanımlar (âhbhâ veya âobhâ). \n [sürüm] \nAPI sürümünü ifade eder (â/s[ana-sürüm].[alt-sürüm]/â). \n [kaynak]/[kaynak-no] \nKaynak detaylarını ifade eder. \n [alt-kaynak] \nAlt kaynak detaylarını ifade eder. \n \n HHS, tüm kaynakları için aynı katılımcı yolu ön ekini ve sistem adını kullanmalıdır. \n BKM APIâlerine eriÅmek isteyen uygulamaların yetkilerine göre aÅaÄıdaki APIâlere abone olmaları gerekmektedir: \n OBH: \n https://apigw-prod.bkm.com.tr/api/main/ohvps/obh/s1.0/odeme-emri-rizasi \n https://apigw-prod.bkm.com.tr/api/main/ohvps/obh/s1.0/odeme-emri \nHBH: \n https://apigw-prod.bkm.com.tr/api/main/ohvps/hbh/s1.0/hesap-bilgisi-rizasi \n https://apigw-prod.bkm.com.tr/api/main/ohvps/hbh/s1.0/hesaplar \n https://apigw-prod.bkm.com.tr/api/main/ohvps/hbh/s1.0/hesaplar/1234/islemler \n https://apigw-prod.bkm.com.tr/api/main/ohvps/hbh/s1.0/hesaplar/1234/bakiye \nGKD \n https://apigw-prod.bkm.com.tr/api/main/ohvps/gkd/s1.0/erisim-belirteci \nHHS â YÃS API \n https://apigw-prod.bkm.com.tr/api/main/hhs-api/s1.0/hhs \n https://apigw-prod.bkm.com.tr/api/main/hhs-api/s1.0/hhs/1234 \n https://apigw-prod.bkm.com.tr/api/main/yos-api/s1.0/yos \n https://apigw-prod.bkm.com.tr/api/main/yos-api/s1.0/yos/1234 \n HHSâlerin saÄlayacakları APIâlerdeki URI çevrimi örnekleri aÅaÄıdaki gibidir. \n \n https://xbank.com.tr/api-portal/ohvps/obh/s1.0/odeme-emri \n https://apigw-prod.bkm.com.tr/api/main/ohvps/obh/s1.0/odeme-emri (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.0/hesap-bilgisi-rizasi \n https://apigw-prod.bkm.com.tr/api/main/ohvps/hbh/s1.0/hesap-bilgisi-rizasi (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.1/hesaplar \n https://apigw-prod.bkm.com.tr/api/main/ohvps/hbh/s1.1/hesaplar (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.1/hesaplar/1234 \n https://apigw-prod.bkm.com.tr/api/main/ohvps/hbh/s1.1/hesaplar/1234 (BKM API) \n \n BKM API Geçidi üzerinden yapılan çaÄrılarda, istek baÅlıÄında bulunan âx-aspsp-codeâ (isteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodu) deÄerine göre HHS APIâde standart olarak tanımlanmıŠolan âbasePathâ bilgisine servis uzantısı eklenerek HHSâye yönlendirme yapılır. \n ÃrneÄin, istek baÅlıÄında xbank âın kodu varsa, YÃS tarafından yapılan \n https://apigw-prod.bkm.com.tr/api/main/ohvps/hbh/s1.0/hesap-bilgisi-rizasi \nçaÄrısı BKM API Geçidi tarafından karÅılanarak \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.0/hesap-bilgisi-rizasi \nadresine yönlendirilir. \n Bu örnekte, https://xbank.com.tr/api-portal basePath bilgisi HHS tarafından HHS APIâye girilen deÄerdir. \n 3.6.\tKarakter Kodlama \n API istekleri ve yanıtlarında UTF-8 karakter kodlaması kullanılır. Bu, JSON için varsayılan karakter kodlamasıdır. \n Ancak, bir HHS\'nin kendi uygulamaları ve ödeme baÅlattıÄı ödeme sistemi (FAST vb.) bazı UTF-8 karakterlerini kabul etmeyebilir. HHS, UTF-8 kodlaması içeren bir mesajı iÅleyemez ve reddederse, HTTP 400 (Hatalı İstek) durum ko
16du ile yanıt vermelidir. \n 3.7.\tVeri Formatı \n \n Açık bankacılık kapsamındaki zaman damgası, ISO 8601 standartına uygun olarak yerel saat bilgisini ve timezone bilgisini de içerecek Åekilde " yyyy-MM-ddâTâHH:mm:ssXXX " formattaki haliyle hazırlanmalıdır. \n \n Ãrnek: "timestamp": "2021-05-30T20:34:15+03:00" \nyyyy : 4 hane yıl \nMM : BaÅa â0â eklenmiÅ, toplam 2 hane ay \ndd : BaÅa â0â eklenmiÅ, toplam 2 hane gün \nHH : BaÅa â0â eklenmiÅ, toplam 2 hane saat (0-23 arası deÄer alabilir.) \nmm : BaÅa â0â eklenmiÅ, toplam 2 hane dakika \nss : BaÅa â0â eklenmiÅ, toplam 2 hane saniye \nXXX : ISO 8601 Time zone \n \n JWT veri paketlerinde kullanılan zaman damgaları, 1 Ocak 1970 Saat 00:00:00 (UTC) anından itibaren geçen saniye sayısı deÄerini (Unix Time) kullanır. \n Bir HHS, tarihi yanlıŠbiçimlendirilmiÅ bir istek aldıÄında, 400 (Hatalı İstek) durum kodu ve ilgili hata kodu ile yanıt verir. \n Tüm tutar alanları tam sayı olarak, para birimleri ise ISO4217âdeki 3 harfli kodla iletilir. Tutar alanı, tutara iliÅkin para biriminin ISO4217âde tanımlı olan tam sayıdan sonraki uzunluÄuna göre formatlanarak okunmalıdır. ÃrneÄin 1,20 TRY için tutar alanında â120â deÄeri iletilir, para birimi TRY olduÄu için son iki basamaÄın kuruÅ olduÄu sonucuna ulaÅılacaktır. 12000 Japon Yeni için, ISO4217âde JPY para biriminin ondalık kısmı olmadıÄından tutar alanında 12000 deÄeri iletilir. \n Sıralı veri tipleri büyük küçük harfe duyarlıdır. \n Altın para birimi ISO4217âye uygun biçimde âXAUâ cinsinde ve virgülden sonra 2 basamak olacak Åekilde iletilmelidir. ÃrneÄin içerisinde "13,5 gr" altın olan hesap için bakiye 1350 gönderilmelidir. \n 3.8.\tİstemci Sertifika Yönetimi \n ÃHVPS kapsamında YÃS ve HHSâlerin güvenli bir Åekilde tanımlanması amacıyla elektronik sertifikalar kullanılır. \n ÃHVPS kapsamında tarafların güvenli bir Åekilde tanımlaması, uçtan uca güvenli iletiÅim, mesaj Åifreleme ve mesaj imzalama iÅlevleri 15/1/2004 tarihli ve 5070 sayılı Elektronik İmza Kanunuânda açıklanan elektronik sertifikalar kullanılarak saÄlanır. Elektronik sertifikada Türkiye Cumhuriyet Merkez Bankası tarafından verilen kuruluÅ kodu ve kuruluÅun türüne dair bilgiler bulunur. \n BKM API Geçidi üzerinden yapılan eriÅimlerde YÃS ve HHSâlere önceden daÄıtılmıŠolan istemci sertifikaları kullanılarak tarafların (sunucu) kimliklerinin doÄrulanması saÄlanacaktır. İstemci sertifikaları hem test hem de üretim ortamında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi sertifikasyon sürecinde de sınanacaktır. Söz konusu sertifikaların daÄıtım prosedürleri ve kullanımlara yönelik açıklamalar EK-3âte yer verilmiÅtir. \n 3.9.\tYetkilendirme Türleri \n BKM API Geçidi üzerinden yapılan çaÄrılarda iki temel yetkilendirme türü kullanılır: \n 1.\tİstemci Kimlik Bilgileri: MüÅteri onayının gerekmediÄi, sadece YÃSâün tanımlanıp doÄrulandıÄı API çaÄrılarında kullanılır. YÃSâün yetkilendirilmiÅ olduÄu ve faaliyet izninin yaptıÄı hizmet çaÄrısına uygun olduÄu kontrol edilir. Bu amaçla, YÃSâlere clientId ve clientSecret tahsis edilecektir. YÃSâler ilgili clientId ve clientSecret ile sadece yetkilendirilmiÅ oldukları servislere eriÅebileceklerdir. YÃSâler kendilerine BKM tarafından sunulacak APIâyi, kendi clientID ve clientSecret deÄerleri ile sorgulayarak âİstemci Kimlik Bilgileriâ belirtecini (access token) elde edeceklerdir.\nHHSâler de BKM API geçidi üzerindeki YÃS APIâsini sorgulama maksadı ile BKM API Geçidine geldiklerinde, kendilerine atanmıŠolan clientID ve clientSecret bilgileri ile yetki kontrolleri yapılır.\nHHSâler kendilerinden alınacak username ve password deÄerleri kullanılarak oluÅturulacak basic authentication metodu ile servislerini sunacaklardır. \n 2.\tYetkilendirme Kodu: YÃSâün doÄrulanmasının yanısıra müÅterinin GKD ile doÄrulanması gereken API çaÄrılarında kullanılır. MüÅteri doÄrulanarak yetkilendirme kodu oluÅturulması HHSânin yetkilendirme arayüzüne yönlendirilir. GKDânin baÅarıyla tamamlanması sonrasında yetkilendirme kodu YÃSâe dönülür. YÃS daha sonra HHSânin eriÅim belirteci (access token) eriÅim adresini (EK-3: POST /erisim-belirteci) çaÄırmak suretiyle yetkilendirme kodunu bir eriÅim belirteci (access token) ile deÄiÅtirerek ilgili kaynakları kullanabilir. \n Ãdeme emri baÅlatma ve hesap bilgisi hizmetlerinde hangi yetkilendirme türlerinin kullanılacaÄı bilgisi, ilgili baÅlıklardaki eriÅim adresleri (endpoints) tablolarında yer almaktadır. \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir.\nBelirli bir süre için tanımlanan eriÅim belirteci (access token) deÄerinin yenileme belirteci (refresh token) ile yenilenmesi gerekir. \n EriÅim adreslerinde kullanılan yetkilendirme türü ilgili eriÅim adresi tablolarında belirtilmiÅtir. \n 3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları \n İstek ve Cevap mesajlarında kullanılacak olan nesneler tüm elemanlarını kapsayacak Åekilde Ek-1 de listelenmiÅtir. Tüm listelenen elemanlar açısından (Uç nokta mesaj yapılarının belirtildiÄi tablolarda belirtildiÄi üzere) alanın Zorunlu (z) veya İsteÄe BaÄlı (İ) olma durumlarına göre bazı alanlar gönderilebilir veya gönderilmeyebilir. \n 3.11. Sayfalandırma ve Filtreleme \n Sayfalandırma \n ÃaÄrıya dönülen kaynak nesnesi içerisindeki kayıtlar bir sayfalandırma yapısı ile ç
16aÄrılacak Åekilde istek oluÅturulur. \n OluÅturulacak isteÄin içerisinde parametreler ile filtreleme, sayfa baÅına gösterilecek kayıt sayısı ve hangi sayfanın önyüzde gösterileceÄi bilgileri eriÅim noktasına iletilir ve ilgili kayıtlar cevap olarak alınır. \n Filtreleme \n HHS, birden çok kayıt dönülmesi gereken GET çaÄrılarında sınırlı filtreleme desteÄi saÄlamalıdır. Filtre parametreleri her zaman kaynak nesnesinin belirli alanlarına özgüdür ve nesne için tanımlanan kurallara uymalıdır. \n 3.12. Mesaj İmzalama \n Elektronik imzalar, ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini destekler. İmzaların kaynak bazında hangi istek ve yanıtlara uygulandıÄı belirlidir. \n API yalnızca TLS\'ye dayanırsa, dijital kayıtları ve inkâr edilemezlik kanıtlarını tutmak zor olur. Bu nedenle, TLS\'ye dayanmayan bir inkâr edilemezlik çözümü olarak API isteÄinin HTTP baÅlıÄında bir JWS kullanılarak saÄlanabilir. \n HTTP isteÄinin gövdesinin hash fonksiyonu (SHA256) ile özeti alınacaktır. Elde edilen özet, asimetrik anahtarları destekleyen bir algoritma kullanılarak imzalanacak ve JWS elde edilecektir. \n Bir istek, YÃS\'nin özel anahtarı ile imzalanacak ve bu isteÄe karÅılık gelen yanıt, HHS\'nin özel anahtarı tarafından imzalanacaktır. \n Tüm API istekleri ve yanıtları imzalanmaz. Mesaj imzalamanın zorunlu olup olmadıÄı, desteklenip desteklenmediÄi her API özelinde belirlenir. \n Anahtar Deposu \n HHS\'ler ve YÃS\'ler tarafından güvenilen bir Güven Otoritesi (Trust Anchor), taraflar için bir genel anahtar deposu saÄlamaktan sorumludur. \n Güven Otoritesi, taraflardan herhangi birisinin oluÅturduÄu bir anahtar çiftinin açık bölümünü saklayan merkezi bir dizin (BKM tarafından tutulan merkezi kayıt sistemi vb.) olacaktır. \n Mesajları doÄrulamak için tarafların genel anahtarlarının paylaÅılması için BKM bir servis saÄlayacaktır. HHS API olarak adlandırılımıŠolan bu servis ile HHS ve YÃS listelerine ulaÅılabildiÄi gibi doÄrulama iÅlemi için ihtiyaç duyulacak olan genel anahtarlara da bu servis üzerinden eriÅilebilinecektir. \n İlgili Mesaj Åifreleme için genel akıÅ, Ek-5 bölümünde detaylarıyla paylaÅılmaktadır. \n 3.13. Durum Kodu \n APIâler, iki farklı amaca hizmet eden iki durum kodu kullanır: \n \n HTTP Durum Kodu, API çaÄrısının (kaynaktaki HTTP iÅlemi) sonucunu yansıtır. \n Bazı kaynak payloadâlarındaki Durum alanı, kaynakların durumunu yansıtır. \n 3.14. Gereksinimlerinin Sınıflandırılması \n EriÅim adreslerinin ve alanların kullanımı Zorunlu(Z), İsteÄe BaÄlı(İ) veya KoÅullu(K) olabilir. Kullanımlara iliÅkin durumlar ve kullanımın (K) koÅullu olduÄu duruma iliÅkin açıklamalar ilgili tablolarda belirtilmiÅtir. \n İstek ve yanıtta kullanılacak baÅlık isimleri, ilgili RFC dokümanlarında ve aÅaÄıdaki tabloda yer aldıÄı Åekilde kullanılacaktır. Uygulamaya özelleÅmiÅ baÅlıklar "X-" ile baÅlayacaktır. BaÅlık isimlerinde yer alacak kısaltmalar (örn. PSU, ASPSP gibi) tamamı büyük harfle yazılacak Åekilde tanımlanacaktır. BaÅlık isimleri büyük â küçük harfe duyarlı olmamalıdır. ÃrneÄin x-request-id ya da X-Request-ID olarak gönderilmiÅ olan bir istek baÅlıÄı deÄiÅkeni, sunucu tarafında hata vermeyecek Åekilde iÅlenebilmelidir. \n 3.15. İstek BaÅlıÄı \n Tablo 2: İstek BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n POST \n GET \n DELETE \n \n \n \n \n X-Request-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası. Ãrnek: Ãdeme emri baÅlatma iÅ akıÅının her adımda farklı âx-request-idâ deÄeri kullanılır. ÃaÄrıların aynı yanıtı dönmesinin beklendiÄi durumlarda (idempotent iÅlemlerde) aynı deÄer ile çaÄrı yapılır. \n Z \n Z \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. Aynı rıza noâya ait tüm isteklerde aynı x-group-id bilgisi deÄeri gönderilmelidir. Ãrnek: Ãdeme emri baÅlatma/hesap bilgisi iÅ akıÅının her adımında aynı âx-group-idâ deÄeri kullanılır. \n Z \n Z \n Z \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder: application/json (BaÅka bir deÄere ayarlanırsa, HHS, 415 Desteklenmeyen Ortam Türü (Unsupported Media Type) ile yanıt vermelidir) \n İ \n - \n
16- \n \n \n X-ASPSP-Code \n AN4 \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n Z \n Z \n \n \n X-TPP-Code \n AN4 \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n Z \n Z \n \n \n PSU-Auth-Date \n ISODateTime \n ÃHKânın YÃS üzerinde en son oturum açtıÄı saat. [RFC7231] ÃrneÄin: auth-date: Tue, 11 Sep 2012 19:43:31 GMT \n İ \n İ \n İ \n \n \n PSU-IP-Adress \n AN7..15 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın IP adresi. \n İ \n İ \n İ \n \n \n PSU-IP-Port \n AN1..5 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın Port adresi. \n İ \n İ \n İ \n \n \n PSU-GEO-Location \n AN1..36 \n ÃHKânın iÅlemi baÅlattıÄı cihazın konum bilgisi. RFC2426 standartına uygun olarak paylaÅılmalıdır. ÃrneÄin GEO:"<enlem >, <boylam>GEO:52.506931,13.144558 \n İ \n İ \n İ \n \n \n PSU-User-Agent \n AN 1.. 255 \n ÃHKânın iÅlemi baÅlattıÄı cihazın saÄladıÄı user-agent bilgisi. (Tarayıcı, versiyon, iÅletim sistemi bilgileri) \n İ \n İ \n İ \n \n \n PSU-Timestamp \n ISODateTime \n ÃHKânın iÅlemi baÅlattıÄı cihazın tarih saat içeren zaman bilgisi. \n İ \n İ \n İ \n \n \n PSU-Device-ID \n AN5..40 \n ÃHK iÅlemi mobil uygulama aracılıÄıyla baÅlattıysa, kullanılan mobil uygulama ilk yüklendiÄinde oluÅturulan tekil cihaz veya uygulama belirteci. ÃHK cihazının UUID deÄeri kullanılabilir. \n İ \n İ \n İ \n \n \n PSU-Device-Data \n AN1..1024 \n ÃHKânın iÅlemi baÅlattıÄı mobil cihaza ait veriler. Ãrnek alanlar: - Platform - (Android, iOS, Windows 10 Mobile) - Device Model - OS Name - OS Version - Locale - Time zone \n İ \n İ \n İ \n \n \n PSU-Initiated \n AN1 \n İÅlemin ÃHK tarafından baÅlatılması durumunda E , sistem tarafından baÅlatıldıÄı durumda H deÄerini alması beklenir. İÅlemler servisinde yapılacak sistemsel sorgulardaki iÅlem limitlerini kontrol amacıyla kullanılır. \n Z \n Z \n Z \n \n \n Authorization \n AN1..4096 \n YÃS ile BKM API Gateway arasındaki otorizasyon için kullanılan token bilgisidir. Yekilendirme türlerinden İstemci Kimlik Bilgileriâni adresler. \n Z \n Z \n Z \n \n \n X-Access-Token \n AN1..4096 \n ÃHKânın GKD sürecinde doÄrulanması sonrasında kullanılan eriÅim simgesi. Yetkilendirme türlerinden Yetkilendirme Kodu (GKD)ânu adresler. \n İ \n İ \n İ \n \n \n X-JWS-Signature \n AN1..4096 \n Payload gövdesinin ayrılmıŠbir JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. \n K (Kullanılan API ve methoda göre kullanılır.) \n K \n K \n 3.16. Yanıt BaÅlıÄı \n Tablo 3: Yanıt BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n Kullanım Durumu \n \n \n \n \n X-Request-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası İlgili istek baÅlıÄındaki bilgi geri dönülür. \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. İlgili istek baÅlıÄındaki bu deÄer geri dönülür. \n Z \n \n \n X-ASPSP-Code \n AN4 \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n \n \n X-TPP-Code \n AN4 \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder: application/json \n İ \n \n \n X-JWS-Signature \n AN1..4096 \n JWS imzasını içeren üstbilgi. Bu baÅlıÄın hangi yanıtlar için kullanılması gerektiÄi ilgili endpoint için belirtilmiÅtir. \n K \n \n \n Retry-After \n AN 1..255 \n YÃSâün bir isteÄi yeniden denemeden önce beklemesi gereken süreyi (saniye cinsinden) gösterir. HHS, 429 HTTP durum ko
16du (Too Many Requests) ile döndüÄü yanıtların baÅlıÄında bu bilgiyi dönmelidir. \n K \n \n \n x-total-count \n N 1..18 \n Hesaplar, İÅlemler ve Bakiye servislerinde sayfalama kullanıldıÄı durumda, sorgu sonucu dönecek toplam kayıt sayısı bilgisi, bu alanda HHS isteÄine baÄlı olarak gönderilebilir. \n İ \n \n \n Link \n 1..4096 \n âLinkâ alanının çoklu sayfa yapısı olması durumunda gönderilmesi zorunludur. Sayfalama yapısı kullanıldıÄında gelen yanıtta birden fazla sayfa var ise; önceki, sonraki, ilk, son sayfalara gitmek için gerekli referanslar link headerında aÅaÄıdaki örnekteki gibi doldurulabilir. x-total-count alanının gönderimi isteÄe baÄlı olduÄu için; Link içerisindeki son sayfa bilgisi (last) isteÄe baÄlı hale getirilmiÅtir. âÃncekiâ( prev) ve âSonrakiâ (next) adımlarının uygun olan her durumda yer alması zorunludur. İlk sayfada âÃncekiâ seçeneÄi olmamalı, son sayfada ise âSonrakiâ seçeneÄi olmamalıdır. </ohvps/hbh/s1.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=6&syfKytSayi=100>; rel="next", </ohvps/hbh/s1.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=4&syfKytSayi=100>; rel="prev", </ohvps/hbh/s1.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=14&syfKytSayi=100>; rel="last", </ohvps/hbh/s1.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=0&syfKytSayi=100>; rel="first" \n K \n 3.17. Idempotency Kuralları \n YÃSâün aÅaÄıdaki durumlarda aynı istek numarası (x-request-id) ve aynı veri gövdesiyle çaÄrıyı tekrarlaması; HHSânin de bu durumlarda aynı yanıtı dönmesi gereklidir. \n \n HHSânin yanıtı kesinti/arıza nedeniyle YÃSâe ulaÅmaz ve zaman aÅımı söz konusu olması, \n ÃHK, YÃS uygulaması üzerinden çift tıklama ile mükerrer defa HHS APIâlerini çaÄırılması,\n(API kontrollerinden önce YÃS uygulamasının, çift tıklama kontrolü yapması önerilmektedir.) \n YÃS, yanıt almasına raÄmen iÅleyemeden kaybedilmesi, \n \n durumlarında HHS aÅaÄıdaki kuralları iÅletir: \n \n HHS gelen istek numarasını ve veri gövdesini birleÅtirerek checksum deÄeri üretir. \nchesksum deÄeri x-request-id|request.body ânin hash algoritmalarından (CRC32,MD5 vb) geçirilerek üretilebilir. \n HHS bu checksum deÄeri ile YÃSâe dönmüŠolduÄu yanıtı 5 dk boyunca saklar. Saklama yöntemi olarak veri tabanı veya önbellek araçları kullanılabilir. \n YÃS aynı istek numarası ve aynı veri gövdesi ile yeni bir çaÄrı yaptıÄında, aynı checksum deÄeri üretileceÄi için 5dk boyunca bu deÄere karÅılık gelen yanıtı döner. \n 5 dk sonrasında istek numarası veya veri gövdesi deÄiÅmemiÅ olsa dahi bu HHS tarafından yeni istek olarak kabul edilir. \n \n AÅaÄıdaki Public Post iÅlemleri için bu kural setinin iÅletilmesi gerekmektedir: \n 1- Ãdeme emri rızası oluÅturma \n2- EriÅim belirteci oluÅturma \n3- Ãdeme emri \n4- Hesap bilgisi rızası oluÅturma \n 3.18. HTTP Durum Kodları \n RFC 2616\'da belirlenmiÅ olan durum kodları (status code) gönderilen isteÄin durumunu YÃSâa standart bir Åekilde ifade eder. EÄer bir hata varsa hatayı, gönderilen istek baÅarılı bir Åekilde iÅlem gördüyse ona iliÅkin durumu aktarır. Durum kodları genel olarak 5 kategoridedir. \n \n 1xx Bilgi \n 2xx BaÅarılı \n 3xx Yönlendirme \n 4xx İstemci Hatası \n 5xx Sunucu Hatası \n \n Sıralı (Enumarated) Hata Tipleri: \n \n TR.OHVPS.Resource \n \n â¨\tInvalidFormat \n â¨\tConsentMismatch \n â¨\tNotFound \n â¨\tInvalidSignature \n â¨\tMissingSignature \n â¨\tMethodNotAllowed \n â¨\tNotAcceptable \n â¨\tUnsupportedMediaType \n â¨\tConsentRevoked \n \n \n \n TR.OHVPS.Business \n \n â¨\tInvalidContent \n â¨\tInvalidAccount \n \n \n \n TR.OHVPS.Connection \n \n â¨\tInvalidCertificate \n â¨\tExceededRate \n â¨\tInvalidTPP \n â¨\tInvalidASPSP \n â¨\tInvalidToken \n â¨\tInvalidTPPRole \n \n \n \n TR.OHVPS.Server \n \n â¨\tInternalError \n â¨\tServiceUnavailable \n \n \n TR.OHVPS.Resource.InvalidFormat hatası alındıÄı durumda; fieldErrors nesnesi içerisinde verilecek hata kodları : \n \n TR.OHVPS.Field \n \n â¨\tMissing \n â¨\tInvalid \n \n \n Veri Tipi ÃrneÄi: \n { \n "id" : "2b5f0fb2-730b-11e8-adc0-fa7ae01bbebc" , \n "path" : "/ohvps/s1.1/obh/odeme-emri-rizasi" , \n "timestamp" : "2020-06-13T18:24
16:38" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Resource Schema validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" , \n \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasi" , \n "field" : "kmlkNo" , \n "messageTr" : "boyut \'6\' ile \'30\' arasında olmalı" , \n "message" : "size must be between \'6\' and \'30\'" , \n "code" : "TR.OHVPS.Field.Invalid" \n } , \n { \n "objectName" : "odemeEmriRizasi" , \n "field" : "prBrm" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } ] \n } \n \n Veri Tipi ÃrneÄi: \n Zorunlu header alanlarından biri ya da birkaçı eksik olarak gönderilirse aÅaÄıdaki gibi bir hata dönüÅü gerçekleÅebilir. \n \n { \n "httpCode" : "400" , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "One or more required API parameters are missing in the API request." \n } \n\n \n Tablo 4: HTTP Durum Kodları \n \n \n \n HTTP Durum \n İstek Sonucu ve Açıklamalar \n POST \n GET \n DELETE \n \n \n \n \n 200 OK \n İstek BaÅarıyla Tamamlandı. Kaynak güncellemek için yapılan (örneÄin, PUT) ve baÅarıyla tamamlanan isteklerinde kullanılır. \n H \n H \n H \n \n \n 201 Created \n İstek BaÅarılı Oldu. Kaynak yaratma isteÄi (örneÄin, POST /ödeme-emri-rizasi) baÅarıyla sonuçlandı. \n E \n H \n H \n \n \n 204 No Content \n Silme iÅlemi baÅarıyla tamamlandı. Kaynak silme isteÄi (örneÄin, DELETE /hesap-rizasi/{RizaNo} ) baÅarıyla sonuçlandı. \n H \n H \n E \n \n \n 400 Bad Request \n İstekte bozuk, eksik veya uyumlu olmayan JSON gövdesi, URL parametreleri veya baÅlık alanları var. İstekle baÅlatılan iÅlem yapısal bozukluk, eksik veya tutarsız veri veya HHS tarafındaki kontrollerin hatalı sonuçlanması nedeniyle hata ile sonuçlanır ve hataya iliÅkin veriler hata nesnesi içerisinde dönülür. \n E \n E \n E \n \n \n 401 Unauthorized \n Yetkilendirme baÅlıÄı eksik, hatalı veya geçersiz olduÄundan istek yetkilendirilmediÄinde ve eriÅim reddedildiÄinde http 401 kodu dönülmelidir. \n E \n E \n E \n \n \n 403 Forbidden \n EriÅim belirtecinin veya rızanın kapsamı uyuÅmuyor. YÃS bir hesaba/iÅlem kaynaÄına eriÅmeye çalıÅır ve YÃS, istenen kaynaÄa eriÅmek için geçerli izinlere sahip bir rızası yoktur. ÃrneÄin; hesap bilgisi rızası bakiye izni almamıÅtır ancak /bakiyeler adresinden istekte bulunmuÅtur. \n \n \n \n \n \n 404 Not Found \n **HHS geçerli bir API eriÅim adresini saÄlamıyorsa, o URL\'ye gelen istekler için 404 (Bulunamadı) ile yanıt vermelidir.**YÃS, uygulama esaslarında tanımlanmayan bir
16kaynak için bir URL\'ye eriÅmeye çalıÅırsa (örneÄin, GET /yurtdisi-odeme), HHS, 404 (Bulunamadı) ile yanıt vermeyi seçebilir. \n E \n E \n E \n \n \n 405 Method Not Allowed \n YÃS, desteklenmeyen bir yöntemle kaynaÄa eriÅmeye çalıÅtı. \n E \n E \n E \n \n \n 406 Not Acceptable \n İstek, geçersiz bir karakter kümesi içeriyor. \n E \n E \n E \n \n \n 415 Unsupported Media Type \n İstek gövdesi hedef kaynakta bu yöntem tarafından desteklenmeyen bir biçimde oluÅturulduÄu için iÅlem reddedildi \n E \n H \n H \n \n \n 429 Too Many Requests \n Belirli bir süre içinde çok fazla talepte bulunulduÄu için iÅlem reddedildi. HHSâler adil kullanım politikalarını aÅan talepleri kısıtlayabilir. \n E \n E \n E \n \n \n 500 Internal Server Error \n API sunucu / servis katmanında sorun oluÅtu. İÅlem baÅarısız. \n E \n E \n E \n \n \n 503 Service Unavailable \n Hizmet sürümü kullanımdan kaldırıldı. Bir API\'nin kullanımdan kaldırıldıÄı ve artık bir HHS tarafından operasyonel olarak desteklenmediÄi durumlarda, URI yolu hala etkin olabilir ve API isteklerini kabul edebilir. Bu durumda, YÃS\'ün API sürümünün çevrimdıÅı olduÄunun farkında olması için 503 Hizmet Kullanılamıyor dönmesi önerilir. \n E \n E \n E \n \n \n \n Hata Ãrnekleri: \n 400 Bad Request \n TR.OHVPS.Business.InvalidContent hatası HHS tarafından yapılacak iÅ kuralı kontrollerinin baÅarısız olduÄu durumda verilmelidir. \n TR.OHVPS.Resource.InvalidFormat hatası Åema validasyonu, alan uzunluk ve varlık kontrollerinin baÅarısız olduÄu durumda verilmelidir. \n httpCode : 400 \nhttpMessage : âBad Requestâ\nmoreInformation : âResource Schema validation errorâ\nmoreInformationTr : âÅema Kontrolleri BaÅarısızâ \nerrorCode : "TR.OHVPS.Resource.InvalidFormat" \n\nfieldErrors : \n code : { "TR.OHVPS.Field.Invalid" , \n "TR.OHVPS.Field.Missing" } \n\n \n Ãrn; GET /odeme-emri/22289 çaÄrısı durumunda 22289 geçerli bir ödeme kaynaÄı deÄilse, HHS, 400 koduyla cevap vermelidir. \n { \n "id" : "2b5f0fb2-730b-11e8-adc0-fa7ae01bbebc" , \n "path" : "/ohvps/s1.1/obh/odeme-emri-rizasi" , \n "timestamp" : "2020-06-13T18:24:38" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Resource Schema validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" , \n \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasi" , \n "field" : "kmlkNo" , \n "messageTr" : "boyut \'6\' ile \'30\' arasında olmalı" , \n "message" : "size must be between \'6\' and \'30\'" , \n "code" : "TR.OHVPS.Field.Invalid" \n } , \n { \n "objectName" : "odemeEmriRizasi" , \n "field" : "prBrm" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } \n ] \n } \n\n\nerrorCode : "TR.OHVPS.Connection.InvalidTPP" \nmoreInformation : âInvalid TPP Codeâ\nmoreInformationTr : âGeçersiz Yös Koduâ \n\nerrorCode : "TR.OHVPS.Connection.InvalidASPSP" \nmoreInformation : âInvalid ASPSP Codeâ\nmoreInformationTr : âGeçersiz HHS Koduâ \n\nerrorCode : "TR.OHVPS.Connection. InvalidTPPRole" \nmoreInformation : âInvalid TPP Roleâ \nmoreInformationTr : âHatalı Yös Rolüâ \n \n 401 Unauthorized \n YÃS, süresi dolmuÅ bir eriÅim belirteci kullandıÄında, HHS 401 (Yetkisiz) http kodu ile aÅaÄıdaki hata kodunu dönmelidir. AÅaÄıdaki nedenlerden herhangi biri nedeniyle bir EriÅim Belirtecinin süresi dolduÄunda bu durum ortaya çıkabilir: \n \n Rızanın süresi doldu (Son Kullanma Tarihi geçti) \n EriÅim Belirtecinin Åüpheli kullanımı veya sahtekarlık Åüphesi \n Rızada belirlenen gün sayısının aÅımı\nBu hata, müÅteriden doÄru izinlerle yeniden kimlik doÄrulaması isteyerek çözülebilir. \n \n errorCode : " TR.OHVPS.Connection.InvalidToken " \nmoreInformation : âInvalid Tokenâ\nmoreInformationTr : âGeçersiz Tokenâ \n \n 403 Forbidden \n httpCode : 403 \nhttpMessage : âForbiddenâ\n\nerrorCode : "TR.OHVPS.Resource.Forbidden" \nmoreInformation : âInsufficient rightsâ\nmoreInformationTr : âİzin verilmedi.â\n \n 404 Not Found \n httpCode : 404 \nhttpMessage : âNot Foundâ\n\nerrorCode : "TR.OHVPS.Resource.NotFound" \nmoreInformation : âResource not foundâ\nmoreInformationTr : âKayıt bulunamadıâ\n \n 405 Method Not Allowed \n httpCode : 405 \nhttpMessage : âMethod Not Foundâ\n\nerrorCode : "TR.OHVPS.Resource.MethodNotAllowed" \nmoreInformation : âMethod Not Allowedâ\nmoreInformationTr : âİstek yapılan URL için izin verilmeyen metotâ \n \n 406 Not Acceptable \n httpCode : 406 \nhttpMessage : âNot Acceptableâ\n\nerrorCode : " TR.OHVPS.Resource.NotAcceptable" \nmoreInformation : âAccept Headers not supportedâ\nmoreInformationTr : âDesteklenmeyen kabul baÅlıklarıâ \n \n 415 Unsupported Media Type \n httpCode : 415 \nhttpMessage : âUnsupported Media Typeâ\n\nerrorCode : " TR.OHVPS.Resource.UnsupportedMediaType" \nmoreInformation : âContent type not supportedâ\nmoreInformationTr : âDesteklenmeyen içerik tipiâ \n \n 429 Too Many Requests \n httpCode : 429 \nhttpMessage : âToo Many Requestsâ\n\nerrorCode : " TR.OHVPS.Connection.ExceededRate" \nmoreInformation : âThe rate limit has been exceeded for the plan or operation being usedâ\nmoreInformationTr : âPlanda tanımlanmıŠolan çaÄrı limiti aÅıldıâ\n \n 500 Internal Server Error \n httpCode : 500 \nhttpMessage : âInternal Server Errorâ\n\nerrorCode : "TR.OHVPS.Server.InternalError" \nmoreInformation : âUnexpected condition was encounteredâ\nmoreInformationTr : âBeklenmedik bir durumla karÅılaÅıldı.â \n \n 503 Service Unavailable \n httpCode : 503 \nhttpMessage : âService Unavailableâ\n\nerrorCode : "TR.OHVPS.Server.ServiceUnavailable " \nmoreInformation : âAPI is currently unable to handle the requestâ\nmoreInformationTr : âAPI Åu anda isteÄi iÅleyemiyorâ \n 3.19. Maskeleme Kuralları \n Maskeli olarak iletilmesi gereken verilerin maskeleme kuralları Åu Åekildedir: \n \n IBAN verileri Hesap Numarası : İlk 4 ve son 4 karakteri açık, diÄer karakterler maskeli olmalıdır. Ãrnek: TR54******************4812 \n Ad-Soyadı / Ticari Unvan : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet â â karakteri konumlandırılmalıdır.\nÃrneÄin: âFATİH SERKAN ERENâ ifadesi âFA *** SE**** ER****â Åeklinde gösterilmelidir. \n Tabela Unvanı : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet â â karakteri konumlandırılmalıdır. ÃrneÄin âBANKALARARASI KART MERKEZİ ANONİM ÅİRKETİâ ifadesi âBA *** KA**
16** ME**** AN**** Åİ****â Åeklinde gösterilmelidir. \n YÃSâten girilen unvan ve iban bilgileri ödeme emri rızası ve ödeme emri yanıtında açık dönülür, Kolas akıÅında ödeme emri rızası yanıtı ve ödeme emri istek ve yanıtında maskeli taÅınır. \n 3.20. Fonksiyonel Olmayan Gereksinimler \n \n \n HHSâlerin sunuyor oldukları servisleri en fazla 3000 ms içinde yanıt dönecek Åekilde tasarlamalıdır. \n \n \n YÃS tarafından kullanıcının baÅlatmadıÄı otomatize sorgular için aÅaÄıdaki limitler belirlenmiÅtir. \n \n YÃS, Bireysel ÃHKâlar için hesap bazında günde en fazla 4 adet sorgulama yapabilir. \n YÃS, Kurumsal ÃHKâlar için hesap bazında saatte en fazla 12 adet sorgulama yapabilir \nDiÄer taraftan kullanıcının baÅlattıÄı Hesap Bilgisi Hizmeti kapsamındaki sorgular HHS tarafından belirlenen üst rate limitler dahilinde tanımlanabilir. \n \n \n \n HHSâlerin sunuyor oldukları servislere sistemin güvenlik ve sürekliliÄini saÄlamak adına rate limit koyma ihtiyaçları olur ise, standartlar ve ihtiyaçlara uygun Åekilde bir konfigürasyon yapabilirler. Ãr: YÃS - Kullanıcı bazında günde X sorgu v.b.\nİsteÄin kullanıcı tarafından baÅlatıldıÄı Request Header içerisinde yer alan Payment Service User (PSU) alanlarından anlaÅılabilir. \n \n \n HHSâler aynı zamanda servislerin ayakta olup olmadıÄına yönelik olarak bir healthcheck servisi kurmalıdır. HHSâlerin bu servis ile tüm network ve veritabanı ya da servislerinin ihtiyaç duydukları altyapısal eriÅimleri modellemeli ve bu servisi BKM ile paylaÅmaları beklenmektedir. Bu servis düzenli olarak BKM tarafından çaÄırılarak servislerin ayakta olup olmadıklarının kontrolünün saÄlanması planlanmaktadır. \n \n \n Sunulan her API için /health endpointi ile aÅaÄıdaki bilgileri vermeleri beklenmektedir. \n GET /{api ismi}/{versiyon}/health \n Ãrnek: \n GET /obh/s1.0/health \n GET /hbh/s1.0/health \n GET /gkd/s1.0/health \n HHS ve YÃS API için health servisleri aÅaÄıdaki servislerle kontrol edilebilir. \n GET /hhs-api/s1.0/health \n GET /yos-api/s1.0/health \n BaÅarılı yanıtta Http 200 kodu dönülmelidir. \nBaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n KoÅullu / İsteÄe BaÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir. \n \n \n \n Health servisinden yanıt alınamaması, hata alması ya da status DOWN gelmesi durumunda API Gatewayden istek HHS tarafına iletilmeyecektir. \n \n \n ÃHVPS servisleri ile ilgili olarak HHSâler, BKM tarafından düzenli olarak sorgulanacaktır, eriÅilebilirlik ve kullanım oranları takip edilecektir. \n \n \n HHSâlerin servislerini eriÅim yüzdeleri açısından yıl bazında %99.75 oranında ayakta olmalarını saÄlayacak Åekilde kurgulamaları gerekmektedir. \n \n \n'},{title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",frontmatter:{},regularPath:"/v1.0.2/contents/ekler.html",relativePath:"v1.0.2/contents/ekler.md",key:"v-bc107546",path:"/v1.0.2/contents/ekler.html",headers:[{level:2,title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",slug:"ek-1-istek-cevap-mesajlarında-kullanılacak-nesne-yapıları"},{level:2,title:"EK-2: Sıralı Veri Türleri",slug:"ek-2-sıralı-veri-turleri"},{level:2,title:"EK-3: İstemci Sertifikalarının Tanım ve Yönetimi",slug:"ek-3-istemci-sertifikalarının-tanım-ve-yonetimi"},{level:2,title:"EK-4: Sunucu Sertifikaları",slug:"ek-4-sunucu-sertifikaları"},{level:2,title:"EK-5: Mesaj İmzalama AkıÅı",slug:"ek-5-mesaj-imzalama-akısı"},{level:3,title:"İmzalama Kuralları (YÃS)",slug:"imzalama-kuralları-yos"},{level:2,title:"EK-6: HHS/YÃS API Mimarisi",slug:"ek-6-hhs-yos-api-mimarisi"}],content:' EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları \n Açık Bankacılık simülatör uygulaması üzerinde swagger dökümanlarının güncel sürümlerine eriÅim saÄlanabilir. \n EK-2: Sıralı Veri Türleri \n \n \n \n Kod \n Açıklama \n \n \n \n \n TR.OHVPS.DataCode.KimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) Y , YKN , N11 P , PNO , AN7..9 \n \n \n TR.OHVPS.DataCode.KurumKimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) V , VKN , AN10 \n \n \n TR.OHVPS.DataCode.OhkTur \n Kod: B: Bireysel K: Kurumsal \n \n \n TR.OHVPS.DataCode.KolasTur \n MüÅterinin sorgulama istediÄi Kolay Adres Tipi deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır: T: Telefon Numarası E: E-Posta K: TCKN V: VKN Y: YKN P: Pasaport Numarası \n \n \n TR.OHVPS.DataCode.KareKodAksTur \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. 01: FAST katılımcısından dinamik doÄrulamalı hizmet alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulamalı iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n TR.OHVPS.DataCode.OdemeKaynak \n I: İnternet bankacılıÄından gönderilen ödemelerde kullanılır. A: Otomatik para makineleri (ATM) ile gönderilen ödemelerde kullanılır. T: Telefon bankacılıÄı ile gönderilen ödemelerde kullanılır. K: Kiosklar aracılıÄıyla gönderilen ödemelerde kullanılır. S: Åubeden girilen ödemelerde kullanılır. M: Mobil uygulamadan gönderilen ödemelerde kullanılır. D: Yukarıdakiler dıÅındaki ödeme kaynaklarından gönderilen ödemelerde kullanılır. O: Açık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır. \n \n \n TR.OHVPS.DataCode.OdemeAmaci \n Ãdemenin Amacına yönelik olarak aÅaÄıdaki deÄerlerden birini alır: 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aid
16at ödemesi \n \n \n TR.OHVPS.DataCode.OdemeDurumu \n Ãdemenin durumunu gösterir. AlabileceÄi deÄerler: 01: GerçekleÅti (Ãdeme ilgili ödeme sistemine iletildi ve alıcı hesabına ulaÅtı.) 02: Gönderildi (Ãdeme ilgili ödeme sistemine iletildi ancak alıcı hesabına ulaÅtıÄına dair teyit alınmadı.)İÅlemin son durumunun teyidi için YÃS sorgulama yapmalıdır. 03- GerçekleÅmedi (Ãdemenin ilgili ödeme sistemine iÅletiminde veya iÅlenmesi sırasında hata, zaman aÅımı, sistemin gün sonu iÅlemlerine baÅlaması vb. durum oluÅtu ve ödeme gereçeklemedi veya iade edildi.) 04- Onayda bekliyor (Ãdeme emri alındı. Ãoklu onay akıÅının tamamlanması bekleniyor.) 05- İÅleme Alındı ( Ãdeme emri alındı. ) YÃS tarafından müÅteriye gösterilmeyen bir koddur. Bu kod dönüldüÄünde YÃS uygulamasında ÃHKâya ödeme durumu 02-Gönderildi olarak gösterilir. İÅlemin son durumunun teyidi için YÃS sorgulama yapmalıdır. \n \n \n TR.OHVPS.DataCode.IslemAmaci \n Ãdemenin Amacına yönelik olarak aÅaÄıdaki deÄerlerden birini alır: 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aidat ödemesi 12: DiÄer \n \n \n TR.OHVPS.DataCode.RizaDurumu \n B: Yetki Bekleniyor Y: Yetkilendirildi K: Yetki Kullanıldı E: Yetki Ãdeme Emrine DönüÅtü S: Yetki Sonlandırıldı I :Yetki Iptal \n \n \n TR.OHVPS.DataCode.GkdTur \n GKD yapılmasını gerekli bulduÄu durumda HHS, YÃSâün belirlediÄi yöntemi dikkate alarak kendi belirlediÄi GKD yöntemini bildirir: Y: Yönlendirmeli GKD A: Ayrık GKD \n \n \n TR.OHVPS.DataCode.RizaTip \n H: Hesap Bilgisi Rızası O: Ãdeme Emri Rızası \n \n \n TR.OHVPS.DataCode.IzinTur \n 01: Temel Hesap Bilgisi 02: Ayrıntılı Hesap Bilgisi 03: Bakiye Bilgisi 04: Temel İÅlem (Hesap Hareketleri) Bilgisi 05: Ayrıntılı İÅlem Bilgisi \n \n \n TR.OHVPS.DataCode.OdemeSistemi \n İÅlemin yönlendirildiÄi Ãdeme Sistemine göre aÅaÄıdaki deÄerlerden birini alabilir: H: Havale F: FAST E: EFT (PÃS) deÄerlerinden birini alabilir. \n \n \n TR.OHVPS.DataCode.IslemTuru \n Hesap hareketleri (iÅlemler) sorgusunda dönülen İÅlem Türü (islTur) parametresi aÅaÄıdaki deÄerlerden birini alabilir: HAVALE EFT FAST PARA_YATIRMA PARA_CEKME YABANCI_PARA_HAVALE YATIRIM_HESABINA_AKTARIM YATIRIM_HESABINDAN_AKTARIM KURUM_FATURA_ODEMESI CEK SENET SIGORTA_ODEMESI UCRET_KOMISYON_FAIZ SGK_ODEMESI VERGI_ODEMESI DOVIZ_ALIM DOVIZ_SATIM KREDI_ODEMESI KREDI_KULLANIM KK_ODEMESI KK_NAKIT_AVANS SANS_OYUNU UYE_ISYERI_ISLEMLERI HGS_OGS_ISLEMLERI DOGRUDAN_BORCLANDIRMA_SISTEMI DIGER \n \n \n TR.OHVPS.DataCode.HspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.KolasHspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.HspTip \n Hesap çeÅidini belirtir: VADESIZ VADELI KREDILI_MEVDUAT_HESABI POS CEK YATIRIM \n \n \n TR.OHVPS.DataCode.HspDrm \n Hesabın durumunu belirtir: AKTIF PASIF KAPALI \n \n \n TR.OHVPS.DataCode.YetTip \n AlabileceÄi deÄerlere göre hangi belirtecin döneceÄine karar verilir. yet_kod yenileme_belirteci \n \n \n TR.OHVPS.DataCode.BrcAlc \n İÅlemin hesabı borçlandırdıÄı ya da alacaklandırdıÄı bilgisidir. B : Borç A : Alacak \n \n \n TR.OHVPS.DataCode.RizaIptDtyKod \n â01â :Yeni Rıza Talebi ile İptal â02â :Kullanıcı İsteÄi ile HHS üzerinden İptal â03â :Kullanıcı İsteÄi ile YÃS üzerinden İptal â04â :Süre AÅımı : Yetki Bekleniyor â05â :Süre AÅımı : Yetkilendirildi â06â :Süre AÅımı : Yetki Ãdemeye DönüÅmedi â07â :GKD iptali : Aynı rıza no ile mükerrer çaÄrımı â08â :GKD iptali : Rızano ile TCKN uyuÅmaması â09â :GKD iptali : Uygun ürünü bulunmuyor â10â :GKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı â11â :GKD iptali : Hesap Yetki S
16orunu â12â :GKD iptali : ÃHK HHS kontrollerini aÅamadı â13â :GKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi â14â :GKD iptali : Fraud Åüphesi â99â :GKD iptali : DiÄer \n \n \n TR.OHVPS.DataCode.PSUInitiated \n âEâ : Evet âHâ : Hayır \n \n \n TR.OHVPS.DataCode.HHSYOSSrlmKrtr \n âkodâ : Kod,âunvâ : Unvan \n \n \n TR.OHVPS.DataCode.SrlmYon \n âAâ: Azalan deÄerle sıralama âYâ: Artan deÄerle sıralama \n \n \n TR.OHVPS.DataCode.ZmnAralik \n 0 : Kayıt Yok 1 : 0-2 saat 2 : 2-24 saat 3 : 1-3 gün 4 : 3-15 gün\t 5 : 15 gün ve üstü \n \n \n TR.OHVPS.DataCode.VarYok \n 0 : Kayıt Yok 1 : Kayıt Var \n \n \n TR.OHVPS.DataCode.HHSDurumu \n A : Açık. Ãretim Ortamında HHSânin aktif bir Åekilde hizmet vermesi durumu. Y : YaygınlaÅtırma. Ãretim Ortamında HHSânin kendisi tarafından tanımlanmıŠkısıtlı ÃHKâya hizmet vermesi durumu. G : Geçici Hizmet Veremiyor. HHS servislerinde teknik bir sorun olması nedeniyle HHSânin hizmet verememesi durumu. K: Kapalı. HHSânin hizmet vermeme durumu. \n EK-3: İstemci Sertifikalarının Tanım ve Yönetimi \n Tüm katılımcıların BKM API Geçidine eriÅebilmesi için, BKM tarafından yapılan istemci sertifika doÄrulamasından geçmesi gerekmektedir. İstemci sertifikası üretilmeden önce katılımcıların CSR üretme akıÅını tamamlaması gerekmektedir. \n OpenSSL ile CSR (Certificate Signing Request) OluÅturma \nAÅaÄıdaki komut ile 2048-bit RSA private key ve CSR oluÅturulur. \nopenssl req -new -newkey rsa:2048 -nodes -keyout PRIVATEKEY.key -out CSR.csr \n CSR ile ilgili detay bilgilerin giriÅinde; \nCommon Name (CN) olarak 4 karakterli hhsKod ya da yosKod deÄeri ile, \ndiÄer alanlar için de kurum bilgileriniz ile giriÅ yapılır. \n Tüm bilgilerin girilmesinden sonra oluÅan private key dosyası kurumunuzda saklanır.\nCSR dosyası ise istemci sertifika üretmek üzere kullanılır. Bu aÅamada takip edilmesi gereken adımlar Åu Åekildedir: \n Katılımcıların, TRIP ortamı üzerinden, BKM Tarafından yetki verilmiÅ kullanıcılarının görebileceÄi "İstemci Sertifika Talebi" menü adımına giriÅ yapmaları beklenir. Açılan ekranda,"CSR Dosyası Yükleme" alanı içerisine, katılımcının üretmiÅ olduÄu csr dosyası yüklenir. YaklaÅık 1 dakika içerisinde kuruma özel olarak üretilmiÅ olan client sertifikası indirilmeye hazır hale gelecektir. "İndir" butonu ile client sertifika indirilir. İstemci tarafında web isteÄinin ilgili sertifika ile iliÅkilendirilerek oluÅturulması gerekmektedir. \n Uzun dönemli olarak hazırlanacak olan sertifikalar sertifikasyon ve üretim ortamlarında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi bu aÅamalarda sınanacaktır. \n BKM API Geçidi çözümünün test ve üretim ortamları ayrımında istemci sertifikaları, HHS Listeleme API eriÅimleri ve Sertifikasyon baÄlantıları Åekil 15-HHS/YÃS API Mimarisi Diagramında resmedilmiÅtir. \n EK-4: Sunucu Sertifikaları \n Sunucu sertifikalarının endpoint bilgisini (Fqdn) içerecek ve global bir Certification Authority tarafından imzalanmıŠolarak sunulması gerekmektedir.\nÃrneÄin; entegrasyon formu içerinde yer alan URL bilgisinin (test.xbank.com.tr) sertifika içerisinde tanımlı olması ve bu sertifikanın global bir CA örneÄin Verisign tarafından imzalanmıŠolarak sunulması gerekmektedir. \n Hizmet saÄlayıcı olan HHS\'ler tarafından sunucu sertifikaları uygulanmalıdır. \n EK-5: Mesaj İmzalama AkıÅı \n Dijital imzalama yapısı, ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini saÄlamak amacıyla kurgulanmıÅtır.\nBu kapsamda imzalama akıÅı aÅaÄıdaki gibi olmalıdır: \n \n HHS ya da YÃS öncelikle özel ve açık anahtarlarını oluÅturmalıdır. Bu anahtarları oluÅturmak için aÅaÄıda âopensslâ kullanılarak oluÅturma örneÄi paylaÅılmıÅtır. Bu anahtarlardan özel olan anahtar mesajı imzalamak için kullanılacak olup, açık anahtar ise mesajı doÄrulamak amacıyla mesajın alıcısı tarafından kullanılacaktır. \n \n private_key.pem ve public_key.pem dosyasinin içerikleri kod tarafında kullanılacaktır. \n --private.pem => Ãzel anahtarın ismi\nopenssl genrsa -out private.pem 2048 \n --public_key.pem => Açık anahtarın ismi\nopenssl rsa -in private.pem -pubout -outform PEM -out public_key.pem \n --private_key.pem => Ãzel anahtarın PCKS8 formatına çevrilmesi (Java açısından PCKS8 formatında olma ihtiyacı nedeniyle) openssl pkcs8 -topk8 -inform PEM -in private.pem -out private_key.pem -nocrypt \n \n \n Açık ve Ãzel anahtarlar oluÅturulduktan sonra Açık Anahtar BKM ile paylaÅılır. BKM bu açık anahtarı diÄer katılımcıların ulaÅabilmesi ve alabilmesi için bir Anahtar Deposu yaklaÅımı ile bünyesinde tutar. İlgili anahtarı iletebilmek ve alabilmek için kullanılacak HHS/YOS API ye eriÅim detayları EK-6 bölümünde detaylı olarak paylaÅılmıÅtır. EÄer kurumun ilgili anahtar çiftinin yenilenme durumu söz konusu ise yenilemenin hemen ardından açık anahtar yeni bir imzalama yapılmadan önce mutlaka BKM ile paylaÅılmalıdır. \n \n \n İmzalı mesajı açacak olan kurum mesajı imzalayan kurumun açık anahtarını her sorguda yeniden almak durumunda deÄildir. Belirli periyodlarda kendi ortamındaki anahtarı yenileyerek sistemi iÅletebilir. Ancak imzalayan kurum anahtar çifti yenilemesi yaptıÄında BKM ile açık anahtarını paylaÅsa dahi
16imzalı mesajı doÄrulayacak taraf eski açık anahtar ile doÄrulama yapmaya çalıÅtıÄı için hata alacaktır. Bu ilk hata durumunda hızlıca BKM üzerinden yeni anahtarı alıp mesajı tekrar doÄrulamayı denemelidir. EÄer yine hata alıyor ise doÄrulama iÅlemini hata statüsüne almalıdır. Bu sebeple anahtar yenileyen kurum yeni açık anahtarını yeni bir mesaj imzalama yapmadan önce mutlaka BKM ile paylaÅmalıdır. \n \n \n PSU-Fraud-Check alanı için de JWT formatında çıktı hazırlanması beklenmektedir. Ãrnek bir PSU-Fraud-Check payload deÄeri aÅaÄıdaki gibidir; \n {"AnomalyFlag": "0", \n"LastPasswordChangeFlag": "1", \n"FirstLoginFlag": "1", \n"DeviceFirstLoginFlag": "1", \n"BlacklistFlag": "0", \n"MalwareFlag": "0", \n"UnsafeAccountFlag": "0", \n"exp": 1663424479, \n"iat": 1663338079, \n"iss": "[https://apigw.bkm.com.tr|https://apigw.bkm.com.tr/]" } \n İmzalama Kuralları (YÃS) \n Bir YÃS üzerinden baÅlayan akıŠörnek olarak paylaÅılmıÅtır. \n \n \n YÃS, mesaj imzalama gerektiren her API isteÄinin HTTP gövdesini (request body) kendi özel anahtarı ile Åifreleyerek imza bilgisini oluÅturur. \n \n \n Ardından bu imza verisini, göndereceÄi mesajın istek baÅlıÄında yer alan X-JWS-Signature alanında göndermelidir. \n \n \n X-JWS-Signature alanında gönderilecek olan bilgi aÅaÄıdaki yöntem ile oluÅturulmalıdır. \n \n \n Bu alana yazılacak olan bilgi JWT formatında oluÅturulmalıdır. \n \n \n Bir JWT, header-payload-signature alanlarından oluÅmaktadır. \n \n Header alanında JWTâyi imzalamak için kullanılacak algoritma belirtilmelidir. Standartlar kapsamında RS256 kullanılacaktır. \n Payload kısmında özel olarak oluÅturulacak olan âbodyâ claim alanına istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı yazılmalıdır. \n JSON payload oluÅturulurken RFC 7519 baz alınmalıdır. "iss" (Issuer) Claim, "exp" (Expiration Time) Claim, "iat" (Issued At) Claim, âbodyâ Claim alanlarının gönderilmesi zorunludur. ^RFC7519 \na.\t"iss" (Issuer) Claim : Kurumunuza özel bilgidir. \nb.\t"exp" (Expiration Time) Claim: Saniye cinsinden (Unix time) imzanın son geçerli olduÄu tarih. Bu tarih mevcut sunucu saatinizden 60 dakika sonra olacak Åekilde kullanılmalıdır. \nc.\t"iat" (Issued At) Claim : Saniye cinsinden (Unix time) imzanın oluÅturulduÄu tarih. Bu tarih mevcut sunucu saatinizden 5 dakika önce olacak Åekilde kullanılmalıdır. \nd.\tâbodyâ Claim : istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı. \n Signature alanında da özel anahtar ile imzalanmıŠolan imza içeriÄi yer alacaktır. \n \n X-JWS-Signature: JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. \n Ãrnek X-JWS-Signature Payload DeÄeri \n { \n"iss": "https://apigw.bkm.com.tr", \n"exp": 1646832405, \n"iat": 1646746005, \n"body": "c543072f97a761a1d891dc81acc380bc1e6f61ca6541bd93ebfdece338457922" \n} \n \n \n \n \n YÃS, isteÄi gönderir. Sadece mesajın bütünlüÄünü ve doÄruluÄunu teyit amacı ile istek gövdesi (request body) SHA256 hash deÄeri imzalanarak X-JWS-Signature alanında bu imza iletilir. İsteÄin gövde (request body) kısmı açık ve Åifresiz olarak gönderilmektedir. \n \n \n HHS, isteÄi alır, talebi gerçekleÅtirmeden önce aldıÄı API isteklerinin imzasını doÄrulamalıdır. X-JWS-Signature alanındaki JWT aÅaÄıdaki adımlarla doÄrulanmalıdır. \n \n Header kısmındaki algoritmanin RS256 olduÄu kontrol edilir. \n Gönderen kurumun açık anahtarı ile JWT verify (doÄrulama) iÅlemi yapılır. \n Yukarıdaki iÅlemlerin doÄruluÄunun ardından JWTânin payload kısmındaki âbodyâ claim alanındaki bilginin, isteÄin gövde verisinin SHA256 hash deÄerlerinin aynı olduÄu kontrol edilir. \n Ãrnek checksum deÄeri "a64b19f95eeb1fb0a0a3e2dbbc6e3d8472c52184d4543417ddc6d156fc5c5571" veya "A64B19F95EEB1FB0A0A3E2DBBC6E3D8472C52184D4543417DDC6D156FC5C5571" Åeklinde olabilir. İki hali de aynı deÄere sahiptir. Kontrollerde buna dikkat edilmesi gerekmektedir. \n \n \n \n Yukarıdaki iÅlemler ile doÄruluÄu teyit edilmiÅ olan isteÄin talebi gerçekleÅtirir. \n \n \n EÄer istek doÄrulanamıyor ise gönderen kurumun açık ve özel anahtar çifti yenilenmiÅ olabilir. \n \n \n BKM HHS API üzerinden ilgili kurumun bilgilerini (kurum ko
16du vs) kullanarak kurumun detay bilgileri çeker ve kendi ortamında yeniler. \n \n \n Ardından imzayı tekrar açık anahtar ile doÄrulayarak kontroller gerçekleÅtirilir. (EÄer halen doÄrulama iÅlemi baÅarısız ise bu istek için hata akıÅı çalıÅtırılır. TR.OHVPS.Resource.InvalidSignature kodu ile hata üretilebilir.) \n \n \n İmza bilgisinin beklendiÄi (x-jws-signature) servislerde, bu bilginin iletilmediÄi durumlarda TR.OHVPS.Resource.MissingSignature hatası üretilebilir. \n \n \n HHS isteÄi iÅledikten sonra cevabı oluÅtururken de yukarıdaki akıÅlar ile göndereceÄi cevabı imzalamalıdır. \n \n \n İstek yanıt gövdesinin SHA256 checksum deÄeri için hexadecimal çıktı kullanılacaktır. OluÅacak çıktının 64 karakter olması beklenmektedir. Kontrol için "^[A-Fa-f0-9]{64}$" RegEx tarifini kullanabilirsiniz. \n \n \n Ãrnek bir gövde: \n {"katilimciBlg":{"hhsKod":"8000","yosKod":"8000"},"gkd":{"yetYntm":"Y","yonAdr":"https://boss-test.bkm.com.tr/boss/ab/yosSimulator/8000?drmKod=6021de9f-55e7-454a-94be-2044866b22e1"},"kmlk":{"kmlkTur":"M","kmlkVrs":"123456","ohkTur":"B"},"hspBlg":{"iznBlg":{"iznTur":["01","02","03","04","05"],"erisimIzniSonTrh":"2022-10-12T23:59:59+03:00","hesapIslemBslZmn":"2021-10-10T00:00:00+03:00","hesapIslemBtsZmn":"2023-10-10T23:59:59+03:00"}}}\n \n Bu gövdenin checksum\'ı: \n a64b19f95eeb1fb0a0a3e2dbbc6e3d8472c52184d4543417ddc6d156fc5c5571\n \n Bu checksum\'ın iletildiÄi x-jws-signature baÅlık deÄeri: \n eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwaWd3LmJrbS5jb20udHIiLCJleHAiOjE2NjU0NzU1NjIsImlhdCI6MTY2NTM4OTE2MiwiYm9keSI6ImE2NGIxOWY5NWVlYjFmYjBhMGEzZTJkYmJjNmUzZDg0NzJjNTIxODRkNDU0MzQxN2RkYzZkMTU2ZmM1YzU1NzEifQ.Q65PI_1fTEzzBMirvmJvXgVX3orhhZ4_UqujtGdHkU7me-1ymIjvPrzy3kfyER1pedFb7HDCBuPvYoqjX8eUnpiiZsxfzCiEa0McIhoFeUOggq-O8VihItp8bLr2DWwQ9JHN1-WXB2mL31KAKFAL1VY9-DXuAdT-RfE_SLYsl2ycmNy4ti4XvfDvvlE56ZsieFZ727VuwR8wi7F0kKDc6UhjaMF9xcUeAM1fxX-bmcOaOo1NZGC0vvgjNZKz_OJrN-q8VhWYnQPiJ7wY7S9IG8bHIkBImKSVf8LuOEvl8u0BZzADLH1iOBd9x2l1plyI_NLPTrnOqhWhKlljkkJBCg\n \n EÄer PSU-Fraud-Check için baÅlık gönderilecekse, yine JWT formatında imza üretilmelidir. Ãrnek bir psu-fraud-check baÅlık deÄeri: \n eyJhbGciOiJSUzI1NiJ9.eyJBbm9tYWx5RmxhZyI6IjAiLCJMYXN0UGFzc3dvcmRDaGFuZ2VGbGFnIjoiMSIsIkZpcnN0TG9naW5GbGFnIjoiMSIsIkRldmljZUZpcnN0TG9naW5GbGFnIjoiMSIsIkJsYWNrbGlzdEZsYWciOiIwIiwiTWFsd2FyZUZsYWciOiIwIiwiVW5zYWZlQWNjb3VudEZsYWciOiIwIiwiZXhwIjoxNjY1NDc1NTU2LCJpYXQiOjE2NjUzODkxNTYsImlzcyI6Imh0dHBzOi8vYXBpZ3cuYmttLmNvbS50ciJ9.DhUh_nsXDuNIrvsQ3KOhOXdVcJg6fTDVW8K1oea8kLtmb7n-_hJHY3mWX5zzobu-Vh2VvFzIxPhHtol6gLHFktmIMiQ9TDHb_mRZFXgJB4ToNfqc3Fy9mi5bS8By2IYi1HxDaCStstaZDaunzXfHCtqybfZXyk6teDrf-iIf6lqX9Keo7GZO-Y7mP7C13-c_QwyNKrZK4TZwUQbecRqXYn1DcEHM7kukQHTar_hKBWkXPmNpScY0J2rKksr4ejR1uLhdQm-Pdwoe9y6qrNEB79vMLBkRNtbuV0vc1GYHp_YKkzBKBI_58uuB2GD9877CsrcRnHMQb88xpxiPKh6-ew\n EK-6: HHS/YÃS API Mimarisi \n HHS/YÃS API Uygulama Mimarisinde Test ve Ãretim ortamlarında aÅaÄıdaki alanda yer almaktadır. \n \n Åekil 15: HHS/YÃS API Mimarisi \n'},{title:"5.\tGüçlü Kimlik DoÄrulama",frontmatter:{},regularPath:"/v1.0.2/contents/gkd.html",relativePath:"v1.0.2/contents/gkd.md",key:"v-d80dcb06",path:"/v1.0.2/contents/gkd.html",headers:[{level:2,title:"5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama",slug:"_5-1-yonlendirmeli-guclu-kimlik-dogrulama"},{level:2,title:"5.2.\tAyrık Güçlü Kimlik DoÄrulama",slug:"_5-2-ayrık-guclu-kimlik-dogrulama"},{level:2,title:"5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi",slug:"_5-3-yonlendirme-bildirim-adresleri-ve-durum-kodu-parametresi"},{level:2,title:"5.4\tHealthcheck API",slug:"_5-4healthcheck-api"},{level:2,title:"5.5 Güçlü Kimlik DoÄrulama Kontrolleri",slug:"_5-5-guclu-kimlik-dogrulama-kontrolleri"}],content:" 5.\tGüçlü Kimlik DoÄrulama \n MüÅteri için güçlü kimlik doÄrulama, ÃHKânın (müÅterinin) kimliÄinin doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin âbildiÄiâ, âsahip olduÄuâ veya âbiyometrik bir karakteristiÄi olanâ bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntemi tanımlar. \n Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄ uyarınca hesap bilgisi hizmetinde müÅterinin onayının alınması esnasında ve ödeme emri baÅlatma hizmetinde her bir ödeme emri baÅlatma iÅleminde HHS tarafından müÅteriye güÃ
16§lü kimlik doÄrulama (GKD) uygulanması esastır. Buna göre: \n \n \n Hesap bilgisi hizmetinde ÃHKânın onayının alınması esnasında TebliÄin 26 ncı maddesinin 1 inci fıkrası uyarınca HHS tarafından ÃHKâya GKD uygulanır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 2 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanır ve iÅlem doÄrulama kodu ile ÃHKânın onayı alınır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 3 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanmasına iliÅkin istisna veya ilave güvenlik önlemleri iÅbu API İlke ve Kuralları belgesinde tanımlanır. \n \n \n HHS, güçlü kimlik doÄrulama sürecinde ÃHKânin sahip olduÄu bileÅen sınıfı olarak SMS OTP ya da SMS ile iÅlem doÄrulama kodu kullanabilir. \n \n \n HHS, aÅaÄıdaki hallerde veya TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre tek bileÅen ile kimlik doÄrulama yapabilir. \n \n Ãdemenin göndereni ve alıcısının aynı olması, \n Daha önce tanımlanmıŠgüvenli alıcılar listesine ödeme yapılması, \n ÃHKânin talimatına istinaden gerçekleÅtirilen düzenli bir ödeme olması. \n \n \n \n Tek bileÅen ile kimlik doÄrulama yapılan bu iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin müÅteri tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye ait olur. \n \n \n İÅlem DoÄrulamada TebliÄin 3 üncü maddesinin birinci fıkrası ÄÄ bendindeki iÅlem bilgisi tanımına uygun olarak aÅaÄıdaki bilgiler ile TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde tanımlanan iÅleme özel üretilmiÅ iÅlem doÄrulama kodu birlikte kullanılır. \n \n Alıcı Unvan (Kolas akıÅında maskeli olarak) (ödeme emri baÅlatma hizmeti) \n Tutar (ödeme emri baÅlatma hizmeti) \n Referans bilgisi (8 karakterden küçük ise alanın tüm deÄeri, büyük ise ilk 4 ve son 4 hanesi) \n \n İÅleme ait yukarıdaki bilgilerden en az biri deÄiÅtiÄi zaman TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde belirtildiÄi gibi yeni bir iÅlem doÄrulama kodu üretilecek Åekilde akıŠkurgulanmalıdır. \n \n \n İÅlem doÄrulama kodunun gönderilmesinden HHS sorumludur. HHS, TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre iÅlem doÄrulama kodu kullanmaksızın ÃHKânın onayını alabilir. İÅlem doÄrulama kodu kullanılmayan iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin ÃHK tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye aittir. \n \n \n ÃHVPS API standartı kapsamında iki adet Güçlü Kimlik DoÄrulama (GKD) yöntemi kullanılacaktır: \n \n Yönlendirmeli (Redirect) GKD Yöntemi \n Ayrık (Decoupled) GKD Yöntemi \n \n \n \n HHS asgari olarak tarayıcı tabanlı Yönlendirmeli GKD yöntemini desteklemek zorundadır. \n \n \n Ãerçeve sözleÅme kapsamında olmayan tek seferlik ödeme iÅlemleri sadece Yönlendirmeli GKD yöntemi ile gerçekleÅtirilebilir. \n 5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama \n Yönlendirmeli GKD Yönteminde, müÅteri kimlik doÄrulama için YÃS tarafından HHS arayüzüne yönlendirilir. \n MüÅteri HHSâye (uygulama veya web arayüzü vasıtasıyla) yönlendirildikten sonra müÅterinin güçlü kimlik doÄrulaması adım adım ve doÄrudan HHS ile müÅteri arasında yürütülür. GKDânin tamamlanmasından sonra müÅteri tekrar YÃS uygulamasına yönlendirilir.Yönlendirmenin aynı sayfada HTTP 302 yanıt koduyla yapılması gerekmektedir. \n Yönlendirmeli GKD Yöntemi için üst düzey örnek iÅ akıÅı aÅaÄıdaki adımlardan oluÅur: \n \n YÃS, GKD için HHS tarafından tanımlanan arayüze (tarayıcı ya da uygulama) yönlendirme yapar. \n MüÅteri, YÃS arayüzünden ayrılır, yönlendirildiÄi HHS arayüzü üzerinde kimlik doÄrulama iÅlemlerini gerçekleÅtirir. \n GKD tamamlandıktan sonra müÅteri, YÃS arayüzüne tekrar yönlendirilir ve iÅlem sonucu görüntülenir. \n \n Yönlendirmeli GKD için temel gereklilikler Åunlardır: \n \n Ãdeme hizmeti (hesap bilgisi veya ödeme emri baÅlatma hizmeti) tarayıcı ya da uygulama tabanlı bir Åekilde sunulabilir. Bu nedenle, YÃS ve HHSâlerin Yönlendirmeli GKD için asgari olarak tarayıcı tabanlı yönlendirme akıÅını desteklemeleri gerekmektedir. \n Ãerçeve sözleÅme (ÃS) kapsamında olmayan tek seferlik ödeme iÅlemleri sadece Yönlendirmeli GKD yöntemi ile gerçekleÅtirilebilir. \n \n Tarayıcı Tabanlı Yönlendirme \n HHSânin web arayüzüne, \n \n HHSânin mobil uygulamasının olmadıÄı, \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) sunduÄu mobil cihazda HHS uygulamasının yüklü olmadıÄı, \ndurumlarda yönlendirme yapılır. \n \n YÃSâün mobil uygulaması varsa mobil cihazda uygulamadan tarayıcıya, YÃSâün mobil uygulaması yoksa ödeme hizmetinin sunduÄu cihazda (KiÅisel Bilgisayar veya Mobil Cihaz) tarayıcı üzerinden yönlendirme yapılır. \n Uygulama Tabanlı Yönlendirme \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) YÃSâün mobil uygulaması ile kullanıyorsa, aynı mobil cihazda HHSânin mobil uygulamasının yüklenmiÅ olması durumunda, ÃHK doÄrulamasının HHS mobil uygulaması tarafından yapılması için uygulama tabanlı yönlendirme yapılır. Böylece ÃHK, ödeme hizmetine eriÅim için HHSânin mobil kanalına eriÅim sırasında kullandıÄı doÄrulama yöntemini ile doÄrulanabilir. \n Tablo 5: Yönlendirmeli Güçlü Kimlik DoÄrulama Kanalları \n \n \n \n DoÄrulama Yöntemi \n YÃS Olası Ortam \n HHS Olası Ortam \n \n \n \n \n Tarayıcı Tabanlı Yönlendirme \n KiÅisel Bilgisayar (masaüstü, dizüstü)/Mobil Cihaz \n KiÅisel Bilgisayar (masaüstü, dizüstü) / Mobil Cihaz \n \n \n Uygulama Tabanlı Yönlendirme \n Mobil Cihaz \n Mobil Cihaz \n 5.2.\tAyrık Güçlü Kimlik DoÄrulama \n Ayrık GKD Yöntemi iÅ akıÅı, Yönlendirmeli GKD Yönteminin iÅlem akıÅına benzer. Fark, HHS'nin, çevrimiçi arayüzünden baÄımsız olan herhangi bir uygulama veya cihaz aracılıÄıyla ödeme iÅlemi ayrıntılarını içeren bir anlık bildirim (push notification) göndererek müÅteriden kimlik doÄrulaması istemesidir. Ayrık GKD Yöntemine dayalı bir iÅlem için (çok basitleÅtirilmiÅ) üst düzey örnek bilgi akıÅı Åu Åekildedir: \n \n MüÅteri, YÃS arayüzünde iÅlemini baÅlatır. \n YÃS, talebini müÅteriye ait TCKN, VKN, YKN gibi tekil tanımlayıcı kimlik numarası bilgisi içerecek Åekilde HHSâye iletilir. \n HHS tekil tanımlayıcı bilgisini kullanarak farklı bir cihaz veya uygulama üzerinden müÅteriye anlık bildirim gönderir ve doÄrulama yapılmasını saÄlar. Bu Åekilde HHS kendi mobil uygulamasına eriÅim için kullanılan doÄrulama yöntemini aynen kullanabilecektir. \n YÃS, herhangi bir yere yönlendirme yapmadan iÅlemin sonucunu bekler, müÅteri YÃS arayüzünden ayrılmaz (arayüz aynı kalır). \n Kimlik doÄrulama sonrası, YÃS arayüzünde iÅlem sonucu görüntülenir. \n 5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi \n CSRF Ataklarından korunmak için ve YÃS uygulamasının bir önceki durumunu restore edebilmesi için; YÃS tarafından iletilen yönlendirme ve bildirim adreslerine , Oauth2 standartlarındaki state parametresine eÅdeÄer, durum ko
16du (drmKod) parametresinin eklenmesi gerekmektedir. Durum kodu parametresi YÃS tarafından üretilen, tekil ve kolay tahmin edilemeyen bir deÄer olmalıdır. Rıza isteÄi gönderimi aÅamasında oluÅturulmalıdır. YÃS uygulamasında uygun bir yerde saklanmalıdır (cookie, session, local storage gibi) . \n Durum kodu, rıza isteÄindeki yönlendirme adresine parametre olarak eklenir. GKD süreci sonrasında yetki kodu ile birlikte bu bilgi, HHS tarafından YÃSâe iletilir. YÃS sakladıÄı deÄer ile parametre olarak gelen deÄerin eÅitliÄini kontrol eder. Aynı ise eriÅim belirteci almak üzere akıÅı ilerletir. Farklı ise iÅlemi keser. \n 5.4\tHealthcheck API \n GET /health \n HHSâlerin sunacaÄı bu servis, düzenli olarak BKM tarafından çaÄırılarak servislerin ayakta olup olmadıklarının kontrolünün saÄlanması planlanmaktadır. \n BaÅarılı yanıtta Http 200 kodu dönülmelidir. \nBaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n KoÅullu / İsteÄe BaÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir. \n 5.5 Güçlü Kimlik DoÄrulama Kontrolleri \n ÃHK, GKD için HHS uygulamasına yönlendirildiÄinde, HHSânin çeÅitli kontroller yaparak iÅlemin doÄruluÄunu teyit etmesi gerekmektedir.\nYapılması gereken kontrollere ait temel senaryolar aÅaÄıdaki tabloda belirtilmiÅtir. Bu senaryolar baz alınarak HHSâler tarafından zenginleÅtirilebilir. \n AÅaÄıdaki tabloda yer alan 07-13 arası Rıza İptal Detay Kodlarının oluÅtuÄu senaryolar, HHS uygulamasında yapılan kullanıcı doÄrulama öncesi ve sonrası olarak iki adımda incelenmelidir. \n HHS tarafında, kullanıcı doÄrulama öncesinde yapılan kontroller neticesinde verilemeyen rızalar için â04â : Süre AÅımı : Yetki Bekleniyor iptal kodu atanır. HHS'nin YÃS uygulamasına 04 kodunu iletmesi beklenmez. YÃS zaman aÅımı neticesinde rıza statüsünü sorgulayarak öÄrenir. \nKullanıcı doÄrulandıktan sonra rıza verilemiyorsa ilgili hata kodunun YÃS'e iletilmesi beklenmektedir. Kullanıcı doÄrulama sonrası YÃS'e iletilen rıza iptal detay kodu ile HHS veri modelinde tutulan rıza ile iliÅkili rıza iptal detay kodu, aynı deÄeri alacak Åekilde güncellenmelidir. YÃS, HHS tarafından kendine iletilen rıza iptal detay kodunu kendi veri modelinde güncellemelidir. \n Zorunlu olarak belirtilen hata durumlarının HHSâler tarafından gerçeklenmesi ve uygun hata kodlarının YÃSâe iletilmesi; ileride oluÅabilecek mutabakatlaÅma sorunlarını ortadan kaldırabilecek, yapılacak raporlamalar kapsamında sistem ve süreç iyileÅtirmelerine katkı saÄlayacak, son kullanıcı açısından da alınan hataya yönelik bilgilendirici içerik saÄlayacaktır. \n Hata açıklamaları; hata koduna uygun ya da uyumlu olmak kaydıyla, HHS ve YÃS tarafından farklı Åekillerde sunulabilir. \n GKD Sırasında yapılması gereken kontroller \n \n \n \n Rıza İptal Detay Kodu \n HHS hata açıklaması* \n Yös ekranında listelenecek örnek mesaj metni* \n Ãrnek Senaryo \n Zorunlu / Opsiyonel \n \n \n \n \n 07 \n Rıza mevcut ve durumu \"Yetkilendirildi\" veya \"Yetki Kullanıldı\" \n Yetki Hatası \n ÃHK, kullanıcı doÄrulama iÅlemi tamamlandıktan sonra YÃS ekranında ileri - geri yaparak ya da ÃHK'nın yönlendirme adresini kopyalayarak tarayıcıya yapıÅtırması ile tekrar HHS'ye yönlendirir. Bu durumda HHS bu rıza iptal detay kodunu iletir. HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 08 \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. \n İÅlem gerçekleÅtirilememiÅtir. \n YÃS tarafından baÅlatılan rıza içerisinde yer alan kimlik bilgisi (örn:TCKN) ile HHS'de baÅarılı kimlik doÄrulama yapılan ÃHK'nın bilgilerinin uyuÅmadıÄı durumda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 09 \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) \n Gösterilebilecek hesap/kart bulunamamıÅtır. \n HHS, kullanıcı doÄrulama yaptıktan sonra, ÃHK'nın uygun statülü hesabının olmadıÄı durumda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 10 \n ÃHK'nın Açık Bankacılık kanalı iÅleme kapalı \n ÃHK'nın Açık Bankacılık kanalı iÅleme kapalı \n Açık bankacılıÄı ayrı bir kanal olarak tanımlamıŠHHS'lerde,
16ÃHK kullanıcı doÄrulama yaptıktan sonra yapılan kontrollerde, ÃHK'nın iÅlemlerini AB kanalına kapatmıŠolması durumunda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Opsiyonel \n \n \n 11 \n ÃHK'nın HHS'deki hesaplarında yeterli yetkisinin olmaması \n Yetki hatası \n 1- Kurumsal firma kullanıcılarının hesaplar üzerinde iÅlem yetkisinin olmaması durumunda 2- Bireysel ortak hesaplarda hesap kısıtı bulunuyorsa (para çıkıÅına izin verilmediÄi durum) HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 12 \n HHSânin, ÃHK özelinde yaptıÄı kontrollerin baÅarısız olması \n Yetki hatası \n HHS'nin, kullanıcı doÄrulama sonrası ÃHK için iç sistemlerinde yaptıÄı kontrollerin baÅarısız olması. ÃrneÄin: MüÅterinin henüz bankacılık hizmet sözleÅmesi gibi Internet Åubesi üzerinde iÅlem yapmasını engelleyen eksikleri olması durumunda veya kurumsal kullanıcıda vekalet süresinin dolması/eksik doküman olması durumunda kanal üzerinde iÅlem yapamadıÄı durum HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Opsiyonel \n \n \n 13 \n ÃHK isteÄi ile GKDâden vazgeçilmesi \n MüÅteri iÅlemden vazgeçmiÅtir. \n HHS ekranında yer alan VAZGEà butonuna basılması durumu (ÃHK,HHS uygulamasında kullanıcı doÄrulama yaptıktan sonra VAZGEà butonu olabilir.) \n Zorunlu \n \n \n 14 \n GKD İptali: Fraud Åüphesi \n İÅlem gerçekleÅtirilememiÅtir. \n HHS Fraud Åüphesi nedeniyle iÅlemin devamına izin vermez. HHS'nin, fraud kontrollerinin ödeme baÅlatma hizmeti için yapması ve â14- GKD İptali: Fraud Åüphesiâ ile rıza iptalini gerçekleÅtirmelidir. HBH servislerinde HHS'nin rıza iptal kodu 14 ile iÅlemi kesmesi HHS'nin kendi insiyatifindedir yani opsiyoneldir. \n KoÅullu \n \n \n 99 \n DiÄer \n İÅlem gerçekleÅtirilememiÅtir. \n OluÅabilecek diÄer senaryolar. \n Zorunlu \n \n \n \n GKD sırasında iletilen rıza no eÄer HHSânin sisteminde bulunamazsa durumu güncellenecek bir rıza no da olmayacaktır. HHS kendi önyüzünde bu duruma uygun bir mesaj gösterebilir. YÃSâe de DiÄer hata kodu ile bu durumu iletebilir. \n"},{title:"POST /erisim-belirteci",frontmatter:{},regularPath:"/v1.0.2/contents/erisim-belirteci.html",relativePath:"v1.0.2/contents/erisim-belirteci.md",key:"v-485bbe8d",path:"/v1.0.2/contents/erisim-belirteci.html",content:" POST /erisim-belirteci \n İSTEK: \n YÃS erisim-belirteci eriÅim adresini 2 amaçla kullanır: \n \n \n Bir önceki adımdan aldıÄı rizaNo, rizaTip (ödeme emri baÅlatma hizmetinde âOâ, hesap bilgisi hizmetinde âHâ) ve GKD sonrası dönülen yetKod bilgilerini kullanarak HHS nezdinde ErisimBelirteci nesnesi oluÅturmak üzere istekte bulunur. YÃSâün istekte bulunabilmesi için GKD adımının baÅarılı bir Åekilde tamamlanması rizaDrm bilgisinin âyetkilendirildiâ olması gerekir. EriÅim Belirteci nesnesi ile rızası nesnesi (Ãdeme Emri Rızası veya Hesap Bilgisi Rızası) arasındaki iliÅki rıza numarası üzerinden saÄlanır. \n \n \n AldıÄı eriÅim belirtecinin Geçerlilik Süresinin dolduÄu durumda, yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alması gerekmektedir. \n \n \n POST /erisim-belirteci isteÄinin (REQUEST) gövdesinde (BODY) âErisimBelirteciIstegiâ nesnesi (Tablo-23) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âErisimBelirteciâ nesnesi (Tablo 24) oluÅturulur veya (Yenileme Belirteci için) güncellenir. Rıza durumu âYetki Kullanıldıâ olarak güncellenir. \n EriÅim Belirteci POST iÅlemi sonucunda HTTP 200 dönülmesi gerekmektedir. \n Tablo 23: âErisimBelirteciIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n RızaNo \n rizaNo \n AN1..128 \n Z \n Rıza nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Rıza Tipi \n rizaTip \n AN1 \n Z \n O veya H (TR.OHVPS.DataCode.RizaTip) \n \n \n Yetki Tipi \n yetTip \n AN1..50 \n Z \n âyet_kodâ yada âyenileme_belirteciâ deÄerini alabilir. (TR.OHVPS.DataCode.YetTip) \n \n \n Yetki Kodu \n yetKod \n AN1..255 \n K \n GKD iÅleminden dönen yetkilendirme kodudur. Tek kullanımlık olup, aynı yetKod ile birden fazla token alınamaz. yetKod Parametresinin yaÅam ömrü 5 dakika olmalıdır. yetTip = âyet_kodâ ise zorunludur. \n \n \n Yenilenme Belirteci \n yenilemeBelirteci \n AN1..4096 \n K \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. yetTip = âyenileme_belirteciâ ise kullanımı zorunludur. \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âerisimBelirteciâ nesnesinde (Tablo-19) bulunan eriÅim belirteci deÄeri ödeme emrinin baÅlatılması esnasında kullanılır. \n Tablo 24: \"ErisimBelirteci\" nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n EriÅim Belirteci \n erisimBelirteci \n AN1..4096 \n Z \n Yetkilendirme Kodu karÅılıÄında HHS tarafından dönülen ve sonraki hesap bilgisi ve ödeme emri servislerine eriÅimde kullanılan bilgidir. \n \n \n Geçerlilik Süresi \n gecerlilikSuresi \n N1..9 \n Z \n EriÅim Belirtecini saniye cinsinden geçerlilik süresidir. EriÅim belirteci geçerli olduÄu son tarih ; Hesap Bilgisi Rızası için en fazla 30 gün olmalıdır. EriÅimin Geçerli OlduÄu Son Tarih(erisimIzniSonTrh); EriÅim Belirteci Geçerlilik Süresi'nden küçük ise EriÅimin Geçerli OlduÄu Son Tarih deÄeri ile sınırlıdır. Ãdeme BaÅlatma Rızası için 5 dakika olmalıdır. \n \n \n Yenileme Belirteci \n yenilemeBelirteci \n AN1..4096 \n Z \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. \n \n \n Yenileme Belirteci Geçerlik Süresi \n yenilemeBelirteciGecerlilikSuresi \n N1..9 \n Z \n Yenileme belirtecinin saniye cinsinden geçerlilik süresidir. Yenileme belirtecinin geçerli olduÄu son tarih ; Hesap Bilgisi için EriÅimin Geçerli OlduÄu Son Tarih ile sınırlı olmalıdır. Bu tarih geldiÄi zaman Hesap Bilgisi Rıza Durumunu âYetki Sonlandırıldıâ statüsüne çekilmesi gerekir. Ãdeme BaÅlatma için Rıza OluÅturma Zamanından 15 gün sonrası olmalıdır. 15 gün süresi sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. İleri vadeli iÅlemler bu kapsamda deÄildir. Ãdeme emri 5 dakika içinde gerçekleÅtirilmelidir. GerçekleÅmediÄinde 4.2.8 bölümünde aktarılan rıza statü güncellemesi yapılmalıdır. \n \n \n \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci, iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir. \n Yenilenme Belirteci (refreshToken) kullanılarak EriÅim Belirteci (accessToken) alındıÄında, döne
16n yanıttaki Yenileme Belirteci Geçerlik Süresi (yenilemeBelirteciGecerlilikSuresi) geçen süre eksiltilerek, kalan zamanın saniye cinsinden hesaplanmasıyla iletilmelidir. \n Yenileme Belirteci ile EriÅim Belirteci güncellendiÄinde, HHS'den dönen yenilemeBelirteci deÄeri deÄiÅebilir, YÃS bu güncel anahtarı saklamalı ve sonraki erisimBelirteci isteÄini yenilenmiÅ olan yenilemeBelirteci ile yapmalıdır. \n EriÅim Belirteci API çaÄrımı sırasında rıza durumları kontrol edilmelidir. Bu kontrollerin nasıl yapılması gerektiÄi 4-Rıza Durumları bölümünde aktarılmıÅtır. \n Yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alınması sırasında hata alınması durumunda, HHS'nin döndüÄü hata yanıtında httpCode = 401 ve errorCode = \"TR.OHVPS.Connection.InvalidToken\" geldiÄi durumda, YÃS tarafından HHS'ye ilgili rıza için sistemsel olarak iptal isteÄi gönderilmelidir. \n"},{title:"2.Kapsam ve Dayanak",frontmatter:{},regularPath:"/v1.0.2/contents/kapsam-ve-dayanak.html",relativePath:"v1.0.2/contents/kapsam-ve-dayanak.md",key:"v-3539d41d",path:"/v1.0.2/contents/kapsam-ve-dayanak.html",content:" 2.Kapsam ve Dayanak \n 12 Kasım 2019âda güncellenen â 6493 sayılı Ãdeme ve Menkul Kıymet Mutabakat Sistemleri, Ãdeme Hizmetleri ve Elektronik Para KuruluÅları Hakkında Kanun âun (Kanun) 12ânci maddesine yeni eklenen ve Ãdeme Hizmetleri Direktifi 2 'de (Payment Services Directive 2, PSD2) bulunan iki yeni ödeme hizmeti aÅaÄıdaki gibi tanımlanmıÅtır (Åekil-1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri): \n \n Ãdeme Emri BaÅlatma Hizmeti : ÃHKânın isteÄi üzerine baÅka bir ödeme hizmeti saÄlayıcısında bulunan ödeme hesabıyla ilgili sunulan ödeme emri baÅlatma hizmeti [Madde 12, birinci fıkra, (f) bendi] \n Hesap Bilgisi Hizmeti : ÃHKânın onayının alınması koÅuluyla, ÃHKânın ödeme hizmeti saÄlayıcıları nezdinde bulunan bir veya daha fazla ödeme hesabına iliÅkin konsolide edilmiÅ bilgilerin çevrim içi platformlarda sunulması hizmeti [Madde 12, birinci fıkra, (g) bendi] \n \n \n Åekil 1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS)- tanıtım \n Kanunun 14/A maddesinin ikinci fıkrasına göre , Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetleri ile ilgili iÅlemlerin yürütülmesine iliÅkin usul ve esaslar ile taraflarca uyulması gereken teknik ve operasyonel gereklilikler ikincil düzenlemeler uyarınca Türkiye Cumhuriyet Merkez Bankası (TCMB) tarafından belirlenir. Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri ödeme hizmetleri veri paylaÅım servisleri (ÃHVPS) olarak adlandırılmaktadır. \n Ãdeme Hizmetleri ve Elektronik Para İhracı ile Ãdeme Hizmeti SaÄlayıcıları Hakkında Yönetmelikâin (Yönetmelik) 59âuncu maddesinin birinci fıkrası uyarınca hazırlanan bu belgede söz konusu ödeme hizmetlerini sunacak ödeme hizmeti saÄlayıcısının, ödeme hesabının bulunduÄu ödeme hizmeti saÄlayıcısının, varsa ilgili diÄer tarafların ve bu hizmetlerin sunulması için taraflar arasında kurulacak baÄlantının teknik ve operasyonel gereklilikleri açıklanmaktadır. \n Düzenlemeler kapsamında yetkilendirilen üçüncü taraf hizmet saÄlayıcısı (Yetkili Ãdeme Hizmeti SaÄlayıcısı, YÃS) , ödeme hizmeti kullanıcılarının Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki ödeme hesaplarına ulaÅarak ödeme emri baÅlatma ve hesap bilgisi saÄlama hizmetlerinden (ödeme hizmetleri veri paylaÅım servislerinden) faydalanmasına aracılık eder. Ãdeme hizmetleri veri paylaÅım servisleri kapsamında iki tip YÃS bulunmaktadır: 1) Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ve 2) Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS). \n Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ÃHKânın farklı Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki hesaplarının bilgilerini derleyerek çevrim içi platformlarda toplu Åekilde sunar. Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS) ise talebi üzerine ÃHKânın HHSâde bulunan ödeme hesabından ödeme iÅlemi baÅlatır. \n ÃHVPSânin üst düzey gösterimi Åekil-2âde verilmiÅtir. \n \n Åekil 2: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS) -üst düzey gösterim \n Ãdeme Hizmetleri Veri PaylaÅım Servislerinin HHSâler tarafından BKM API Geçidi vasıtasıyla sunulduÄu uygulama mimarisi ise Åekil-3âte sunulmuÅtur. \n \n Åekil 3: ÃHVPS'nin BKM API Geçidi vasıtasıyla sunumu \n"},{title:"7.\tHesap Bilgisi Hizmeti",frontmatter:{},regularPath:"/v1.0.2/contents/hesap-bilgisi-hizmeti.html",relativePath:"v1.0.2/contents/hesap-bilgisi-hizmeti.md",key:"v-f0808a06",path:"/v1.0.2/contents/hesap-bilgisi-hizmeti.html",headers:[{level:2,title:"Genel Bilgiler",slug:"genel-bilgiler"},{level:2,title:"Hesap Bilgisi Hizmeti İçin EriÅim Adresleri",slug:"hesap-bilgisi-hizmeti-icin-erisim-adresleri"}
16,{level:2,title:"ADIM 0: ÃHK'nın hesap bilgilerine eriÅim için talepte bulunması:",slug:"adim-0-ohk-nın-hesap-bilgilerine-erisim-icin-talepte-bulunması"},{level:2,title:"7.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması",slug:"_7-1-adim-1-hesap-bilgisi-rızasının-hazırlanması"},{level:3,title:"POST /hesap-bilgisi-rizasi",slug:"post-hesap-bilgisi-rizasi"},{level:3,title:"BaÅarılı İstek:",slug:"basarılı-istek"},{level:3,title:"BaÅarılı Yanıt:",slug:"basarılı-yanıt"},{level:2,title:"İzinler",slug:"izinler"},{level:2,title:"7.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi",slug:"_7-2-adim-2-hesap-bilgisi-hizmeti-rızasının-tesisi"},{level:2,title:"7.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması",slug:"_7-3-adim-2-1-hesap-bilgisi-rızasının-sorgulanması"},{level:2,title:"7.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali",slug:"_7-4-adim-2-2-hesap-bilgisi-rızasının-iptali"},{level:2,title:"7.5 ADIM 3: Hesap Bilgilerinin Alınması",slug:"_7-5-adim-3-hesap-bilgilerinin-alınması"},{level:2,title:"7.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması",slug:"_7-6-adim-3-1-ve-3-2-hesap-bilgilerinin-sorgulanması"},{level:2,title:"7.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması",slug:"_7-7-adim-3-3-ve-3-4-hesap-bakiyesinin-sorgulanması"},{level:2,title:"7.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması",slug:"_7-8-adim-3-5-ve-3-6-islemlerin-sorgulanması"},{level:2,title:"7.9\tHealthcheck API",slug:"_7-9healthcheck-api"},{level:3,title:"BaÅarılı Yanıt:",slug:"basarılı-yanıt-2"}],content:" 7.\tHesap Bilgisi Hizmeti \n Genel Bilgiler \n Hesap bilgisi sorgulama için HBHS tarafından müÅteri rızası tesisinin HHS tamamlanmıŠolması gerekir. MüÅteri rızası tesisi tamamlandıktan sonra, HBHS sorgulamak istediÄi hesaba ait verileri ilgili eriÅim adresi üzerinden sorgular. \n \n \n Åekil 10: Hesap Bilgisi Hizmeti Ãst Düzey AkıÅı \n Åekil-10âda sunulan hesap bilgisi hizmeti 5 temel akıÅtan oluÅur: \n 0.\tMüÅterinin hesap bilgilerine eriÅim için talepte bulunması: ÃHK ÃBHS mobil uygulama ya da web sitesinden hesap bilgilerine eriÅim iÅlemini baÅlatır. \n 1.\tHesap Bilgisi müÅteri rızasının hazırlanması: \n HBHS, âhesap bilgilerine eriÅimâ için müÅteri rızası tesisi amacıyla HHSâdeki hesap bilgisi rızası eriÅim adresine bir POST isteÄinde bulunur ve bir hesap bilgisi rızası nesnesi oluÅturur. HHS hesap bilgisi rızası nesnesi için biricik tanımlayacı döner (RızaNo). Hesap bilgisi rızası, müÅterinin HBHSânin hesap bilgilerine eriÅim izin verdiÄi alanları içerir: \n \n İzinler - eriÅim için izin verilen veri kümelerinin listesi. \n EriÅimin Geçerli OlduÄu Son Tarih - HBHS'nin müÅterinin hesap bilgilerine eriÅebileceÄi isteÄe baÄlı seçilebilen son tarih. \n İÅlem Sorgulama BaÅlangıç Zamanı â MüÅteri rızasının tesisinden itibaren geriye dönük olarak HBHSânin hesap bilgilerine eriÅebileceÄi süreyi \n İÅlem Sorgulama BitiÅ Zamanı - MüÅteri rızasının tesisinden itibaren ileriye dönük olarak HBHSânin hesap bilgilerine eriÅebileceÄi süreyi \n \n 2.\tHesap bilgisi hizmeti müÅteri rızasının tesisi: \n HHS, Hesap Bilgisi Rızası servisi ile ÃHK özelinde âYetki bekleniyorâ statüsünde bir rıza nesnesi hazırlar. HHS, GKDânin baÅarıyla tamamlanması sonrasında hesap bilgisi rızası nesnesinin yetkilendirildiÄini belirtmek için Rıza Durumunu âRıza Yetkilendirildiâ olarak günceller. Nesne yetkilendirildikten sonra HHS nesne ile bir eriÅim belirteci (access token) iliÅkilendirir, Rıza Durumunu âYetki Kullanıldıâ yapar ve bu belirteci HBHSâye geri döner. Böylece müÅteri rıza tesisi saÄlanmıŠolur. \n Hesap bilgisi için müÅteri rızasına iliÅkin temel ilkeler Åunlardır: \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de Yetki Bekleniyor, Yetkilendirildi, Yetki Kullanıldı statüsünde 1 rızası olabilir. \n MüÅteri rızasının ayrıntıları ÃHK ile HBHS arasında belirlenir. Bu nedenle müÅteri rızasının ayrıntıları HHS ekranında deÄiÅtirilmemelidir. \n ÃHK, hesap eriÅim izni ayrıntılarını yalnızca bir bütün olarak yetkilendirebilir veya geri alabilir. \n MüÅteri rızası tesisi esnasında, müÅteri HHS arayüzünde eriÅim için yetkilendirecek hesapları seçer. \n \n 2.1\tHesap bilgisi rızasının sorgulanması: MüÅteri rızası GET/hesap-bilgisi-rizasi/{RizaNo} çaÄrısı yapılarak sorgulanır. \n 2.2\tHesap bilgisi müÅteri rızasının iptali: MüÅteri rızası DELETE/hesap-bilgisi-rizasi/{RizaNo}
16 çaÄrısı yapılarak iptal edilir. \n 3.\tHesap bilgilerinin alınması: Hesap bilgileri ilgili kaynaÄa (hesaplar, bakiye, iÅlemler) GET isteÄi yapılarak gerçekleÅtirilir. HBHS, müÅteri rızasının tesisinden sonrasında (geçerli bir eriÅim belirticine sahip olduÄunda) öncelikle GET/hesaplar çaÄrısı yapacaktır. \n Hesap Bilgisi Hizmeti İçin EriÅim Adresleri \n Etki Alanı (Scope) =âhesap_bilgisiâ \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n hesap-bilgisi-rizasi \n POST \n /hesap-bilgisi-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n HesapBilgisiRizasiIstegi \n HesapBilgisiRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n \n HesapBilgisiRizasi \n \n \n 2.2 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri \n \n \n \n \n \n \n 3.1 \n hesaplar \n GET \n /hesaplar \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n HesapBilgileri(birden çok hesap) \n \n \n 3.2 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n HesapBilgileri(tek hesap) \n \n \n 3.3 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n BakiyeBilgileri(tek hesap) \n \n \n 3.4 \n bakiye \n GET \n /bakiye \n İ \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n BakiyeBilgileri(birden çok hesap) \n \n \n 3.5 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n IslemBilgileri (tek hesap) \n \n \n \n Tablo 11: Hesap Bilgisi Hizmeti İçin EriÅim Adresleri \n ADIM 0: ÃHK'nın hesap bilgilerine eriÅim için talepte bulunması: \n ÃHK, HBHS uygulamasında (web arayüzü/mobil uygulama) hesap bilgilerine eriÅim için talepte bulunur. \n 7.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması \n Bu API çaÄrısı HBHS'nin HHS'de yeni bir âHesapBilgisiRizasiâ nesnesi oluÅturmasını ve nesneye eriÅmek için benzersiz bir rıza numarası ({RizaNo}) dönülmesini saÄlar. \n API çaÄrısının baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması yeterlidir.\nBaÅarıyla oluÅturulan hesap bilgisi rıza kaynaÄının rıza durumu âYetki Bekleniyorâ olarak düzenlenir.\nÃHK daha önce aldıÄı rızaya iliÅkin eriÅim tarihleri, izin türlerini ve hesap bilgilerini güncellemek isterse, HBHS önce HHS nezdindeki rızayı iptal etmeli ve sonrasında yeni bir rıza talebinde bulunmalıdır.\n \n \n Åekil 11: Hesap Bilgisi MüÅteri Rızasının Hazırlanması \n \n POST /hesap-bilgisi-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âHesapBilgisiRizasıIstegiâ nesnesi (Tablo-12) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âHesapBilgisiRizasiâ (Tablo-13) nesnesi oluÅturulur. \n POST /hesap-bilgisi-rizasi \n BaÅarılı İstek: \n İSTEK: \n HBHS, bu API eriÅim adresinden HHSâye yeni bir HesapBilgisiRizasi oluÅturulması için istekte bulunur: \n \n HBHS, ÃHKânın hesap bilgilerine yönelik rıza baÅlatma isteÄi olduÄunu HHSâye bildirir. \n HBHS, ÃHKânın, HBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların API dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk ve uzunluk kontrollerini yapar. (Zorunlu) \n HHS; YÃS API ile alınan HBHS bilgilerinin içerisinde yer alan yönlendirme ve bildirim adresleri ile ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini y
16apar. (Zorunlu) \n HHS; kimlik bilgileri nesnesinde iletilen kimlik bilgileri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (Zorunlu) \n EriÅimin Geçerli OlduÄu Son Tarih, İÅlem Sorgulama BaÅlangıç Zamanı, İÅlem Sorgulama BitiÅ Zamanı alanları ile ilgili Tablo 12âde belirtilen kontroller yapılmalıdır. (Zorunlu) \n HHS, benzersiz âRizaNoâ ile âHesapBilgisiRizasiâ nesnesi oluÅturur ve HBHSâye döner. \n HHS, HesapBilgisiRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n \n EriÅimin Geçerli OlduÄu Son Tarih, İÅlem Sorgulama BaÅlangıç Zamanı, İÅlem Sorgulama BitiÅ Zamanı alanlarında zaman aralıkları müÅteri deneyimi penceresinden deÄerlendirilerek ay cinsinden belirtilmiÅtir. Bu konuda aÅaÄıdaki gibi oluÅabilecek uç örneklere dikkat edilmesi gerekmektedir. \n Bugün : 31.08.2019 \nBugün + 6 Ay : 29.02.2020 \nBugün : 30.08.2020 \nBugün + 6 Ay : 28.02.2021\nBugün : 30.09.2022 \nBugün + 3 Ay : 30.12.2022\nBugün : 14.07.2022 \nBugün + 3 Ay : 14.10.2022 \n Tablo 12: âHesapBilgisiRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, HBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. YÃS Yönlendirmeli GKD yöntemi ile akıÅı destekliyorsa, yetYntm deÄiÅkeninden baÄımsız olarak yönlendirme adresini iletmelidir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunludur. YÃS Ayrık GKD yöntemi ile akıÅı destekliyorsa, yetYntm deÄiÅkeninden baÄımsız olarak bildirim adresini iletmelidir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, ayrık GKD sonrası bu alanda belirtilen adrese otorizasyon kodunu (authentication code) iletir. \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n \n Hesap Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n \n >İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih. MüÅteri YÃS ekranından bu deÄeri belirleyebilir. Varsayılan deÄer : Rıza verilen tarih + 6 ay AlabileceÄi maksimum deÄer : Rıza tarihi + 6 ay AlabileceÄi minimum deÄer : Rıza tarihi + 1 gün ÃrneÄin 23/09/202
161âde minimum 24/09/2021 seçilebilir. Bu durumda izin 24/09/2021 23:59:59âda bitecek Åekilde olmalıdır. \n Bu alanda bir deÄer bulunmadıÄı durumda HHS hata dönmelidir. \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geçmiÅe dönük en fazla 12 ay olabilir, daha eski olmaması gerekir. Varsayılan deÄeri rıza verilen tarih (iÅlem zamanı) â 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi - 12 ay Maksimum tarih: Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BaÅlangıç Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geleceÄe dönük en fazla 12 ay sonrası olabilir, daha ileri bir tarih olmaması gerekir. Varsayılan deÄeri: Rıza verilen tarih + 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi â 12 ay Maksimum tarihi : Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. EÄer dolu gönderilirse HHS tarafından uygun hata mesajı iletilmelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BitiÅ Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n BaÅarılı Yanıt: \n Tablo 13: HesapBilgisiRizasi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. Ãrn; hesap bilgi rızasının tesisine dair ilk istek mesajına dönüÅte âB: Yetki Bekleniyorâ deÄerini alması beklenir. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n K \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n HHS, ayrık GKD sonrası bu alanda belirtilen YÃS adresine otorizasyon kodunu (authentication code) iletir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Hesap Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n > İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HBHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi baÅlangıç zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi bitiÅ zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n > Ayrıntı Bilgi \n ayrBlg \n Kompleks: AyrintiBilgi \n İ \n \n \n \n > ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n İzinler \n Bir hesap bilgisi müÅteri rızası kaynaÄı çaÄrısına yanıt olarak döndürülen verileri sınırlamak için izin kodları kullanılır: \n \n Temel Hesap Bilgisi \n Ayrıntılı Hesap Bilgisi \n Bakiye Bilgisi \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n Ayrıntılı İÅlem Bilgisi \n \n ÃHKâya sunulacak seçimler ve kuralları aÅaÄıdaki gibi olmalıdır. \n \n \n \n Seçim \n Kural \n \n \n \n \n Temel Hesap Bilgisi \n ÃHK seçimine sunulmamalıdır. DeÄiÅtirilemez Åekilde seçili gösterilmelidir. \n \n \n Ayrıntılı Hesap Bilgisi \n ÃHK seçim yapabilir. \n \n \n Bakiye Bilgisi \n ÃHK seçim yapabilir. \n \n \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n ÃHK seçim yapabilir. \n \n \n Ayrıntılı İÅlem Bilgisi \n ÃHK seçim yapabilir. Ayrıntılı İÅlem Bilgisi seçimi Temel İÅlem Bilgisi seçimini kapsar. (Ayrıntılı İÅlem bilgisi seçildiÄinde Temel İÅlem Bilgisi de seçili olmalıdır.) \n \n \n \n AÅaÄıdaki durumlarda, izin kombinasyonlarına izin verilmez. HHS, bu hesap eriÅim onaylarını 400 (Hatalı İstek) yanıt koduyla reddetmelidir: \n \n İzin dizisinin herhangi bir izin türü içermemesi durumu, \n İzin dizisinde HHS tarafından desteklenmeyen bir izin kodunun yer alması durumu \n 7.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi \n \n \n Åekil 12: Hesap Bilgisi ÃHK Rızasının Tesisi \n Rıza tesisinin baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması ve ardından müÅterinin HHS tarafından yönlendirmeli veya ayrık GKD ile doÄrulanması gerekir. HHS'de oluÅturulan ve rıza durumu âYetki Bekleniyorâ olan bir hesap bilgisi rızası, G
16KD sonrası âYetkilendirildiâ statüsüne güncellenir. HBHS, eriÅim saÄlayacaÄı hesapları hesap bilgisi rızasının tesisinden önce seçer. \n \n \n Yönlendirmeli doÄrulama akıÅında, HBHS ÃHKâyı HHSâye yönlendirir. \n \n \n HBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n \n \n HHS, ÃHK için GKD sürecini iÅletir. \n ÃHKâyı doÄrularsa, \n \n \n ÃHK HBHS üzerinden iÅlem yapılmasına izin vereceÄi hesap seçimini yapar. HBHS üzerinden ÃHKânın verdiÄi izin bilgilerini ve eriÅim izninin bitiÅ tarihi bilgilerini, HHS bilgilendirme amaçlı ÃHKâya gösterir. \n \n \n HHS hesap bilgisiri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=H&drmKod=zzz\n \n \n \n ÃHKâyı doÄrulayamazsa, \n \n \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I &rizaNo=yy&rizaTip=H&rizaIptDtyKod=11&drmKod=zzz\n \n \n \n \n \n \n \n Ayrık doÄrulama akıÅında, HHS, ÃHKânın hesap bilgisi hizmetini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister. \n \n Ayrık akıŠHBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek hesap bilgisi rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ödeme hizmeti kullanıcısını doÄrular. \n ÃHK verdiÄi izin tipi dahilinde bilgileri paylaÅılacak olan hesapları seçer. \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, hesap bilgisi rızasının durumunu âYetki Kullanıldıâ olarak günceller. Rıza tesisi saÄlanmıŠolur. \n 7.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması \n GET /hesap-bilgisi-rizasi/{RizaNo} \n ÃHK, HHS üzerinden rıza iptali yapmıŠolabilir veya ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir. Bu durumlarda HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir HesapBilgisiRizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. \n Servis baÅarılı yanıtında Tablo 13âde belirtilen âHesapBilgisiRizasiâ nesnesini dönmektedir. \n Durum \nHesapBilgisiRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki S
16onlandırıldı \n Yetki İptal \n 7.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali \n \n \n \n Åekil 13: Hesap Bilgisi MüÅteri Rızasının Geri Alınması \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \n DELETE /hesap-bilgisi-rizasi çaÄrısı, bir HBHS'nin önceden oluÅturulmuÅ bir hesap eriÅim rızasını (yetkili olsun veya olmasın) silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, HBHS üzerinden bu rızasını kaldırmak isteyebilir. \nBu API çaÄrısı, müÅterinin HBHS üzerinden hesap bilgisi rızasını iptal etmesine ve HHS nezdindeki hesap bilgisi rızası nesnesinin silinmesini saÄlar. \nMüÅterinin HBHSânin veri eriÅim iznini iptal etmesi durumunda HBHS, HHSâde mevcut olan HesapBilgisiRizasi kaynaÄını pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \nçaÄrısı aracılıÄı ile yerine getirilir. HBHS ayrıca, sisteminden Hesap EriÅim İzni kaynaklarını da temizlemelidir. \nSöz konusu silme iÅlemi, kayıtların statüsünün pasife çekilmesi ile gerçekleÅtirilmelidir. Söz konusu kayıtlar, denetim izlerinin oluÅturulması ve saklanmasına iliÅkin ikincil düzenleme hükümleri kapsamında güvenli Åekilde tutulmalıdır. \nServis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır. \nÃHK rızası baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ olarak güncellenir ve gnclZmn zaman damgası vurularak güncellenir. \nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir: \nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (HBHS) \n 7.5 ADIM 3: Hesap Bilgilerinin Alınması \n \n \n \n Åekil 14: Hesap Bilgilerinin Alınması \n İSTEK: \nMüÅteri rızası tesis edilmiÅ kullanıcı için HBHS API eriÅim adresinden HHSâye eriÅilebilir hesap bilgilerini GET isteÄi ile sorgular: \n \n RizaDurumu âYetki Kullanıldıâ ise iÅleme baÅlanır. RizaDurumu farklı bir deÄerde ise âTR.OHVPS.Resource.ConsentMismatchâ hatasının iletilmesi gerekir. \n GET verisinin modele göre kontrolü yapılır (ÃrneÄin: Alan kontrolleri) \n \n GET verisinin mantıksal kontrolleri yapılır. \n 7.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması \n GET /hesaplar ve GET /hesaplar/{hspRef} \n Bu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bilgilerinin sorgulanır. Hesap bilgisi için daha önce tanımlanmıŠizin türüne göre (Temel Hesap Bilgisi veya Detaylı Hesap Bilgisi) yanıtında dönülen HesapBilgileri nesnesinin içeriÄi deÄiÅir. Tablo 15âte HesapBilgileri nesnesinin içeriÄi verilmiÅtir. \n Hesap Bilgisi Sorgu ÃrneÄi (Tüm Hesaplar) = /hesaplar \nHesap Bilgisi Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef} \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 14: Hesap Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarası \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 15: âHesapBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızası nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Hesap Temel \n hspTml \n Kompleks: HesapTemel \n Z \n Temel Hesap Bilgileri (Temel Hesap Bilgisi varsayılan izin türü olduÄundan Hesap Temel nesnesi zorunlu olarak yanıtta bulunur) \n \n \n > Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. \n \n \n > Hesap Numarası \n hspNo \n AN26 \n K \n EÄer varsa ödeme hesabına ait IBAN bilgisi \n \n \n > Hesap Sahibi Unvanı \n hspShb \n AN3..140 \n Z \n Hesap sahibi ya da hesap sahiplerinin ad-soyadı, ticari unvanı \n \n \n > Åube Adı \n subeAdi \n AN3..50 \n K \n EÄer varsa ödeme hesabının baÄlı olduÄu Åubenin adı \n \n \n > Kısa Ad \n kisaAd \n AN3..50 \n K \n EÄer hesap sahibi hesaba ait bir ad tanımladıysa, tanımlanan hesap adı \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. \n \n \n > Hesap Türü \n hspTur \n AN1 \n Z \n Hesabın türü (bireysel veya ticari). TR.OHVPS.DataCode.HspTur sırali veri deÄerlerinden birini alır. \n \n \n > Hesap Tipi \n hspTip \n AN1..32 \n Z \n Hesabın tipi (VADESİZ, KREDİLİ vb.).TR.OHVPS.DataCode.HspTip sıralı veri deÄerlerinden birini alır. \n \n \n >
16Hesap Ãrün Adı \n hspUrunAdi \n AN1..140 \n İ \n HHS tarafından atanmıŠolan ürün adı bilgisidir. HBHS tarafından ÃHKâya gösterilmesi kullanım kolaylıÄı saÄlayacaktır. \n \n \n > Hesap Durumu \n hspDrm \n AN5..50 \n Z \n Hesabın durumunu belirtir. TR.OHVPS.DataCode.HspDrm sıralı veri türlerinden birini alır. \n \n \n Hesap Detay \n hspDty \n Kompleks: HesapDetay \n K \n Detay Hesap Bilgileri (Temel Hesap Bilgisine ek olarak Detay Hesap Bilgisi izin türü de seçilmiÅse Hesap Detay nesnesi koÅullu olarak yanıtta bulunur) \n \n \n > AçılıŠTarihi \n hspAclsTrh \n ISODateTime \n Z \n Belirtilen hesabın açılıŠtarihi. \n 7.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması \n GET /bakiye ve GET /hesaplar/{hspRef}/bakiye \nBu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bakiyesi sorgulanır. \nİstek çaÄrısına dönülen âBakiyeBilgileriâ nesnesi Tablo 17âde verilmiÅtir. \n Hesap bakiyelerinin gösterilmesi sırasında aÅaÄıda verilen örnekler gözönünde bulundurulmalıdır. \n Ãrnek 1 : ÃHK Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 0 deÄerini içeriyorsa, Hesap Bakiye Tutarı -1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 2 : ÃHK Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 1 deÄerini içeriyorsa, Hesap Bakiye Tutarı 2000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 3 : ÃHK Hesap Bakiye Tutarı 1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 0 deÄerini içeriyorsa, Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 4 : ÃHK Hesap Bakiye Tutarı 1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 1 deÄerini içeriyorsa, Hesap Bakiye Tutarı 3000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /bakiye?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 16: âBakiyeBilgileriâ Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 17: âBakiyeBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. \n \n \n Bakiye \n bky \n Kompleks:Bakiye \n Z \n \n \n \n > Hesap Bakiye Tutarı \n bkyTtr \n AN1..25 \n Z \n Hesabın bakiyesi. Bloke tutar düÅülmeden iletilmelidir. Tutar alanı regex patterni Åu Åekildedir: '^-?\\d{1,18}$|^-?\\d{1,18}\\.\\d{1,5}$' \n \n \n > Blokeli Tutar \n blkTtr \n AN1..24 \n K \n Varsa hesapta blokeli tutar bilgisi. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n > Bakiye İletilme Zamanı \n bkyZmn \n ISODateTime \n Z \n Bakiyenin iletildiÄi zaman bilgisi. \n \n \n > KrediliHesap \n krdHsp \n Kompleks: KrediliHesap \n K \n \n \n \n >> Kredili Mevduat Hesabı Bakiyesi \n kulKrdTtr \n AN1..24 \n Z \n Kredili mevduat tutarı. Kredili bir hesap ise zorunlu. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n >> Kredi Dahil Göstergesi \n krdDhlGstr \n AN1 \n Z \n Kredili bir hesap ise zorunlu. Bakiye tutarının kredi tutarı dahil edilerek ya da edilmeden iletildiÄini gösterir. 0: Kredi tutarı dahil edilmeden bakiye bilgisi iletilmesi durumu 1: Kredi tutarı dahil edilerek bakiye bilgisi iletilmesi durumu \n 7.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması \n GET /hesaplar/{hspRef}/islemler \n Belirli bir hesaba iliÅkin iÅlem bilgileri Tablo 1âdaki istek parametrelerine göre sorgulanır. \nİÅlem bilgisi için daha önce tanımlanmıŠizin türüne göre yanıtta dönen IslemBilgileri nesnesinin (Temel İÅlem Bilgisi veya Temel İÅlem Bilgisi ve Detaylı İÅlem Bilgisi) içeriÄi deÄiÅir. \nİÅlemler servisi hem ÃHKânın talebi ile YÃS uygulaması üzerinden çaÄrılabileceÄi gibi, YÃSâün ÃHKâsız baÅlatabileceÄi otomatik çaÄrıları ile de yanıt dönebilmektedir. \nHHS, iÅlemin sistemsel yapılıp yapılmadıÄını, istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir.\nÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \nYÃS, otomatik yapacaÄı sorgularda; \n \n Bireysel ÃHKâlar için hesap bazında günde en fazla 4 adet baÅarı ile sonuçlanan sorgulama yapabilir. \n Kurumsal ÃHKâlar için hesap bazında saatte en fazla 12 adet baÅarı ile sonuçlanan sorgulama yapabilir. \n \n HHS, tutacaÄı sayaç bilgisi ile bu sayıları kontrol ederek daha fazla sorgulama yapılmasına izin vermeyebilir. \n Aynı istek parametreleri ile yapılan sorgu sonucunda dönecek toplam kayıt sayısı 100âü aÅtıÄında, sayfalama yöntemi ile HHSânin cevap dönmesi beklenmektedir. Her bir sayfa için iÅlemler servisi tekrar çaÄrılsa da, bu çaÄrım HHSânin tuttuÄu sayaç deÄerini arttırmaz. HHSânin tutacaÄı sayaçın kontrol parametreleri YÃS kodu, hesap numarası ya da referansı olmalıdır. Sayfa no parametresi varsa ve 1'den büyük ise iÅlem sayacını arttırmamalıdır. \n ÃHKânın YÃS uygulaması üzerinden tetiklediÄi iÅlemlerde ise;\nbireysel ÃHKâlar için en fazla 1 aylık,\nkurumsal ÃHKâlar için ise en fazla 1 haftalık bir pencere aralıÄında sorgulama yapılabilir. \n YÃS, otomatik yapacaÄı sorgularda hem bireysel hem de kurumsal ÃHKâlar için 24 saatlik bir pencere aralıÄında sorgulama yapabilir. \n Hesap kapalı olduÄu durumda hesap hareketlerini iletmek istemeyen HHS'lerin TR.OHVPS.Business.InvalidAccount hatası vermeleri beklenir. \n İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /hes
16aplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-06-02T23:59:59+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A \n Tablo 18: İÅlem Listesi Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin baÅlangıç tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. ÃHK tarafından tetiklenen sorgularda;hesapIslemBslTrh ve hesapIslemBtsTrh arası fark bireysel ÃHKâlar için en fazla 1 ay,kurumsal ÃHKâlar için ise en fazla 1 hafta olabilir. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;son 24 saat sorgulanabilir. Bu yüzden hesapIslemBtsTrh-24 saatâten daha uzun bir aralık sorgulanamaz olmalıdır. İstek baÅlıÄında yer alan PSU-Initiated alanı âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n \n \n İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin bitiÅ tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;İleri vadeli iÅlem emirleri dahil olmadıÄı için; İÅlem Sorgulama BitiÅ Zamanı, her zaman, sorgulama zaman damgasını iletecek Åekilde (datetime (now)) iletilmelidir. \n \n \n En DüÅük İÅlem Tutarı \n minIslTtr \n AN1..24 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en düÅük iÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n En Yüksek İÅlem Tutarı \n mksIslTtr \n AN1..24 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en yüksek iÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Borç Alacak Göstergesi \n brcAlc \n AN1 \n İ \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Hesaba borç yaratan iÅlem.A: Hesaba alacak yaratan iÅlem.{âBâ,âAâ} \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âislGrckZamanâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini islGrckZaman olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 19: âIslemBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referans Numarası \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. \n \n \n Islemler \n isller \n Kompleks:Islem[Array] \n K \n Hesaba iliÅkin hareketler varsa İÅlemler nesnesi dizisi olarak dönülür. İÅlemler nesnesi Temel İÅlem Bilgileri ve Detay İÅlem Bilgileri nesnesinden meydana gelir. İzin türü varsayılan olarak Temel İÅlem Bilgilerini içerir. Detay İÅlem Bilgileri izin türü de seçildi ise Temel İÅlem Bilgilerine ek olarak Detay İÅlem Bilgileri de gönderilir. \n \n \n > Temel İÅlem Bilgileri \n islTml \n Kompleks:IslemTemel \n Z \n Temel İÅlem Bilgileri varsayılan olarak dönülür. \n \n \n >> İÅlem Numarası \n islNo \n AN3..50 \n Z \n Hesap hareketinin oluÅturulması sırasında atanan ve borç (veya alacak) hareketini tekilleÅtiren HHS bazında tekil tanımlayıcıdır. Bu deÄer tek baÅına tekil olabileceÄi gibi b
16irden fazla deÄerin bir araya getirilmesiyle de tekilliÄi saÄlanmıŠolabilir. Bu deÄerin en azından hesap numarası (hesNo) bazında tekil olması beklenir. Genellikle kullanılan örnekleri; Instance_Id, Transaction_Id, Transaction_Num, Transaction_TimeStamp,dekont numarası \n \n \n >> İÅlem Referans Numarası \n refNo \n AN3..50 \n Z \n İÅlemi uçtan uca tanımlayan tekil tanımlayıcıdır. Borç ve alacak hareketinden oluÅan bir veya birden fazla iÅlemler bütünü için atanmıŠolan ve bu bütünü tekilleÅtiren (bir biri ile iliÅkisini tutan) deÄerdir.Bu deÄer hem YÃSâten gelen deÄer olabilir (ödeme iÅlemlerinde kullanılan kkodRef ya da refBlg alanı) hem de HHS içinde takip edilmek için üretilmiÅ bir deÄer olabilir. HHS sisteminde 2 deÄerin de bulunması durumunda;refNo alanını doldurmak için, HHSânin YÃSâten gelen deÄere öncelik vermesi beklenmektedir. YÃSâten gelen veri örneÄi: SipariÅ Numarası, Fatura Numarası, Karekod Referansı vb. HHSâte üretilen veri örneÄi: Masraflı havale iÅleminde hem havale iÅleminin hem de masraf iÅleminin aynı referans numarasına sahip olması da örnek olarak gösterilebilir. \n \n \n >> İÅlem Tutarı \n islTtr \n AN1..24 \n Z \n İÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n >> İÅlem GerçekleÅme Zamanı \n islGrckZaman \n ISODateTime \n Z \n İÅlemin gerçekleÅme zamanı. \n \n \n >> İÅlem Kanalı \n kanal \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeKaynak sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Borçlandırma Alacaklandırma Göstergesi \n brcAlc \n AN1 \n Z \n TR.OHVPS.DataCode.BrcAlc sıralı veri türü deÄerlerinden birini alır. İÅlemin hesabı borç ya da alacaklandırdıÄı bilgisidir. \n \n \n >> İÅlem Türü \n islTur \n AN3..50 \n Z \n HHSânin iÅleme ait iliÅkilendirdiÄi iÅlem türü deÄeri. TR.OHVPS.DataCode.IslemTuru sıralı veri türü deÄerlerinden birini alır. \n \n \n >> İÅlem Amacı \n islAmc \n AN2 \n Z \n TR.OHVPS.DataCode.IslemAmaci sırali veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Ãdeme Sistemi No \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. \n \n \n > Detay İÅlem Bilgileri \n islDty \n Kompleks: IslemDetay \n K \n Detay İÅlem Bilgileri dizi olarak gönderilmelidir. \n \n \n >> İÅlem Açıklaması \n islAcklm \n AN1..150 \n Z \n HHS tarafından atanan iÅlem açıklaması.HHS kendi iÅlem hareketlerine yansıttıÄı açıklamayı buraya yansıtmalıdır. \n \n \n >> KarÅı Taraf \n krsTrf \n Kompleks: KarsiTaraf \n K \n Kullanımı iÅlem bazında deÄiÅmektedir. Ãrnek: FAST iÅleminde karÅı taraf alıcının bilgileridir. Vergi ödemesinde kurum IBAN bilgisi müÅteriye gösterilemeyebileceÄinden bu alanın boÅ gelmesi HHS insiyatifindedir. \n \n \n >>> KarÅı Maskeli IBAN \n krsMskIBAN \n AN26 \n K \n İlgili hesap hareketinin karÅı tarafının maskeli IBAN bilgisi. \n \n \n >>> KarÅı Maskeli Unvan \n krsMskUnvan \n AN3..140 \n K \n İlgili hesap hareketinin karÅı tarafının maskeli ad-soyad ya da ticari unvan bilgisi. \n 7.9\tHealthcheck API \n GET /health \n HHSâlerin sunacaÄı bu servis, düzenli olarak BKM tarafından çaÄırılarak servislerin ayakta olup olmadıklarının kontrolünün saÄlanması planlanmaktadır \n BaÅarılı yanıtta Http 200 kodu dönülmelidir. \n BaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir \n \n \n \n"},{title:"4. Rıza Durumları",frontmatter:{},regularPath:"/v1.0.2/contents/riza-durumlari.html",relativePath:"v1.0.2/contents/riza-durumlari.md",key:"v-1be15362",path:"/v1.0.2/contents/riza-durumlari.html",headers:[{level:2,title:"4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri",slug:"_4-1-hesap-bilgisi-hizmeti-rıza-durum-degisiklikleri"},{level:2,title:"4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri",slug:"_4-2-odeme-bilgisi-hizmeti-rıza-durum-degisiklikleri"}],content:" 4. Rıza Durumları \n ÃHK, Ãdeme Emri BaÅlatma Hizmetine ya da Hesap Bilgisi Hizmetine müÅteri rızasının tesisi ile baÅlar. ÃHKânın YÃS uygulaması üzerinden yaptıÄı iÅlemler neticesinde rıza durumları deÄiÅebilir.\nRızaânın alabileceÄi durum ko
16dları Åu Åekilde belirlenmiÅtir. \n B: Yetki Bekleniyor â İlk rıza talebinde \n Y: Yetkilendirildi â BaÅarılı GKD sonrası yetKod üretildiÄinde \n K: Yetki Kullanıldı â EriÅim Belirteci alındıÄında \n E: Yetki ödeme emrine dönüÅtü â ÃBHS için \n S: Yetki Sonlandırıldı \n    HBHS için : EriÅimin Geçerli OlduÄu Son Tarih geldiÄinde \n    ÃBHS için : Yenileme belirteci Son Tarihi geldiÄinde \n I :Yetki İptal \nRıza iptal durumu ise gerek raporlama gerekse müÅteri deneyimi perspektifinden doÄru bilgilendirmeler yapılabilmesi açısından aÅaÄıdaki gibi detay kodları ile zenginleÅtirilmiÅtir: \n \n Rıza İptal Detay Kodu: \n \n \n \n â01â :\tYeni Rıza Talebi ile İptal \n â02â :\tKullanıcı İsteÄi ile HHS üzerinden İptal \n â03â :\tKullanıcı İsteÄi ile YÃS üzerinden İptal \n â04â :\tSüre AÅımı : Yetki Bekleniyor \n â05â :\tSüre AÅımı : Yetkilendirildi \n â06â :\tSüre AÅımı : Yetki Ãdemeye DönüÅmedi \n â07â :\tGKD iptali : Aynı rıza no ile mükerrer çaÄrımı \n â08â :\tGKD iptali : Rızano ile TCKN uyuÅmaması \n â09â :\tGKD iptali : Uygun ürünü bulunmuyor \n â10â :\tGKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı \n â11â :\tGKD iptali : Hesap Yetki Sorunu \n â12â :\tGKD iptali : ÃHK HHS kontrollerini aÅamadı \n â13â :\tGKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi \n â14â :\tGKD iptali : Fraud Åüphesi \n â99â :\tGKD iptali : DiÄer \n \n \n 4.1 ve 4.2 bölümlerinde detaylandırılan rıza durum deÄiÅikliklerinde rıza iptal detay kodları kullanılmıÅtır. \n ÃrneÄin B⨠I/01 denildiÄinde âYetki Bekleniyorâ rıza durumundan âYetki İptalâ rıza durumuna Rıza İptal Detay Kodu da â01â yani âYeni Rıza Talebi ile İptalâ olarak güncellenmelidir ifade edilmiÅtir. \n ÃHK verdiÄi rıza sırasında seçtiÄi hesaplarından biri kapatılırsa, diÄer hesaplara ait bilgileri görmeye devam eder. Ancak ÃHKânın hesabına ait bilgilerinin YÃS'e iletilmesini istemediÄi durumda, rızasını tamamen iptal ederek yeni hesap listesi
16ile yeni rıza vermesi gerekmektedir. Yani hesap kapanması nedeniyle rıza geçerliliÄini yitirmez. ÃHK'nın proaktif olarak bu hesabı rızadan çıkarması durumunda rıza iptali olur. \n Rıza iptal edilmediÄi ve geçerli olduÄu sürece kapalı hesaplar için diÄer çevrimiçi kanallarda uygulanan yöntem izlenmelidir. DiÄer çevrimiçi kanallarda kapalı hesaplara iliÅkin bilgi dönülmüyor ise ÃHVPS'den de dönüŠyapılmaz. ÃHKânın rıza onayı verdiÄi açık hesaplarının tümü HHS tarafında kapatıldıÄı durumda, yine aynı Åekilde HHS çevrimiçi kanallarında koyduÄu kurallara göre bu hesaplarının YÃS uygulamasında gösterilmesine karar verir. \n Hesap kapama ve ticari kullanıcıların hesaplar üzerindeki yetki deÄiÅiklikleri HHS'nin iç sistemleri tarafından yapılan kontrollerle yönetilir. Buradaki deÄiÅiklikler ile HHS sistemsel olarak rıza iptali gerçekleÅtiremez. ÃHK izni ve onayı dahilinde rıza iptal gerçekleÅtirilmesi gerekmektedir. \n HHS'ler sunmuÅ oldukları Rıza İptal ekranını (sadece Hesap Bilgisi Rızası için), hangi ortamlardan GKD yapılmasına izin veriliyorsa (web/mobil) aynı ortamdan ÃHK'ya sunmalıdır. ÃrneÄin bir HHS bireysel müÅterileri için web ve mobil, kurumsal müÅteriler için web üzerinden GKD imkanı sunuyor ise, minimumda bireysel müÅteriler için web ve mobil ortamlarından, kurumsal müÅteriler için web ortamından Rıza İptal ekranı aracılıÄı ile rıza iptaline izin vermelidir. Bunun dıÅında çaÄrı merkezi ya da Åube gibi ortamlardan sunacaÄı Rıza İptal imkanı HHS inisiyatifindedir. Bahsi geçen zorunluluk Ãdeme Emri Rıza İptal ekranı için geçerli deÄildir. \n Benzer Åekilde YÃS'ler hangi ortamlardan (web/mobil) hizmet veriyorsa, aynı ortam üzerinden Rıza İptal ekranını sunmalıdır. \n 4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri \n Kural : Bir ÃHK'nın, bir YÃS için, bir HHS'de Y, K, B rıza durumlarında tek bir rızası olabilir.\nBir ÃHK hem kiÅisel olarak hem de bir kurumun kullanıcısı olabilir. Bu durumda kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Hesap Bilgisi Rızası isteÄi HHSâye iletilir. \na.\tHHS ÃHK'ya ait içeride rıza var mı kontrol eder. EÄer yoksa Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \nb.\tEÄer içeride rıza varsa \n    i. Rıza durumu Yetki Bekleniyor - B ise; \n    HHS, sistemde Yetki Bekleniyor - B rıza durumuna sahip kayıt olduÄu için, öncelikle eski kaydı Yetki İptal - I durumuna getirir. Rıza İptal Detay Kodu âYeni Rıza Talebi ile iptalâ olmalıdır. B ⨠I / 01 Sonrasında, Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \n     ii. Rıza durumu Yetkilendirildi - Y veya Yetki Kullanıldı - K ise; \n    ÃHK'nın halihazırda verilmiÅ bir rızası vardır. HHS, önce mevcut rızanın iptalinin yapılması gerektiÄine dair TR.OHVPS.Resource.ConsentMismatch hatasını döner. YÃS, HHS ya da YÃS uygulaması üzerinden bu rızanın iptal edilmesi gerektiÄine dair ÃHK'ya bilgilendirme yapar. \n     iii.\tRıza durumu Yetki Sonlandırıldı - S ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n     iv.\tRıza durumu Yetki İptal - I ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında Rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Tarayıcıyı kapatmıŠolabilir) Rıza Yetki Bekleniyor - B rıza durumunda kalır. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B rıza durumundaki kayıtlar Yetki İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. B ⨠I / 04 Bkz. 9. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n Fraud Åüphesi Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 99 \n \n \n \n \n \n \n ÃHK, hesaplarında/izin türlerinde/EriÅimin Geçerli OlduÄu Son Tarih bilgilerinden bir ya da birden fazlasında güncelleme yapmak için YÃS ekranına girer. \n \n \n     a.\tYÃS önce Rıza İptal API'sini çaÄırır. Sonra yeni deÄerlerle yeni bir rıza isteÄinde bulunur. Tekrar GKD gerekir. \n     b.\tYÃS rıza iptal yapmadan yeni rıza alma akıÅına baÅlarsa 1.b akıÅı devreye girer. \n     c.\tRıza güncelleme ilerleyen sürümlerde ele alınacaktır. \n \n \n EriÅim Belirteci API \n a. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında;
16 \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B ya da Yetki Kullanıldı - K ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Sorgulama: HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir hesap bilgisi-rizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. Rıza numarası ile sorgulama yapılır. \n \n \n Hesap Bilgisi Rızasının İptali: HBHS üzerinden ya da HHS üzerinden yapılan rıza iptallerinde Rıza durumu Yetki İptal - I olarak güncellenir. Rıza numarası ile iptal saÄlanır. \n a. HHS üzerinden rıza iptali yapmıŠolabilir. Rıza durumu sorgulanır. \n Rıza numarası Yetki Bekleniyor - B ve Yetkilendirildi - Y ve Yetki Kullanıldı - K durumlarında ise Yetki İptal durumuna getirilir. Rıza gnclzmn timestamp ile güncellenir.\nHHS, Rıza iptalinde aynı zamanda eriÅim belirtecini de invalid hale getirmelidir. \n B ⨠I / 02 \n Y ⨠I / 02 \n K ⨠I / 02 \n b.\tYÃS üzerinden yapılacak iptal iÅleminde yine Y ve B ve K rıza durumlarında ise iptal edilebilir. \n B ⨠I / 03 \n Y ⨠I / 03 \n K ⨠I / 03 \n Rıza durumu Yetki Sonlandırıldı - S ise iptal gerçekleÅmez. âRıza durumunuz iptal etmeye uygun deÄildir.â hatası ÃHK'ya yansıtılır. TR.OHVPS.Resource.ConsentRevoked \n \n \n ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir.\nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde Rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldı durumuna çekilmelidir. K ⨠S \n \n \n Hesaplar, Bakiye ve İÅlemler servislerinde eriÅim belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır.\nGeçerli bir eriÅim belirteci yok ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n YÃS'ün; Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında Hesaplar, Bakiye ve İÅlemler servislerini çaÄırmaması beklenir. HHS'nin bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda TR.OHVPS.Resource.ConsentRevoked hatasını dönmesi gereklidir. \n Rıza durumu Yetki Kullanıldı - K dıÅında ise TR.OHVPS.Resource.ConsentMismatch hatası verilmelidir. \n Rıza durumu Yetki Kullanıldı - K ise servis akıÅlarına devam edilir. \n Rıza sorgulama API'sinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir âYetki Bekleniyorâ durumunda kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir âYetkilendirildiâ durumunda kalan kayıtlar güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı: Yetkilendirildi B ⨠I / 05 \nYukarıda bahsedilen, YÃS Süre AÅımı nedeniyle rıza iptal durum güncellemelerini y
16apmadan önce HHSâyi sorgulayarak rıza durumunu öÄrenmeli ve süre aÅımı dıÅında bir kodu varsa aynı kodla kendi sistemini güncellemelidir. \nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldıâya güncellenir. K ⨠S \n 4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri \n Kural : Bir ÃHK'nın bir YÃS için bir HHS'de istediÄi kadar rızası olabilir. \n Kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Ãdeme Emri Rızası isteÄi HHSâye iletilir. İçeride rıza olup olmamasına bakılmaksızın Yetki Bekleniyor - B rıza durumu ile yeni rıza no oluÅturur. \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Browserı kapatmıŠolabilir)\nRıza durumu Yetki Bekleniyor'dur. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B durumundaki kayıtlar Rıza İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. Bkz. 8. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n Fraud Åüphesi Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 99 \n \n \n \n \n \n \n GKD muafiyeti olduÄunda YÃS HHSâden arka planda onay alır. Bu onay sırasında rıza durumu Yetkilendirildi yapılır. B ⨠Y \n \n \n EriÅim Belirteci API \na. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında; \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B , Yetki Kullanıldı - K ya da Yetki ödeme emrine dönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K veya Yetki Ãdeme Emrine DönüÅtü â E olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Ãdeme BaÅlatma API önce eriÅim belirteci ve sonrasında rıza kontolü yapılarak gerçekleÅtirilmelidir \n \n Ãncelikle EriÅim Belirteci kontrolü yapılmalıdır. Geçerli bir EriÅim Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n Rıza durumu Yetki İptal - I ya da Yetki S
16onlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n Rıza durumu Yetki Bekleniyor - B , Yetkilendirildi - Y, Yetki Ãdeme Emrine DönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n Rıza durumu Yetki Kullanıldı - K olduÄunda ödeme emri gerçekleÅtirilir. Rıza durumu Yetki Kullanıldı - K'dan Yetki Ãdeme Emrine DönüÅtü â E yapılmalıdır. K â¨E \n \n \n \n Sorgulama: GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlarda, ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, ödemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır.\nRıza sorgulama, Ãdeme Emri Sorgulama API'lerinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n Ãdeme Emri Rızasının İptali bulunmamaktadır. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir Yetki Bekleniyor'da kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir Yetkilendirildi'de kalan kayıtlar durumları güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı : Yetkilendirildi B ⨠I / 05 \n 5 dakikadan uzun süredir Yetki kullanıldı'da kalan kayıtlar durumları güncellenir.\nYetki kullanıldı ⨠Rıza İptal / Süre AÅımı : Yetki Ãdemeye DönüÅmedi B ⨠I / 06 \n Yenileme belirteci Son Tarih geldiÄinde rıza durumu Yetki ödeme emrine dönüÅtüâden Yetki Sonlandırıldı'ya güncellenir. \n E ⨠S \n \n \n GKD muafiyeti sadece ödeme baÅlatma servislerinde bulunmaktadır. \n \n \n"},{frontmatter:{},regularPath:"/v1.0.2/contents/tanim-ve-kisitlamalar.html",relativePath:"v1.0.2/contents/tanim-ve-kisitlamalar.md",key:"v-3e221f7d",path:"/v1.0.2/contents/tanim-ve-kisitlamalar.html",content:" 1.\tTanım ve Kısaltmalar \n Tablo 1: Tanım ve Kısaltmalar \n \n \n \n Kısaltma \n Tanım \n Açıklama \n İngilizce Açıklama \n İngilizce Kısaltma \n \n \n \n \n ÃS \n Ãerçeve SözleÅme \n Ãdeme hizmeti saÄlayıcısı ile müÅteri arasında tekil veya süreklilik arz eden ödeme iÅlemlerinin yürütülmesine ve mümkün olan durumlarda ödeme hesabının açılmasına iliÅkin usul ve esasları belirleyen sözleÅme \n \n \n \n \n EPK \n Elektronik Para KuruluÅu \n Kanun kapsamında elektronik para ihraç etme yetkisi verilen tüzel kiÅi \n Electronic Money Institution \n EMI \n \n \n FAST \n Fonların Anlık ve Sürekli Transferi \n TCMB tarafından iÅletilen Fonların Anlık ve Sürekli Transferi Sistemi \n \n \n \n \n FAST TR-Karekod \n FAST-TR Karekod Teknik İlke ve Kurallar Rehberi \n TR Karekodâun FAST Sistemi aracılıÄıyla gerçekleÅecek iÅlemlerde kullanılmasına iliÅkin detaylı teknik ilke ve kurallarını içeren doküman \n \n \n \n \n GKD \n Güçlü Kimlik DoÄrulama \n Kimlik doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin bildiÄi, sahip olduÄu veya biyometrik bir karakteristiÄi olan bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntem \n Strong Customer Authentication \n SCA \n \n \n İB \n İÅlem Bilgisi \n GerçekleÅtirilen iÅleme iliÅkin iÅlem zamanını, iÅlemin niteliÄini ve ödeme iÅlemi için ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve ödemenin göndereni ile alıcısını veya toplu ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve göndereni ile alıcılarını içeren bilgi \n \n \n \n \n İDK \n İÅlem DoÄrulama Kodu \n Kimlik doÄrulama yöntemlerinden biriyle kendisini sisteme tanıtan bir müÅterinin gerçekleÅtirmek istediÄi
16iÅleme özgü olmak ve belirli bir geçerlilik süresi içinde iÅlem onayında kullanılmak üzere oluÅturulan, finansal sonuç doÄrunan iÅlemlerde kiÅiye onay anında ilgili iÅlem bilgisi (İB) ile birlikte gösterilen, alıcı veya tutarın deÄiÅmesiyle geçersiz hale gelen bilgi \n Authentication Code \n AC \n \n \n KOLAS \n Kolay Adresleme Servisi \n Fon transferlerinde hesap numarası ile ad soyad yerine kullanılan ve belirli bir hesap ile eÅleÅtirilmiÅ telefon numarası, e-posta adresi, T.C. Kimlik Numarası (TCKN), Vergi Kimlik Numarası (VKN), Yabancı Kimlik Numarası veya Pasaport Numarası gibi Kolay Adres bilgilerinin kaydedilmesini, güncellenmesini ve sorgulamasını saÄlayan katman servis \n \n \n \n \n HBHS \n Hesap Bilgisi Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (g) bendinde tanımlanan ödeme hizmetini (hesap bilgisi hizmetini) sunan tüzel kiÅi \n Account Information Service Provider \n AISP \n \n \n HHS \n Hesap Hizmeti SaÄlayıcısı \n Nezdinde ödeme hesabı bulunan ödeme hizmeti saÄlayıcısı \n Account Servicing Payment Service Provider \n ASPSP \n \n \n ÃBHS \n Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (f) bendinde tanımlanan ödeme hizmetini (ödeme emri baÅlatma hizmetini) sunan tüzel kiÅi \n Payment Initiation Service Provider \n PISP \n \n \n ÃDK \n Ãdeme KuruluÅu \n Ãdeme hizmeti saÄlamak ve gerçekleÅtirmek için Kanun kapsamında yetkilendirilmiÅ tüzel kiÅi \n Payment Institution \n PI \n \n \n ÃH \n Ãdeme Hesabı \n Ãdeme hizmeti kullanıcısı adına açılan ve ödeme iÅleminin yürütülmesinde kullanılan hesap \n Payment Account \n PA \n \n \n ÃHK \n Ãdeme Hizmeti Kullanıcısı (MüÅteri) \n Gönderen, alıcı veya her ikisi sıfatıyla belirli bir ödeme hizmetinden faydalanan gerçek veya tüzel kiÅi \n Payment Service User \n PSU \n \n \n ÃHS \n Ãdeme Hizmeti SaÄlayıcısı \n 5411 sayılı Kanun kapsamındaki bankalar, EPK, ÃDK ve Posta ve Telgraf TeÅkilatı Anonim Åirketi(PTT) \n Payment Service Provider \n PSP \n \n \n ÃHVPS \n Ãdeme Hizmetleri Veri PaylaÅım Servisleri \n Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri \n \n \n \n \n PÃS \n Perakende Ãdeme Sistemi \n TCMB tarafından iÅletilen, iÅlemlerin Türk Lirası üzerinden gerçekleÅtiÄi MüÅteriler Arası Türk Lirası Aktarım Sistemi \n \n \n \n \n TR-Karekod \n TR-Karekod İlke ve Kuralları \n Ulusal karekod (TR Karekod) ilke ve kurallarının belirlendiÄi belge \n \n \n \n \n YÃS \n Yetkili Ãdeme Hizmeti SaÄlayıcısı \n Ãdeme emri baÅlatma hizmeti ve/veya hesap bilgisi hizmeti sunan tüzel kiÅi \n Third Party Payment Service Providers \n TPP \n \n \n \n"},{title:"6.\tÃdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v1.0.2/contents/odeme-emri-baslatma-hizmeti.html",relativePath:"v1.0.2/contents/odeme-emri-baslatma-hizmeti.md",key:"v-1ef8939d",path:"/v1.0.2/contents/odeme-emri-baslatma-hizmeti.html",headers:[{level:3,title:"Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi",slug:"_6-1-adim-0-odeme-emri-baslatma-istegi"},{level:2,title:"6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması",slug:"_6-2-adim-1-odeme-emri-rızasının-hazırlanması"},{level:2,title:"6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_6-3-adim-2-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_6-4-adim-2-1-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması",slug:"_6-5-adim-3-odeme-emrinin-olusturulması"},{level:2,title:"6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_6-6-adim-3-1-odeme-emri-sorgusu-istege-baglı"},{level:3,title:"GET /odeme-emri/{odemeEmriNo}",slug:"get-odeme-emri-odemeemrino"},{level:2,title:"6.7\tHealthcheck API",slug:"_6-7healthcheck-api"},{level:3,title:"GET /health",slug:"get-health"}],content:" 6.\tÃdeme Emri BaÅlatma Hizmeti \n Ãdeme emri baÅlatma iÅlemi havale, FAST ya da PÃS ödemesiyle sonuçlanabilir. Ãdeme iÅleminin amacı kiÅiden kiÅiye para transferi, e-ticaret ödemesi gibi farklı ödeme türleri olabilir. Ãdemenin amacına göre ÃBHSânin ileteceÄi veri setinde farklılaÅmalar olabilir. \n Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n Ãdeme Emri BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden ödeme emrini baÅlatır. \n Ãdeme Emri Rıza Hazırlanması: ÃBHS, âÃdeme Emri BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n Ãdeme Emrinin BaÅlatılması: ÃBHS, âödeme emriâni HHSâye iletir. \n Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı Sorguları: ÃBHS, Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n \n \n Åekil 4: Ãdeme Emri BaÅlatma Hizmeti Ãst Düzey İŠAkıÅı \n Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. \n Tablo 6: Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n odeme-emri-rizasi \n POST \n /odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n OdemeEmriRizasiIstegi \n OdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n odeme-emri-rizasi \n GET \n /odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n OdemeEmriRizaYaniti \n \n \n 3 \n odeme-emri \n POST \n /odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı İstek ve Yanıt \n OdemeEmriIstegi \n OdemeEmri \n \n \n 3.1 \n odeme-emri \n GET \n /odeme-emri
16/{odemeEmriNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n OdemeEmri \n 6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) ödeme emri baÅlatma iÅlemine onay verir. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması \n \n Åekil 5: Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak ödeme emri rıza kaynaÄının oluÅturulmasını (odemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ mi? \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahip mi? \n İstekte bulunulan HHS kodu doÄru mu? \n \n \n \n POST baÅarılı olursa, HHS, ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren odemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir OdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların API dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme ve bildirim adresleri ile ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) \n HHS; kimlik bilgileri nesnesinde eÄer kimlik bilgileri iletilmiÅ ise; bu veri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) \n HHS kimlik bilgisi ile gönderen unvanının uyumlu olduÄunun kontrol eder. HHS'ler EFT/FAST iÅlemlerinde kabul ettikleri kontrol kriterleri ile iÅleme izin verebilirler. (Zorunlu) \n Gönderen Hesap Numarası ile ilgili Tablo7âde belirtilen kontroller yapılmalıdır. (Zorunlu) \n HHS, ödeme için benzersiz âRizaNoâ ile âOdemeEmriRizasiâ nesnesi oluÅturur ve ÃBHSâye döner. \n HHS, OdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \nBu aÅamada ÃHKânın HHS tarafından tanımlanmıŠve isteÄin veri alanında gönderen hesaba (borçlandırılacak hesaba) iliÅkin bir bilgisinin olması gerekmez. \nHesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n \n POST /odeme-emri-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âodemeEmriRizasiIstegiâ nesnesi (Tablo-7) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âodemeEmriRizasiâ (Tablo-8) nesnesi oluÅturulur. \n Tek Seferlik Ãdeme \nTek seferlik ödeme akıÅı YÃS'ten HHS'ye giden istekte, gönderen kimlik bilgilerinin olmadıÄı durumda gerçekleÅir. Gönderen kimlik bilgisi olmadıÄında, KOLAS sorgusu yapılamayacaÄından ötürü, HHS tarafından TR.OHVPS.Business.InvalidContent hatası dönülmelidir. \nTek seferlik ödeme akıÅı hem iÅyeri ödemelerinde hem de kiÅiden kiÅiye para transferlerinde kullanılabilen bir akıÅtır.\nAÅaÄıdaki senaryolar tek seferlik ödemeye örnek olarak gösterilebilir. \nİÅyeri Ãdemesi akıÅı örneÄi: Bir e-ticaret sitesinde, üye olmadan alıÅveriÅ yapılması ve ödemenin YÃS tarafından kimlik bilgisi olmadan baÅlatılması \nKiÅiden kiÅiye para transferi akıÅı örneÄi: QR veya diÄer yöntemler ile alıcı bilgilerinin gönderici ile paylaÅılması ve YÃS üzerinden gönderici bilgileri olmadan alıcıya para transferi yapılması için rıza verilmesi \n BAÅARILI İSTEK: \n Tablo 7: âOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. YÃS Yönlendirmeli GKD yöntemi ile akıÅı destekliyorsa, yetYntm deÄiÅkeninden baÄımsız olarak yönlendirme adresini iletmelidir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. YÃS Ayrık GKD yöntemi ile akıÅı destekliyorsa, yetYntm deÄiÅkeninden baÄımsız olarak bildirim adresini iletmelidir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, ayrık GKD sonrası bu alanda belirtilen adrese otorizasyon kodunu (authentication code) iletir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n HHS geçerli bir para birimi olduÄu kontrol eder. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n İ \n Gönderenin unvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise TR.OHVPS.Business.InvalidContent hatası verilmelidir. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. Kontrol baÅarısız olduÄunda TR.OHVPS.Business. InvalidAccount hatası YÃSâe iletilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, HspRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının unvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. FAST-TR Karekod dıÅındaki iÅ yeri ödemelerinde; yine Unvan alanında iÅyeri adı bilgisi gönderilmelidir. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n Tek seferlik ödemelerde ( kimlik bilgileri boÅ iletildiÄinde) KOLAS nesnesi dolu iletiliyorsa; HHS tarafından TR.OHVPS.Business.InvalidContent hatası dönülmelidir \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n HHS, YÃS'ün API deseninde \"O\" kodunu ilettiÄini kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarında: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tİÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n YÃS bu deÄeri ÃHKâyı HHSâye yönlendirmeden önceki ekranda göstermeli, ve HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak yine ÃHKâya göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..50 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. \n \n \n \n > ÃBHS Masraf Tutarı \n obhsMsrfTtr \n Kompleks:Tutar \n İ \n API İlke ve Kuralları 1.0 sürümünde bu nesnenin API deseninde gönderilmemesi gerekmektedir. \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n İ \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. İÅyeri Ãdeme Bilgileri, YÃS uygulama önyüzünde ÃHKânın bildiÄi ve giriÅi yapılması beklenen bir bilgi olmamalıdır. YÃS tarafından sistemsel olarak doldurulması gereklidir. \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n İ \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n İ \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n İ \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriRizasiâ nesnesi Tablo-8âdeki parametrelerden oluÅur: \n Tablo 8: âOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄ
16u durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n >> Unvan \n unv \n AN3..140 \n İ \n Gönderenin unvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..50 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem sa
16atleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisidir. Bu alan ileri vadeli ödemeler için düÅünülmüÅtür. İlk fazda doldurulmasına gerek olmadıÄı düÅünülmektedir. \n \n \n > ÃBHS Masraf Tutarı \n obhsMsrfTtr \n Kompleks:Tutar \n İ \n API İlke ve Kuralları 1.0 sürümünde bu nesnenin API deseninde gönderilmemesi gerekmektedir. \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > HHS Masraf Tutarı \n hhsMsrfTtr \n Kompleks:Tutar \n İ \n API İlke ve Kuralları 1.0 sürümünde bu nesnenin API deseninde gönderilmemesi gerekmektedir. \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n HHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n İ \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n İ \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n İ \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n İ \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil 6: Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın ödeme emrini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK -bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra;
16 HHS, ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âodemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, OdemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır. HHS, â ADIM 2 -Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin OdemeEmriRizasi nesnesine iÅler. \n GET /odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir OdemeEmriRizasi kaynaÄının durumunu isteÄe baÄlı olarak alabilir. \n Durum \n OdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /odeme-emri-rizasi/{RizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-8âde yer alan parametreleri içeren âOdemeEmriRizasiâ oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /odeme-emri-rizasi/{RizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âOdemeEmriRizasiâ nesnesini çekmelidir. \n Ãerçeve sözleÅme kapsamında olmayan tek seferlik ödeme iÅlemlerinde, Kimlik Türü ve Kimlik Verisi bilgilerinin ödeme emri rızası sırasında gönderimi zorunlu deÄildir. BaÅarılı GKD sonrası, yani eriÅim belirteci alındıÄında, ödeme emri oluÅmadan önce, YÃSâün ödeme emri rızasını sorgulayarak bu bilgileri alması ve ödeme emrini oluÅtururken Kimlik Türü ve Kimlik Verisi alanlarını dolu olarak göndermesi beklenmektedir. Ancak rıza durumu âYetki Bekleniyor - Bâ, âYetkilendirildi - Yâ ve âYetki İptal - Iâ statülerinde ise, ödeme emri rızası sorgulamasında, HHSânin Kimlik Türü ve Kimlik Verisi bilgisini YÃS ile paylaÅmaması gerekmektedir. \n 6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması \n \n Åekil 8: Ãdeme Emrinin OluÅturulması \n POST /odeme-emri \n \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS OdemeEmri kaynaÄını oluÅturur. \n Ãdeme emri (OdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır.\n \n POST HHS tarafından iÅlenir: RizaDurumu âYetki Kullanıldıâ ise iÅleme baÅlanır. \n POST /odeme-emri-rizasi ile POST /odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır.POST verisindeki Gönderen Hesap Numarası ve Alıcı Hesap Numarasının aynı bankaya aitse HAVALE deÄilse FAST veya PÃS iÅ akıÅına geçilir. \n POST verisinin modele göre kontrolü yapılır (alan kontrolleri) \n POST verisinin mantıksal kontrolleri yapılır (IBAN kontrolü, çapraz alan kontroller) \n OdemeEmriDurumu âGerçekleÅtiâ / âGönderildiâ / âGerçekleÅmediâ olarak güncellenir. \n \n \n POST baÅarılı olursa, içerisinde OdemeEmriNo ve OdemeEmriDurumu deÄiÅkenleri de bulunan OdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine DönüÅtüâ olarak güncellenir. \n \n BAÅARILI İSTEK: \n Tablo 9: âOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. \n \n \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi \n \n \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde, 1. HHS, Gönderen Adı ve Gönderen Hesap Numarasını ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Ãdeme Emri Rizası Nesnesindeki İÅlem Tutarı verisi ile aynı olmalıdır. HHS iÅlem tutarı ödeme mesajında (Havale/FAST/PÃS) aynen taÅınmak durumundadır. \n Ttr \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari unvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>>
16 Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n KolasRef ( hem FAST hem de PÃS için aynı) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. \n RefBlg (Hem FAST hem de PÃS için aynı) \n \n \n >> Açıklama \n odmAcklm \n AN1..50 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. \n \n FAST/PÃS Acklm \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Sistemi verisi ile aynı olmalıdır. \n \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem sa
16atleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n \n \n > ÃBHS Masraf Tutarı \n obhsMsrfTtr \n Kompleks:Tutar \n İ \n API İlke ve Kuralları 1.0 sürümünde bu nesnenin API deseninde gönderilmemesi gerekmektedir. \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n Ãdeme Emri Rizası Nesnesindeki ÃBHS Masraf Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Ãdeme Emri Rizası Nesnesindeki ÃBHS Masraf Tutarı verisi ile aynı olmalıdır. \n \n \n \n > HHS Masraf Tutarı \n hhsMsrfTtr \n Kompleks:Tutar \n İ \n API İlke ve Kuralları 1.0 sürümünde bu nesnenin API deseninde gönderilmemesi gerekmektedir. \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n Ãdeme Emri Rizası Nesnesindeki HHS Masraf Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n HHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Ãdeme Emri Rizası Nesnesindeki HHS Masraf Tutarı verisi ile aynı olmalıdır. \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n İ \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. İÅyeri Ãdeme Bilgileri, YÃS uygulama önyüzünde ÃHKânın bildiÄi ve giriÅi yapılması beklenen bir bilgi olmamalıdır. YÃS tarafından sistemsel olarak doldurulması gereklidir. \n \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n İ \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n İ \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n İ \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n \n \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanıdır. \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. \n \n \n > Bildirim Adresi \n bldAdr \n AN1..1024 \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Emir Bilgileri \n emrBlg \n Kompleks: EmirBilgileri \n Z \n \n \n \n > Ãdeme Emri Numarası \n odmEmriNo \n AN1..128 \n Z \n odemeEmri nesnesinin UID'sidir. OdemeEmrine İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Ãdeme Emri Zaman \n odmEmriZmn \n ISODateTime \n Z \n odemeEmri nesnesinin oluÅturulma zamanıdır. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari unvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Durumu \n odmDrm \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. Ãdeme Durumu alanı ile ilgili olarak HHSâler tarafından YÃSâlere OdemeEmri servisi yanıtında 02:Gönderildi, 04:Onayda Bekliyor,05:İÅleme Alındı yanıtları gönderilebilir. 05:İÅleme Alındı durumu YÃS tarafından müÅteriye gösterilmeyen bir koddur. Bu kod dönüldüÄünde YÃS uygulamasında ÃHKâya ödeme durumu 02:Gönderildi olarak gösterilir. İÅlemin son durumunun teyidi için YÃS ödeme emri sorgulaması yapmalıdır. 02:Gönderildi durumu oluÅtuktan sonra YÃS tarafından ödeme emri sorgulaması yapılarak ödeme durumunun güncel deÄeri öÄrenilir. Güncel deÄerler 01:GerçekleÅti,03:GerçekleÅmedi durumları olabilir. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..50 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Ãdeme Sistem Numarası \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n > ÃBHS Masraf Tutarı \n obhsMsrfTtr \n Kompleks:Tutar \n İ \n API İlke ve Kuralları 1.0 sürümünde bu nesnenin API deseninde gönderilmemesi gerekmektedir. \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > HHS Masraf Tutarı \n hhsMsrfTtr \n Kompleks:Tutar \n İ \n API İlke ve Kuralları 1.0 sürümünde bu nesnenin API deseninde gönderilmemesi gerekmektedir. \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi (TRY, USD, EUR vb.). \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n HHSânin iÅlemle ilgili ÃHKânın borçlandırılmasını belirttiÄi masraf tutarı. İÅlem Tutarı ile aynı para biriminde olmalıdır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n İ \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi
16için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n İ \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n İ \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n İ \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: Ãdeme Emri Sorgusu \n GET /odeme-emri/{odemeEmriNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ödeme emrini sorgulayabilir. \n BAÅARILI YANIT: \n GET /odeme-emri/{odemeEmriNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âOdemeEmriâ nesnesi döner. \n 6.7\tHealthcheck API \n GET /health \n HHSâlerin sunacaÄı bu servis, düzenli olarak BKM tarafından çaÄırılarak servislerin ayakta olup olmadıklarının kontrolünün saÄlanması planlanmaktadır \n BaÅarılı yanıtta Http 200 kodu dönülmelidir. \n BaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir \n \n \n \n"},{title:"3. Temel Prensipler",frontmatter:{},regularPath:"/v1.0.2/contents/temel-prensipler.html",relativePath:"v1.0.2/contents/temel-prensipler.md",key:"v-03088e53",path:"/v1.0.2/contents/temel-prensipler.html",headers:[{level:2,title:"3.1 Genel",slug:"_3-1-genel"},{level:2,title:"3.2.\tİstem (ÃaÄrı) ve Oturum",slug:"_3-2-istem-cagrı-ve-oturum"},{level:2,title:"3.3.\tRESTful API",slug:"_3-3-restful-api"},{level:2,title:"3.4.\tSürüm Yönetimi",slug:"_3-4-surum-yonetimi"},{level:2,title:"3.5.\tKaynak URI Yol Yapısı",slug:"_3-5-kaynak-uri-yol-yapısı"},{level:2,title:"3.6.\tKarakter Kodlama",slug:"_3-6-karakter-kodlama"},{level:2,title:"3.7.\tVeri Formatı",slug:"_3-7-veri-formatı"},{level:2,title:"3.8.\tİstemci Sertifika Yönetimi",slug:"_3-8-istemci-sertifika-yonetimi"},{level:2,title:"3.9.\tYetkilendirme Türleri",slug:"_3-9-yetkilendirme-turleri"},{level:2,title:"3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları",slug:"_3-10-istek-cevap-mesajlarında-kullanılan-nesne-yapıları"},{level:2,title:"3.11. Sayfalandırma ve Filtreleme",slug:"_3-11-sayfalandırma-ve-filtreleme"},{level:2,title:"3.12. Mesaj İmzalama",slug:"_3-12-mesaj-imzalama"},{level:2,title:"3.13. Durum Kodu",slug:"_3-13-durum-kodu"},{level:2,title:"3.14. Gereksinimlerinin Sınıflandırılması",slug:"_3-14-gereksinimlerinin-sınıflandırılması"},{level:2,title:"3.15. İstek BaÅlıÄı",slug:"_3-15-istek-baslıgı"},{level:2,title:"3.16. Yanıt BaÅlıÄı",slug:"_3-16-yanıt-baslıgı"},{level:2,title:"3.17. Idempotency Kuralları",slug:"_3-17-idempotency-kuralları"},{level:2,title:"3.18. HTTP Durum Kodları",slug:"_3-18-http-durum-kodları"},{level:2,title:"3.19. Maskeleme Kuralları",slug:"_3-19-maskeleme-kuralları"},{level:2,title:"3.20. Fonksiyonel Olmayan Gereksinimler",slug:"_3-20-fonksiyonel-olmayan-gereksinimler"},{level:2,title:"3.21. Otomatik Sorgular",slug:"_3-21-otomatik-sorgular"}],content:' 3. Temel Prensipler \n Bu bölümde Ãdeme Hizmetleri Veri PaylaÅım Servisleri (Hesap Bilgisi Hizmeti, Ãdeme Emri BaÅlatma Hizmeti) için tanımlanan temel prensipler açıklanmaktadır. \n 3.1 Genel \n \n \n HHSâler YönetmeliÄin 59. maddesinin beÅinci fıkrası ve Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄin (TebliÄ) 23. maddesinin birinci fıkrası uyarınca, ödeme hizmetleri veri paylaÅım servislerini BKM API Geçidi aracılıÄıyla HBHS ve ÃBHSâye sunmakla yükümlüdür. \n \n \n TebliÄin 23. maddesinin ikinci fıkrası uyarınca ödeme emri baÅlatma hizmetinde açık iletiÅim servisinin tarafları ÃBHS ile HHSâdir. \n \n \n TebliÄin 23. maddesinin üçüncü fıkrası uyarınca hesap bilgisi hizmetinde açık iletiÅim servisinin tarafları HBHS ile HHSâdir. \n \n \n YönetmeliÄin 60. maddesinin birinci fıkrası uyarınca müÅteri, ödeme emri baÅlatma hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n YönetmeliÄin 61. maddesinin birinci fıkrası uyarınca müÅteri, hesap bilgisi hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n TebliÄin 25. maddesi uyarınca HHS ve YÃS (ÃBHS ve HBHS) arasında baÄlantı uçtan uca güvenli bir Åekilde saÄlanır. Bu amaçla iletim katmanında TLS (asgari 1.2 sürümü) ile Åifreli iletiÅim saÄlanır. \n \n \n TebliÄin 23. maddesinin dördüncü fıkrası uyarınca HHS tarafından sunulan ödeme hizmetleri veri paylaÅım servislerini kullanan yetkilendirilmiŠödeme hizmeti saÄlayıcılarının TCMB tarafından ilgili ödeme hizmeti için yetkilendirilmiÅ olduÄu kontrol edilir. \n \n \n TebliÄin 25. maddesinin beÅinci fıkrası uyarınca zaman damgası, 15/1/2004 tarihli 5070 sayılı Elektronik İmza Kanunu kapsamında tanımlanan zaman damgasına dayanır. \n \n \n API alan isimleri Türkçe olarak tanımlanmıÅtır. Ancak API baÅlıÄı (header) alanındaki alan isimleri özelinde, API Geçitleri tarafından otomatik olarak tanınabilmesi gözetilerek, İngilizce isimlendirme tercih edilmiÅtir. \n \n \n ÃHK halihazırda ödeme hesaplarına, çevrim içi (mobil bankacılık, internet bankacılıÄı vb.) eriÅebilir durumda ise, HHS\'nin varsa Açık Bankacılık kanal veya yetki tanımını varsayılan deÄeri AÃIK olacak Åekilde sunması gerekmektedir. HHSânin, Bireysel/Kurumsal/Ticari müÅteri ayrımı yapmaksızın tüm müÅterileri için, çevrim içi kanallarda hesap hareketlerine eriÅim ve ödeme yapabilme yetkisi bulunması durumunda, yine aynı Åekilde Açık Bankacılık kanal veya yetki tanımını da varsayılan deÄeri AÃIK olacak Åekilde sunması gerekmektedir. \n 3.2.\tİstem (ÃaÄrı) ve Oturum \n \n \n Her istek tekil istek numarası ve ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) içerir. Birden fazla istek içeren iÅlem YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi (istek numarası: X-Request-ID) ve rıza sürecine özgü talep kimliÄi (iÅlem grup numarası: X-Group-ID) deÄerleri kullanılmalıdır. Aynı rıza noâya ait tüm isteklerde aynı X-Group-ID bilgisi deÄeri gönderilmelidir. \n \n \n Oturum takibi ise PSU-Session-ID ile yapılır. Oturum numarası (PSU-Session-ID) ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) ile birlikte ilgili tüm iÅlem verilerini içerecek Åekilde k
16ayıt altına alınır. \n \n \n ÃrneÄin, bir ödeme emri baÅlatma iÅlemi birden fazla istekten oluÅur. Her istek yukarıda belirtildiÄi gibi biricik istek numarası ve ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) içerir. Ancak iÅlemin oturum bütünlüÄü PSU-Session-ID ile saÄlanır. \n \n \n Taraflar açtıkları oturumu iÅlem bütünlüÄünü saÄlayacak süre içerisinde açık tutar ve iÅlem biter bitmez kapatır. \n 3.3.\tRESTful API \n APIâler, dünya ölçeÄinde yaygın bir Åekilde kullanılan Temsili Durum Transferi (Representational State Transfer, REST) mimari tarzı ve JavaScript Nesne Notasyonu (JavaScript Object Notation, JSON) veri formatlarına uygun olarak geliÅtirilir. En üst seviye Veri Tanımlama Dili (Data Description Language) ve en iyi uygulama örnekleri için ^JSON Åeması temel alınır. \n İstek ve yanıt mesajlarında, isteÄe baÄlı veya koÅullu bir alan, deÄer içermiyorsa, bu alan JSON payloadunda yer almamalıdır. \n Ãrnek kod bloÄu. \n "rzBlg":{\n "rizaNo":"aa9bd7e7-0ccd-4edc-9639-5a358dbf2335",\n "olusZmn":"2022-11-28T12:00:21+03:00",\n "gnclZmn":null, --\x3e hatalı\n "rizaDrm":"K",\n "rizaIptDtyKod":"" --\x3e hatalı \n },\n \n Ãrnek kod bloÄu: \n \n "alc":{\n "hspNo": "TR800800004162387689546019",\n "unv": "AHMET YILMAZ", \n "kolas":{} --\x3e nesne gönderimi hatalı\n },\n 3.4.\tSürüm Yönetimi \n API sonraki aÅamalarda doÄabilecek gereksinimleri ve daha karmaÅık kullanım durumlarını karÅılamak için sürümler halinde geliÅtirilir ve bu durum tasarım sırasında göz önünde bulundurulur. \n API v1.0 sürümünde ; \n \n Kapsamdaki ödeme hesapları : Vadesiz TL, yabancı para hesapları (gerçek ve tüzel kiÅilere ait ödeme hesapları), Kredili Mevduat Hesabı \n Tekil ödeme (Virman/Havale/FAST/MüÅterilerarası TL Aktarım Sistemi)\n \n Virman ve havale iÅlemleri kapsamında yabancı para transferi yapılabilir. \n \n \n Hesap bilgisi hizmetleri\n \n Temel veya ayrıntılı hesap bilgisi \n Bakiye \n GerçekleÅen iÅlemler için Hesap hareketleri \n \n \n Karekodlu ödemelerdeki 01, 02 ve 03 akıŠtürleri\nyer almaktadır. \n \n Her sürüm deÄiÅikliÄinde bir önceki sürüm belirli bir süre desteklenecektir. DiÄer bir ifadeyle, sadece belirli bir süre için mevcut ve bir önceki sürüm aynı anda eriÅilebilir olacaktır. \n 3.5.\tKaynak URI Yol Yapısı \n YÃSâlerin baÅlattıÄı çaÄrılarda URI yolu aÅaÄıdaki yapıyı takip eder: \n [hhs-yol-ön-eki]/ohvps/ [kaynak-grubu]/ [sürüm]/ [kaynak]/[kaynak-no]/[alt-kaynak] \n Bu, aÅaÄıdaki unsurlardan oluÅur: \n \n [hhs-yol-ön-eki] \nİsteÄe baÄlı, HHS\'ye özgü yol ön ekini ifade eder. \nBKM API geçidi üzerinden yapılan çaÄrılarda BKM tarafından belirlenen sistem adı ve yol ön eki kullanılır. \n ohvps \nSabit metin âohvpsâ (Ãdeme Hizmetleri Veri PaylaÅım Servisleri kısaltması) \n [kaynak-grubu] \nKaynak grubu, APIâye eriÅmek için kullanılan ödeme hizmetine (HBH, ÃBH) göre eriÅim adresi (end point) grubunu tanımlar (âhbhâ veya âobhâ). \n [sürüm] \nAPI sürümünü ifade eder (â/s[ana-sürüm].[alt-sürüm]/â). \n [kaynak]/[kaynak-no] \nKaynak detaylarını ifade eder. \n [alt-kaynak] \nAlt kaynak detaylarını ifade eder. \n \n HHS, tüm kaynakları için aynı katılımcı yolu ön ekini ve sistem adını kullanmalıdır. \n BKM APIâlerine eriÅmek isteyen uygulamaların yetkilerine göre aÅaÄıdaki APIâlere abone olmaları gerekmektedir: \n OBH: \n https://secure.api-preprod.bkm.com.tr/ohvps/obh/s1.0/odeme-emri-rizasi \n https://secure.api-preprod.bkm.com.tr/ohvps/obh/s1.0/odeme-emri \nHBH: \n https://secure.api-preprod.bkm.com.tr/ohvps/hbh/s1.0/hesap-bilgisi-rizasi \n https://secure.api-preprod.bkm.com.tr/ohvps/hbh/s1.0/hesaplar \n https://secure.api-preprod.bkm.com.tr/ohvps/hbh/s1.0/hesaplar/1234/islemler \n https://secure.api-preprod.bkm.com.tr/ohvps/hbh/s1.0/hesaplar/1234/bakiye \nGKD \n https://secure.api-preprod.bkm.com.tr/ohvps/gkd/s1.0/erisim-belirteci \nHHS â YÃS API \n https://secure.api-preprod.bkm.com.tr/hhs-api/s1.0/hhs \n https://secure.api-preprod.bkm.com.tr/hhs-api/s1.0/hhs/1234 \n https://secure.api-preprod.bkm.com.tr/yos-api/s1.0/yos \n https://secure.api-preprod.bkm.com.tr/yos-api/s1.0/yos/1234 \n HHSâlerin saÄlayacakları APIâlerdeki URI çevrimi örnekleri aÅaÄıdaki gibidir. \n \n https://xbank.com.tr/api-portal/ohvps/obh/s1.0/o
16deme-emri \n https://secure.api-preprod.bkm.com.tr/ohvps/obh/s1.0/odeme-emri (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.0/hesap-bilgisi-rizasi \n https://secure.api-preprod.bkm.com.tr/ohvps/hbh/s1.0/hesap-bilgisi-rizasi (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.1/hesaplar \n https://secure.api-preprod.bkm.com.tr/ohvps/hbh/s1.1/hesaplar (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.1/hesaplar/1234 \n https://secure.api-preprod.bkm.com.tr/ohvps/hbh/s1.1/hesaplar/1234 (BKM API) \n \n BKM API Geçidi üzerinden yapılan çaÄrılarda, istek baÅlıÄında bulunan âx-aspsp-codeâ (isteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodu) deÄerine göre HHS APIâde standart olarak tanımlanmıŠolan âbasePathâ bilgisine servis uzantısı eklenerek HHSâye yönlendirme yapılır. \n ÃrneÄin, istek baÅlıÄında xbank âın kodu varsa, YÃS tarafından yapılan \n https://secure.api-preprod.bkm.com.tr/ohvps/hbh/s1.0/hesap-bilgisi-rizasi \nçaÄrısı BKM API Geçidi tarafından karÅılanarak \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.0/hesap-bilgisi-rizasi \nadresine yönlendirilir. \n Bu örnekte, https://xbank.com.tr/api-portal basePath bilgisi HHS tarafından HHS APIâye girilen deÄerdir. \n 3.6.\tKarakter Kodlama \n API istekleri ve yanıtlarında UTF-8 karakter kodlaması kullanılır. Bu, JSON için varsayılan karakter kodlamasıdır. \n Ancak, bir HHS\'nin kendi uygulamaları ve ödeme baÅlattıÄı ödeme sistemi (FAST vb.) bazı UTF-8 karakterlerini kabul etmeyebilir. HHS, UTF-8 kodlaması içeren bir mesajı iÅleyemez ve reddederse, HTTP 400 (Hatalı İstek) durum kodu ile yanıt vermelidir. \n 3.7.\tVeri Formatı \n \n Açık bankacılık kapsamındaki zaman damgası, ISO 8601 standartına uygun olarak yerel saat bilgisini ve timezone bilgisini de içerecek Åekilde " yyyy-MM-ddâTâHH:mm:ssXXX " formattaki haliyle hazırlanmalıdır. \n \n Ãrnek: "timestamp": "2021-05-30T20:34:15+03:00" \nyyyy : 4 hane yıl \nMM : BaÅa â0â eklenmiÅ, toplam 2 hane ay \ndd : BaÅa â0â eklenmiÅ, toplam 2 hane gün \nHH : BaÅa â0â eklenmiÅ, toplam 2 hane saat (0-23 arası deÄer alabilir.) \nmm : BaÅa â0â eklenmiÅ, toplam 2 hane dakika \nss : BaÅa â0â eklenmiÅ, toplam 2 hane saniye \nXXX : ISO 8601 Time zone \n \n \n JWT veri paketlerinde kullanılan zaman damgaları, 1 Ocak 1970 Saat 00:00:00 (UTC) anından itibaren geçen saniye sayısı deÄerini (Unix Time) kullanmalıdır. \n \n \n Bir HHS, tarihi yanlıŠbiçimlendirilmiÅ bir istek aldıÄında, 400 (Hatalı İstek) durum kodu ve ilgili hata kodu ile yanıt vermelidir. \n \n \n ISO 4217 Standartında para birimleri ve kaç basamak ondalık deÄer içerebilecekleri belirlenmiÅtir. \n https://www.iso.org/iso-4217-currency-codes.html adresinden ücretsiz olarak listeye eriÅilebilir. \nAPI Standartlarında da para birimleri ISO 4217âde tanımlanmıŠolan 3 harfli kodlarla iletilir. Tüm tutar alanları ISO 4217\'de tanımlanmıŠpara birimlerinin ondalık basamak deÄerleri de göz önünde bulundurularak iletilmelidir. Tutar alanları artı ya da eksi deÄer alabileceÄi için API deseninde tanımlanmıŠregular expressionlar dikkate alınmalıdır. \nÃrneÄin; Bakiye API\'sindeki "Kredili Mevduat Hesabı Bakiyesi" alanı "-100.25" ve "Para Birimi" alanı "TRY" olarak iletildiÄinde 25 deÄerinin kuruÅ olduÄu anlaÅılmalıdır. \nÃdeme Emri Rızası API\'sinde yer alan "İÅlem Tutarı" alanı "104.75" TRY olarak iletildiÄinde "75" deÄerinin kuruÅ olduÄu anlaÅılmalıdır. \n"12000" Japon Yeni için, ISO 4217âde JPY para biriminin ondalık kısmı olmadıÄından "İÅlem Tutarı" alanında "12000" ve "Para Birimi" alanında "JPY" deÄeri iletilmelidir. \n \n \n Altın para birimi özelinde ISO 4217âye uygun olarak "XAU" cinsinde ve 2 basamak ondalık rakam içerecek Åekilde iletilmelidir. ÃrneÄin içerisinde "13,50 gr" altın olan hesap için bakiye "13.50", para birimi "XAU" olarak gönderilmelidir. \n \n \n DiÄer madenlerde ondalık basamak ISO 4217 standartında tanımlandıÄı gibi olmalıdır. \n \n \n Sıralı veri tipleri büyük küçük harfe duyarlı olmalıdır. \n 3.8.\tİstemci Sertifika Yönetimi \n ÃHVPS kapsamında YÃS ve HHSâlerin güvenli bir Åekilde tanımlanması amacıyla elektronik sertifikalar kullanılır. \n ÃHVPS kapsamında tarafların güvenli bir Åekilde tanımlaması, uçtan uca güvenli iletiÅim, mesaj Åifreleme ve mesaj imzalama iÅlevleri 15/1/2004 tarihli ve 5070 sayılı Elektronik İmza Kanunuânda açıklanan elektronik sertifikalar kullanılarak saÄlanır. Elektronik sertifikada Türkiye Cumhuriyet Merkez Bankası tarafından verilen kuruluÅ kodu ve kuruluÅun türüne dair bilgiler bulunur. \n BKM API Geçidi üzerinden yapılan eriÅimlerde YÃS ve HHSâlere önceden daÄıtılmıŠolan istemci sertifikaları kullanılarak tarafların (sunucu) kimlikler
16inin doÄrulanması saÄlanacaktır. İstemci sertifikaları hem test hem de üretim ortamında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi sertifikasyon sürecinde de sınanacaktır. Söz konusu sertifikaların daÄıtım prosedürleri ve kullanımlara yönelik açıklamalar EK-3âte yer verilmiÅtir. \n 3.9.\tYetkilendirme Türleri \n BKM API Geçidi üzerinden yapılan çaÄrılarda iki temel yetkilendirme türü kullanılır: \n 1.\tİstemci Kimlik Bilgileri: MüÅteri onayının gerekmediÄi, sadece YÃSâün tanımlanıp doÄrulandıÄı API çaÄrılarında kullanılır. YÃSâün yetkilendirilmiÅ olduÄu ve faaliyet izninin yaptıÄı hizmet çaÄrısına uygun olduÄu kontrol edilir. Bu amaçla, YÃSâlere clientId ve clientSecret tahsis edilecektir. YÃSâler ilgili clientId ve clientSecret ile sadece yetkilendirilmiÅ oldukları servislere eriÅebileceklerdir. YÃSâler kendilerine BKM tarafından sunulacak APIâyi, kendi clientID ve clientSecret deÄerleri ile sorgulayarak âİstemci Kimlik Bilgileriâ belirtecini (access token) elde edeceklerdir.\nHHSâler de BKM API geçidi üzerindeki YÃS APIâsini sorgulama maksadı ile BKM API Geçidine geldiklerinde, kendilerine atanmıŠolan clientID ve clientSecret bilgileri ile yetki kontrolleri yapılır.\nHHSâler kendilerinden alınacak username ve password deÄerleri kullanılarak oluÅturulacak basic authentication metodu ile servislerini sunacaklardır. \n 2.\tYetkilendirme Kodu: YÃSâün doÄrulanmasının yanısıra müÅterinin GKD ile doÄrulanması gereken API çaÄrılarında kullanılır. MüÅteri doÄrulanarak yetkilendirme kodu oluÅturulması HHSânin yetkilendirme arayüzüne yönlendirilir. GKDânin baÅarıyla tamamlanması sonrasında yetkilendirme kodu YÃSâe dönülür. YÃS daha sonra HHSânin eriÅim belirteci (access token) eriÅim adresini (EK-3: POST /erisim-belirteci) çaÄırmak suretiyle yetkilendirme kodunu bir eriÅim belirteci (access token) ile deÄiÅtirerek ilgili kaynakları kullanabilir. \n Ãdeme emri baÅlatma ve hesap bilgisi hizmetlerinde hangi yetkilendirme türlerinin kullanılacaÄı bilgisi, ilgili baÅlıklardaki eriÅim adresleri (endpoints) tablolarında yer almaktadır. \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir.\nBelirli bir süre için tanımlanan eriÅim belirteci (access token) deÄerinin yenileme belirteci (refresh token) ile yenilenmesi gerekir. \n EriÅim adreslerinde kullanılan yetkilendirme türü ilgili eriÅim adresi tablolarında belirtilmiÅtir. \n 3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları \n İstek ve Cevap mesajlarında kullanılacak olan nesneler tüm elemanlarını kapsayacak Åekilde Ek-1 de listelenmiÅtir. Tüm listelenen elemanlar açısından (Uç nokta mesaj yapılarının belirtildiÄi tablolarda belirtildiÄi üzere) alanın Zorunlu (z) veya İsteÄe BaÄlı (İ) olma durumlarına göre bazı alanlar gönderilebilir veya gönderilmeyebilir. \n 3.11. Sayfalandırma ve Filtreleme \n Sayfalandırma \n ÃaÄrıya dönülen kaynak nesnesi içerisindeki kayıtlar bir sayfalandırma yapısı ile çaÄrılacak Åekilde istek oluÅturulur. \n OluÅturulacak isteÄin içerisinde parametreler ile filtreleme, sayfa baÅına gösterilecek kayıt sayısı ve hangi sayfanın önyüzde gösterileceÄi bilgileri eriÅim noktasına iletilir ve ilgili kayıtlar cevap olarak alınır. \n Filtreleme \n HHS, birden çok kayıt dönülmesi gereken GET çaÄrılarında sınırlı filtreleme desteÄi saÄlamalıdır. Filtre parametreleri her zaman kaynak nesnesinin belirli alanlarına özgüdür ve nesne için tanımlanan kurallara uymalıdır. \n 3.12. Mesaj İmzalama \n Elektronik imzalar, ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini destekler. İmzaların kaynak bazında hangi istek ve yanıtlara uygulandıÄı belirlidir. \n API yalnızca TLS\'ye dayanırsa, dijital kayıtları ve inkâr edilemezlik kanıtlarını tutmak zor olur. Bu nedenle, TLS\'ye dayanmayan bir inkâr edilemezlik çözümü olarak API isteÄinin HTTP baÅlıÄında bir JWS kullanılarak saÄlanabilir. \n HTTP isteÄinin gövdesinin hash fonksiyonu (SHA256) ile özeti alınacaktır. Elde edilen özet, asimetrik anahtarları de
16stekleyen bir algoritma kullanılarak imzalanacak ve JWS elde edilecektir. \n Bir istek, YÃS\'nin özel anahtarı ile imzalanacak ve bu isteÄe karÅılık gelen yanıt, HHS\'nin özel anahtarı tarafından imzalanacaktır. \n Tüm API istekleri ve yanıtları imzalanmaz. Mesaj imzalamanın zorunlu olup olmadıÄı, desteklenip desteklenmediÄi her API özelinde belirlenir. \n Anahtar Deposu \n HHS\'ler ve YÃS\'ler tarafından güvenilen bir Güven Otoritesi (Trust Anchor), taraflar için bir genel anahtar deposu saÄlamaktan sorumludur. \n Güven Otoritesi, taraflardan herhangi birisinin oluÅturduÄu bir anahtar çiftinin açık bölümünü saklayan merkezi bir dizin (BKM tarafından tutulan merkezi kayıt sistemi vb.) olacaktır. \n Mesajları doÄrulamak için tarafların genel anahtarlarının paylaÅılması için BKM bir servis saÄlayacaktır. HHS API olarak adlandırılımıŠolan bu servis ile HHS ve YÃS listelerine ulaÅılabildiÄi gibi doÄrulama iÅlemi için ihtiyaç duyulacak olan genel anahtarlara da bu servis üzerinden eriÅilebilinecektir. \n İlgili Mesaj Åifreleme için genel akıÅ, Ek-5 bölümünde detaylarıyla paylaÅılmaktadır. \n 3.13. Durum Kodu \n APIâler, iki farklı amaca hizmet eden iki durum kodu kullanır: \n \n HTTP Durum Kodu, API çaÄrısının (kaynaktaki HTTP iÅlemi) sonucunu yansıtır. \n Bazı kaynak payloadâlarındaki Durum alanı, kaynakların durumunu yansıtır. \n 3.14. Gereksinimlerinin Sınıflandırılması \n EriÅim adreslerinin ve alanların kullanımı Zorunlu(Z), İsteÄe BaÄlı(İ) veya KoÅullu(K) olabilir. Kullanımlara iliÅkin durumlar ve kullanımın (K) koÅullu olduÄu duruma iliÅkin açıklamalar ilgili tablolarda belirtilmiÅtir. \n ÃHVPS API\'lerinin (HBH,ÃBH,GKD) istek ve yanıtta kullanılacak baÅlık isimleri, ilgili RFC dokümanlarında ve aÅaÄıdaki tabloda yer aldıÄı Åekilde kullanılacaktır. Uygulamaya özelleÅmiÅ baÅlıklar "X-" ile baÅlayacaktır. BaÅlık isimlerinde yer alacak kısaltmalar (örn. PSU, ASPSP gibi) tamamı büyük harfle yazılacak Åekilde tanımlanacaktır. BaÅlık isimleri büyük â küçük harfe duyarlı olmamalıdır. ÃrneÄin x-request-id ya da X-Request-ID olarak gönderilmiÅ olan bir istek baÅlıÄı deÄiÅkeni, sunucu tarafında hata vermeyecek Åekilde iÅlenebilmelidir. \n 3.15. İstek BaÅlıÄı \n \n "BaÅlık isimleri" yorumlanırken küçük büyük harfe duyarlı olmamalıdır. ÃrneÄin "x-ReQuEsT-Id" geçerli bir baÅlık ismidir. \n "BaÅlık deÄerleri" yorumlanırken ise küçük büyük harf duyarlılıÄı olmalıdır. ÃrneÄin "xyz123" ile "XYZ123" deÄerleri farklıdır. \n BaÅlık deÄerlerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. ÃrneÄin "PSU-Device-Data" deÄerinde "İOS12" yazmak, büyük "İ" harfinin ISO-8859-1 içerisinde yer almamasından dolayı, hataya yol açacaktır. \n \n Tablo 2: İstek BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n POST \n GET \n DELETE \n \n \n \n \n X-Request-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası. Ãrnek: Ãdeme emri baÅlatma iÅ akıÅının her adımda farklı âx-request-idâ deÄeri kullanılır. ÃaÄrıların aynı yanıtı dönmesinin beklendiÄi durumlarda (idempotent iÅlemlerde) aynı deÄer ile çaÄrı yapılır. \n Z \n Z \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. Aynı rıza noâya ait tüm isteklerde aynı x-group-id bilgisi deÄeri gönderilmelidir. Ãrnek: Ãdeme emri baÅlatma/hesap bilgisi iÅ akıÅının her adımında aynı âx-group-idâ deÄeri kullanılır. \n Z \n Z \n Z \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder. Bu deÄerin application/json olarak gönderilmesi gerekmektedir. (BaÅka bir deÄere ayarlanırsa, HHS, 415 Desteklenmeyen Ortam Türü (Unsupported Media Type) ile yanıt vermelidir) \n Z \n - \n
16- \n \n \n X-ASPSP-Code \n AN4 \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n Z \n Z \n \n \n X-TPP-Code \n AN4 \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n Z \n Z \n \n \n PSU-Auth-Date \n ISODateTime \n ÃHKânın YÃS üzerinde en son oturum açtıÄı saat. [RFC7231] ÃrneÄin: auth-date: Tue, 11 Sep 2012 19:43:31 GMT \n İ \n İ \n İ \n \n \n PSU-IP-Adress \n AN7..15 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın IP adresi. \n İ \n İ \n İ \n \n \n PSU-IP-Port \n AN1..5 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın Port adresi. \n İ \n İ \n İ \n \n \n PSU-GEO-Location \n AN1..36 \n ÃHKânın iÅlemi baÅlattıÄı cihazın konum bilgisi. RFC2426 standartına uygun olarak paylaÅılmalıdır. ÃrneÄin GEO:"<enlem >, <boylam>GEO:52.506931,13.144558 \n İ \n İ \n İ \n \n \n PSU-User-Agent \n AN 1.. 255 \n ÃHKânın iÅlemi baÅlattıÄı cihazın saÄladıÄı user-agent bilgisi. (Tarayıcı, versiyon, iÅletim sistemi bilgileri) \n İ \n İ \n İ \n \n \n PSU-Timestamp \n ISODateTime \n ÃHKânın iÅlemi baÅlattıÄı cihazın tarih saat içeren zaman bilgisi. \n İ \n İ \n İ \n \n \n PSU-Device-ID \n AN5..40 \n ÃHK iÅlemi mobil uygulama aracılıÄıyla baÅlattıysa, kullanılan mobil uygulama ilk yüklendiÄinde oluÅturulan tekil cihaz veya uygulama belirteci. ÃHK cihazının UUID deÄeri kullanılabilir. \n İ \n İ \n İ \n \n \n PSU-Device-Data \n AN1..1024 \n ÃHKânın iÅlemi baÅlattıÄı mobil cihaza ait veriler. Ãrnek alanlar: - Platform - (Android, iOS, Windows 10 Mobile) - Device Model - OS Name - OS Version - Locale - Time zone \n İ \n İ \n İ \n \n \n PSU-Fraud-Check \n AN1..4096 \n YÃS\'lerin çeÅitli güvenlik kontrollerini gerçekleÅtirerek, önemli görülen aÅaÄıdaki bilgileri HHS\'ler ile paylaÅmaları gerekmektedir. Bu bilgiler ıÅıÄında müÅterinin profili oluÅturulmasına katkı saÄlanacaktır. ÃHKâlı iÅlemlerde (PSU-Initiated = E gönderildiÄi durumlarda) gönderilmesi zorunludur. Sistemsel yapılan API çaÄrımlarımda ve HHS-YÃS API çaÄrımlarında gönderilmesine gerek bulunmamaktadır. PaylaÅılacak bilgiler Åu Åekildedir. FirstLoginFlag : ÃHK\'nın, müÅterilik ömründe ilgili YÃS sistemine (mobil ya da web uygulaması) ilk login olma süresini ifade eden deÄer. ÃHK\'nın ilk yaptıÄı HBH ya da ÃBH iÅlemi deÄil, YÃS sisteminde kendini aktifleÅtirme tarih aralıÄı bilgisidir. YÃS, kullanıcının ilk login bilgisini tutarak sonraki iÅlemlerinde bu bilgiyi belirlenen format ile HHS\'ye aktaracaktır. ÃrneÄin; YÃS\'ün 7 aydır müÅterisi olan bir kullanıcı için bu alan "5" olarak YÃS tarafından beslenecektir. Burada amaç; ilgili kullanıcının YÃS\'ün eski bir müÅterisi mi, yoksa yeni bir müÅterisi mi olup olmadıÄını anlamaktır. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. DeviceFirstLoginFlag : ÃHK\'nın, müÅterilik ömründe iÅlem anında kullandıÄı cihazla YÃS uygulamasına (web ya da uygulama tabanlı) ilk login olma süresini ifade eden deÄer. ÃHK cihaz deÄiÅikliÄi yaparsa FirstLoginFlag deÄeri sabit kalmalı ancak DeviceFirstLoginFlag deÄeri deÄiÅmelidir. FirstloginFlag deÄeri ile ÃHKânın YÃS uygulamasına ilk login tarih bilgisi ile ilgili bilgi verilirken, DeviceFirstLoginFlag ile de ÃHKânın YÃS uygulamasına farklı bir cihaz aracılıÄı ile ilk login tarihinin bilgisi verilmektedir. ÃrneÄin; ÃHK 7 aydır YÃS\'ün müÅterisi olabilir, böyle bir durumda FirstLoginFlag deÄeri "5" olacaktır. Ancak son iÅlemini daha önce hiç kullanmadıÄı bir cihazdan yapmıÅtır. Yeni cihazdaki login süre aralıÄı 0-2 saat aralıÄında olduÄu için DeviceFirstLoginFlag deÄeri "1" olacaktır.FirstLoginFlag deÄeri yine "5" olarak kalmaya devam edecektir.Bu bilgi ile YÃS, ilgili HHS\'ye ilk kez geliyor olsa bile;
16 HHS, müÅterinin YÃS\'ü uzun süredir kullandıÄını ama yeni bir cihazla iÅlemlerine devam ettiÄini anlayabilecektir. Bir ÃHK, farklı cihazlar veya platformlar üzerinden YÃS ile etkileÅime girebilir. Kullanıcı ve YÃS arasında bir oturum baÅlatılmıŠise YÃSâün tutarlı ve kalıcı bir kimlik (device id) ataması beklenmektedir. Device ID: Web sitesi veya mobil uygulama kullanıcıları için üretilen, tarayıcı ya da mobil uygulama tabanlı benzersiz (tekil) tanımlayıcı deÄer. Mobil uygulamalar için ÃHKânın ilk defa ilgili cihaza aktivasyon yaptıÄı tarih bilgisi alınmalıdır. Device ID bilgileri YÃS uygulama ortamı (web ya da uygulama tabanlı) ve ÃHK cihazı bazında tutulmalıdır. YÃSâten baÅlatılan iÅlem hangi uygulama ortamına ait ise ilgili ortamala iliÅkili tutulan Device IDânin ilk login tarihine bakılarak güncel flag deÄeri hesaplanmalıdır. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. LastPasswordChangeFlag : ÃHK\'nın, YÃS (cihaz baÄımsız) uygulamasına login olduÄu Åifre bilgisinin en son deÄiÅtirildiÄi süreyi ifade eden deÄer. MüÅterinin en son ne zaman Åifre deÄiÅikliÄi yaptıÄını anlamak için kullanılan alandır. Yeni müÅteri ve hiç Åifre deÄiÅikliÄi yapmamıŠolabilir, böyle bir durumda ilgili alan "0" olarak beslenecektir. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. BlacklistFlag : ÃHK\'nın herhangi bir sebeple YÃS\'ün sakıncalı müÅteriler listesinde bulunup bulunmadıÄını ifade eden deÄer. Burada amaç herhangi bir sebeple YÃS tarafında yasaklı olarak kayıtlı olan ÃHK bilgisinin, dolandırıcılıÄı önceden tespit etmek amaçlı HHS\'ye aktarılması olarak açıklanabilir. ÃrneÄin, YÃS tarafından tespit edilen dolandırıcı kullancılara ait device id bilgisi, bu kara listede tutulur daha sonra aynı cihazla baÅka bir ÃHK iÅlem yapacak olsa bile bu alanda ilgili bilgi "1" deÄeri ile HHS\'ye aktarılır. HHS\'de olmayıp YÃS tarafında olan bu örnekteki sakıncalı müÅteri/cihaz bilgisinin, dolaylı yoldan HHS\'ye aktarılması amaçlanmaktadır. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.VarYok sıralı veri tipinin alabileceÄi deÄerleri alabilir. MalwareFlag : YÃS uygulamasının çalıÅtıÄı cihaz üzerindeki son 21 güne ait zararlı yazılım tespit bilgisini ifade eden deÄer. ÃrneÄin ÃHK\'nın cihazında zararlı yazılım olduÄu ayın 1\'inde YÃS tarafından tespit edildi. Zararlı yazılım tespitinden 2 saat sonra YÃS üzerinden login olan ÃHK\'nın durumu, "1" olarak iletilecektir. Bir gün sonra ayın 2\'sinde, yeni bir zararlı yazılım tespiti yok ancak mevcut zararlı yazılım aktifse alan "2" deÄeri ile iletilecektir. Süreler artarak 21 güne kadar TR.OHVPS.DataCode.ZmnAralik deÄerlerine göre iletilecektir.Son 21 gün içinde yeni bir tespit yoksa ayın 22\'sinden itibaren ilgili alan "0" deÄeri ile beslenecektir. Not: Zararlı yazılım, bankacılık iÅlemlerinin yapıldıÄı uygulamalara giriÅte kullanılan bilgilerin (Åifre, kullanıcı kodu gibi) ele geçirilmesi amacıyla kullanılan bir uygulama ya da kod parçacıÄı olabilir. Bu amaçlar dıÅında kullanılan (bankacılıÄa yönelik bir zararlı yazılım olmayan) yazılım tespitleri iletilmemelidir. YÃS kanallarına her bir loginde, kullanılan cihazda bir zararlı yazılım var mı yok mu kontrolü yapılmalıdır. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. AnomallyFlag : DiÄer Åüpheli durumların varlıÄını ifade eden deÄer. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.VarYok sıralı veri tipinin alabileceÄi deÄerleri alabilir. UnsafeAccountFlag : HHS tarafından aktarılan bilgi ile son 21 gün içinde ÃHK\'nın dolandırıcılık maÄduru olması durumunu ifade eden deÄer. ÃrneÄin; HHS 1, ayın 1\'inde süphe veya sahtekarlık nedeniyle bir ödeme iÅlemine izin vermediÄi durumda, bu bilgiyi rıza iptal detay kodu ile YÃS\'e aktarmıŠolur. Bu bilgiyi tutan YÃS, ilgili müÅterinin 15 dakika sonra HHS 2\'de yaptıÄı iÅlem için ilgili alanı "1" deÄeri ile besler. Böylece HHS 2, ÃHK\'nın farklı bir HHS\'de son 15 dakika içinde Åüpheli veya sahte bir iÅlemi olduÄunu anlayabilecektir. Ayın 22\'sinde yeni bir tespit/kayıt yoksa bu alan YÃS tarafından "0" olarak beslenecektir. Gönderilmesi Opsiyonel alandır.TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. Flaglar JWT claims içine key value Åeklinde eklenerek gönderilecektir. EK-5: Mesaj İmzalama AkıÅı\'nda belirtilen yöntemle imzalanarak oluÅturulan JWT PSU-Fraud-Check alanına konularak YÃS\'ler tarafından HHS\'ye iletilmelidir. \n K \n K \n Z \n \n \n PSU-Initiated \n AN1 \n İÅlemin ÃHK tarafından baÅlatılması durumunda E , sistem tarafından baÅlatıldıÄı durumda H deÄerini alması beklenir. İÅlemler servisinde yapılacak sistemsel sorgulardaki iÅlem limitlerini kontrol amacıyla kullanılır. \n Z \n Z \n Z \n \n \n PSU-Session-ID \n AN1..100 \n İsteÄi baÅlatan YÃS tarafından belirlenen oturuma özgü talep kimliÄi. ÃHK\'nın YÃS uygulaması üzerinden kimlik doÄrulama mekanizması ile bilgi sistemlerine dâhil olmalarından iÅlemlerini tamamlayıp sistemden ayrılmalarına kadar geçecek tüm süre
16ci kapsayacak Åekilde aynı deÄeri almalıdır. Tek seferlik ödeme gibi ÃHKânın tanınmadan baÅlatıldıÄı iÅlemlerde bu deÄer boÅ olarak iletilmelidir. \n İ \n İ \n İ \n \n \n Authorization \n AN1..4096 \n YÃS ile BKM API Gateway arasındaki otorizasyon için kullanılan token bilgisidir. Yekilendirme türlerinden İstemci Kimlik Bilgileriâni adresler. \n Z \n Z \n Z \n \n \n X-Access-Token \n AN1..4096 \n ÃHKânın GKD sürecinde doÄrulanması sonrasında kullanılan eriÅim simgesi. Yetkilendirme türlerinden Yetkilendirme Kodu (GKD)ânu adresler. \n İ \n İ \n İ \n \n \n X-JWS-Signature \n AN1..4096 \n Payload gövdesinin ayrılmıŠbir JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. \n K (Kullanılan API ve methoda göre kullanılır.) \n K \n K \n 3.16. Yanıt BaÅlıÄı \n \n "BaÅlık isimleri" yorumlanırken küçük büyük harfe duyarlı olmamalıdır. ÃrneÄin "x-ReQuEsT-Id" geçerli bir baÅlık ismidir. \n "BaÅlık deÄerleri" yorumlanırken ise küçük büyük harf duyarlılıÄı olmalıdır. ÃrneÄin "xyz123" ile "XYZ123" deÄerleri farklıdır. \n BaÅlık deÄerlerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. ÃrneÄin "Link" deÄerinde "İOS12" yazmak, büyük "İ" harfinin ISO-8859-1 içerisinde yer almamasından dolayı, hataya yol açacaktır. \n \n Tablo 3: Yanıt BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n Kullanım Durumu \n \n \n \n \n X-Request-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası İlgili istek baÅlıÄındaki bilgi geri dönülür. \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. İlgili istek baÅlıÄındaki bu deÄer geri dönülür. \n Z \n \n \n X-ASPSP-Code \n AN4 \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n \n \n X-TPP-Code \n AN4 \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder: application/json \n Z \n \n \n X-JWS-Signature \n AN1..4096 \n JWS imzasını içeren üstbilgi. Bu baÅlıÄın hangi yanıtlar için kullanılması gerektiÄi ilgili endpoint için belirtilmiÅtir. Hata durumlarında, yanıt gövdesi deÄeri dönülüyor ise imzalanmalı ve imza bilgisi x-jws-signature alanında iletilmelidir. Ancak uygulama katmanı tarafından yakalanamayan dolayısı ile imzalanamayan hata durumlarında x-jws-signature alanı HHS\'ler tarafından boÅ gönderilebilir. \n K \n \n \n X-RateLimit-Limit \n N 1..18 \n İstek kısıtı uygulanan servislerde en fazla kaç adet istek yapılabileceÄini gösterir. Kısıt uygulanan servislerde bu baÅlıÄın dönmesi zorunludur. \n K \n \n \n X-RateLimit-Remaining \n N 1..18 \n İstek kısıtı uygulanan servislerde k
16aç adet istek hakkı kaldıÄını gösterir. Kısıt uygulanan servislerde bu baÅlıÄın dönmesi zorunludur. \n K \n \n \n X-RateLimit-Reset \n AN 1..255 \n İstek kısıtı uygulanan servislerde çaÄrım hakkı bittikten sonra yeniden denemeden önce beklemesi gereken süreyi (saniye cinsinden) gösterir. HTTP 429 durum kodu (Too Many Requests) ile dönülen yanıtların baÅlıÄında dönülmesi zorunludur. YÃS olarak yaptıÄınız sistemsel sorgularda; HTTP 429 durum kodu (Too Many Requests) ile dönülen yanıt aldıÄınızda tekrar sorgu yapmadan önce âX-RateLimit-Resetâ yanıt baÅlıÄını kontrol ederek, bu baÅlıktaki süre kadar bekledikten sonra yeniden sorgulama yapılması gerekmektedir. \n K \n \n \n x-total-count \n N 1..18 \n Hesaplar, İÅlemler ve Bakiye servislerinde sayfalama kullanıldıÄı durumda, sorgu sonucu dönecek toplam kayıt sayısı bilgisi, bu alanda HHS isteÄine baÄlı olarak gönderilebilir. \n İ \n \n \n Link \n 1..4096 \n âLinkâ alanının çoklu sayfa yapısı olması durumunda gönderilmesi zorunludur. Sayfalama yapısı kullanıldıÄında gelen yanıtta birden fazla sayfa var ise; önceki, sonraki, ilk, son sayfalara gitmek için gerekli referanslar link headerında aÅaÄıdaki örnekteki gibi doldurulabilir. x-total-count alanının gönderimi isteÄe baÄlı olduÄu için; Link içerisindeki son sayfa bilgisi (last) isteÄe baÄlı hale getirilmiÅtir. âÃncekiâ( prev) ve âSonrakiâ (next) adımlarının uygun olan her durumda yer alması zorunludur. İlk sayfada âÃncekiâ seçeneÄi olmamalı, son sayfada ise âSonrakiâ seçeneÄi olmamalıdır. </ohvps/hbh/s1.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=6&syfKytSayi=100>; rel="next", </ohvps/hbh/s1.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=4&syfKytSayi=100>; rel="prev", </ohvps/hbh/s1.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=14&syfKytSayi=100>; rel="last", </ohvps/hbh/s1.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=0&syfKytSayi=100>; rel="first" \n K \n 3.17. Idempotency Kuralları \n YÃSâün aÅaÄıdaki durumlarda aynı istek numarası (x-request-id) ve aynı veri gövdesiyle çaÄrıyı tekrarlaması; HHSânin de bu durumlarda aynı yanıtı dönmesi gereklidir. \n \n HHSânin yanıtı kesinti/arıza nedeniyle YÃSâe ulaÅmaz ve zaman aÅımı söz konusu olması, \n ÃHK, YÃS uygulaması üzerinden çift tıklama ile mükerrer defa HHS APIâlerini çaÄırılması,\n(API kontrollerinden önce YÃS uygulamasının, çift tıklama kontrolü yapması önerilmektedir.) \n YÃS, yanıt almasına raÄmen iÅleyemeden kaybedilmesi, \n \n durumlarında HHS aÅaÄıdaki kuralları iÅletir: \n \n HHS gelen istek numarasını ve veri gövdesini birleÅtirerek checksum deÄeri üretir. \nchesksum deÄeri x-request-id|request.body ânin hash algoritmalarından (CRC32,MD5 vb) geçirilerek üretilebilir. \n HHS bu checksum deÄeri ile YÃSâe dönmüŠolduÄu yanıtı 5 dk boyunca saklar. Saklama yöntemi olarak veri tabanı veya önbellek araçları kullanılabilir. \n YÃS aynı istek numarası ve aynı veri gövdesi ile yeni bir çaÄrı yaptıÄında, aynı checksum deÄeri üretileceÄi için 5dk boyunca bu deÄere karÅılık gelen yanıtı döner. \n 5 dk sonrasında istek numarası veya veri gövdesi deÄiÅmemiÅ olsa dahi bu HHS tarafından yeni istek olarak kabul edilir. \n \n AÅaÄıdaki Public Post iÅlemleri için bu kural setinin iÅletilmesi gerekmektedir: \n 1- Ãdeme emri rızası oluÅturma \n2- EriÅim belirteci oluÅturma \n3- Ãdeme emri \n4- Hesap bilgisi rızası oluÅturma \n 3.18. HTTP Durum Kodları \n RFC 2616\'da belirlenmiÅ olan durum ko
16dları (status code) gönderilen isteÄin durumunu YÃSâa standart bir Åekilde ifade eder. EÄer bir hata varsa hatayı, gönderilen istek baÅarılı bir Åekilde iÅlem gördüyse ona iliÅkin durumu aktarır. Durum kodları genel olarak 5 kategoridedir. \n \n 1xx Bilgi \n 2xx BaÅarılı \n 3xx Yönlendirme \n 4xx İstemci Hatası \n 5xx Sunucu Hatası \n \n errorCode Alanında Kullanılabilecek Sıralı Hata Tipleri : \n \n TR.OHVPS.Resource \n \n â¨\tInvalidFormat \n â¨\tConsentMismatch \n â¨\tNotFound \n â¨\tInvalidSignature \n â¨\tMissingSignature \n â¨\tMethodNotAllowed \n â¨\tNotAcceptable \n â¨\tUnsupportedMediaType \n â¨\tConsentRevoked \n \n \n \n TR.OHVPS.Business \n \n â¨\tInvalidContent \n â¨\tInvalidAccount \n \n \n \n TR.OHVPS.Connection \n \n â¨\tInvalidCertificate \n â¨\tExceededRate \n â¨\tInvalidTPP \n â¨\tInvalidASPSP \n â¨\tInvalidToken \n â¨\tInvalidTPPRole \n \n \n \n TR.OHVPS.Server \n \n â¨\tInternalError \n â¨\tServiceUnavailable \n \n \n TR.OHVPS.Resource.InvalidFormat hatası alındıÄı durumda; fieldErrors nesnesi içerisinde verilecek hata kodları : \n \n TR.OHVPS.Field \n \n â¨\tMissing \n â¨\tInvalid \n \n \n Veri Tipi ÃrneÄi: \n { \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "id" : "d8bd4e5f-f094-48a6-aee1-3a800e2709d9" , \n "timestamp" : "2022-12-22T10:33:15+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.islTtr.prBrm" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } , \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.kmlk.kmlkVrs" , \n "messageTr" : "boyut \'1\' ile \'30\' arasında olmalı" , \n "message" : "size must be between 1 and 30" , \n "code" : "TR.OHVPS.Field.Invalid" \n } \n ] , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" \n } \n \n Tablo 4: HTTP Durum Kodları \n \n \n \n HTTP Durum \n İstek Sonucu ve Açıklamalar \n POST \n GET \n DELETE \n \n \n \n \n 200 OK \n İstek BaÅarıyla Tamamlandı. Kaynak güncellemek için yapılan (örneÄin, GET) ve baÅarıyla tamamlanan isteklerinde kullanılır. \n H \n E \n H \n \n \n 201 Created \n İstek BaÅarılı Oldu. Kaynak yaratma isteÄi (örneÄin, POST /ödeme-emri-rizasi) baÅarıyla sonuçlandı. \n E \n H \n H \n \n \n 204 No Content \n Silme iÅlemi baÅarıyla tamamlandı. Kaynak silme isteÄi (örneÄin, DELETE /hesap-rizasi/{RizaNo} ) baÅarıyla sonuçlandı. \n H \n H \n E \n \n \n 400 Bad Request \n İstekte bozuk, eksik veya uyumlu olmayan JSON gövdesi, URL parametreleri veya baÅlık alanları var. İstekle baÅlatılan iÅlem yapısal bozukluk, eksik veya tutarsız veri veya HHS tarafındaki kontrollerin hatalı sonuçlanması nedeniyle hata ile sonuçlanır ve hataya iliÅkin veriler hata nesnesi içerisinde dönülür. \n E \n E \n E \n \n \n 401 Unauthorized \n Yetkilendirme baÅlıÄı eksik, hatalı veya geçersiz olduÄundan istek yetkilendirilmediÄinde ve eriÅim reddedildiÄinde http 401 kodu dönülmelidir. \n E \n E \n E \n \n \n 403 Forbidden \n EriÅim belirtecinin veya rızanın kapsamı uyuÅmuyor. YÃS bir hesaba/iÅlem kaynaÄına eriÅmeye çalıÅır ve YÃS, istenen kaynaÄa eriÅmek için geçerli izinlere sahip bir rızası yoktur. ÃrneÄin; hesap bilgisi rızası bakiye izni almamıÅtır ancak /bakiyeler adresinden istekte bulunmuÅtur. \n \n \n \n \n \n 404 Not Found \n **HHS geçerli bir API eriÅim adresini saÄlamıyorsa, o URL\'ye gelen istekler için 404 (Bulunamadı) ile yanıt vermelidir.**YÃS, uygulama esaslarında tanımlanmayan bir
16kaynak için bir URL\'ye eriÅmeye çalıÅırsa (örneÄin, GET /yurtdisi-odeme), HHS, 404 (Bulunamadı) ile yanıt vermeyi seçebilir. \n E \n E \n E \n \n \n 405 Method Not Allowed \n YÃS, desteklenmeyen bir yöntemle kaynaÄa eriÅmeye çalıÅtı. \n E \n E \n E \n \n \n 406 Not Acceptable \n İstek, geçersiz bir karakter kümesi içeriyor. \n E \n E \n E \n \n \n 415 Unsupported Media Type \n İstek gövdesi hedef kaynakta bu yöntem tarafından desteklenmeyen bir biçimde oluÅturulduÄu için iÅlem reddedildi \n E \n H \n H \n \n \n 429 Too Many Requests \n Belirli bir süre içinde çok fazla talepte bulunulduÄu için iÅlem reddedildi. HHSâler adil kullanım politikalarını aÅan talepleri kısıtlayabilir. \n E \n E \n E \n \n \n 500 Internal Server Error \n API sunucu / servis katmanında sorun oluÅtu. İÅlem baÅarısız. 5XX hata durumlarında yanıt gövde deÄeri olmadıÄı için mesaj imzalama yapılamaz ve x-jws-signature alanı boÅ olarak iletilir. Bu durumda x-jws-signature kontrolü yapılmamalıdır. \n E \n E \n E \n \n \n 503 Service Unavailable \n Hizmet sürümü kullanımdan kaldırıldı. Bir API\'nin kullanımdan kaldırıldıÄı ve artık bir HHS tarafından operasyonel olarak desteklenmediÄi durumlarda, URI yolu hala etkin olabilir ve API isteklerini kabul edebilir. Bu durumda, YÃS\'ün API sürümünün çevrimdıÅı olduÄunun farkında olması için 503 Hizmet Kullanılamıyor dönmesi önerilir. \n E \n E \n E \n \n \n \n Hata Ãrnekleri: \n 400 Bad Request \n TR.OHVPS.Business.InvalidContent hatası HHS tarafından yapılacak iÅ kuralı kontrollerinin baÅarısız olduÄu durumda verilmelidir. \n TR.OHVPS.Resource.InvalidFormat hatası Åema validasyonu, alan uzunluk ve varlık kontrollerinin baÅarısız olduÄu durumda verilmelidir. \n \n { \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "id" : "7f115b9c-d7c2-4a2a-bc45-5a9891c79072" , \n "timestamp" : "2022-12-22T10:47:57+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.alc.unv" , \n "messageTr" : "boyut \'3\' ile \'140\' arasında olmalı" , \n "message" : "size must be between 3 and 140" , \n "code" : "TR.OHVPS.Field.Invalid" \n } , \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.islTtr.ttr" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } \n ] , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" \n } \n\n \n Zorunlu header alanlarından biri ya da birkaçı eksik olarak gönderilirse aÅaÄıdaki gibi bir hata dönüÅü gerçekleÅebilir. \n HHS uygulaması tarafından dönülebilecek hata örnekleri: \n \n { \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "id" : "2005515d-f0e6-4a07-a439-0ef3b0f56011" , \n "timestamp" : "2022-12-22T10:39:26+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" , \n "fieldErrors" : [ \n { \n "field" : "X-Request-ID" , \n "messageTr" : "X-Request-ID deÄeri boÅ olamaz." , \n "message" : "X-Request-ID cannot be null." , \n "code" : "TR.OHVPS.Field.Invalid" \n } \n ] \n } \n\n \n Business hata örneÄi - 1: \n { \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "id" : "677cfd9d-77c1-4ea3-8bdf-74a6e9887177" , \n "timestamp" : "2022-12-22T11:05:59+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "gonUnvan wrong" , \n "moreInformationTr" : "Gönderen Ãnvan hatalı" , \n "errorCode" : "TR.OHVPS.Business.InvalidContent" \n } \n \n Business hata örneÄi - 2: \n { \n "path" : "/ohvps/obh/s1.0/o
16deme-emri-rizasi" , \n "id" : "5df3b402-3aca-4305-a35b-5af0f3184b40" , \n "timestamp" : "2022-12-22T11:06:47+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Sender account is disabled or not found." , \n "moreInformationTr" : "Gonderen hesap aktif deÄil veya bulunamadı." , \n "errorCode" : "TR.OHVPS.Business.InvalidAccount" \n } \n \n BKM API Geçidi\'nde yapılan zorunlu header kontrollerinde aÅaÄıdaki hatalar dönebilir: \n \n { \n "timestamp" : "2022-12-22T10:40:28+03:00" , \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "id" : "d4375748-6fc7-4f7e-94f3-6411cab1d59f" , \n "moreInformationTr" : "Geçersiz HHS kodu." , \n "errorCode" : "TR.OHVPS.Connection.InvalidASPSP" , \n "moreInformation" : "Invalid ASPSP Code" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" \n } \n \n BKM API Geçidi tarafından dönülecek hata örneÄi: \n \n { \n "timestamp" : "2022-12-22T10:40:28+03:00" , \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "id" : "d4375748-6fc7-4f7e-94f3-6411cab1d59f" , \n "moreInformationTr" : "Geçersiz HHS kodu." , \n "errorCode" : "TR.OHVPS.Connection.InvalidTPP" , \n "moreInformation" : "Invalid TPP Code" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" \n } \n \n BKM API Geçidi tarafından dönülecek hata örneÄi: \n \n { \n "timestamp" : "2022-12-22T11:14:05+03:00" , \n "path" : "/ohvps/hbh/s1.0/hesap-bilgisi-rizasi" , \n "id" : "ee1e3ea7-a5e5-468b-bb02-314148f84e6a" , \n "moreInformationTr" : "Geçersiz yös rolü. İlgili api çaÄrısı için yetkisi yok." , \n "errorCode" : "TR.OHVPS.Connection.InvalidTPPRole" , \n "moreInformation" : "Invalid TPP Role" , \n "httpCode" : 403 , \n "httpMessage" : "Forbidden" \n } \n\n \n 401 Unauthorized \n YÃS, süresi dolmuÅ bir eriÅim belirteci kullandıÄında, HHS 401 (Yetkisiz) http kodu ile aÅaÄıdaki hata kodunu dönmelidir. AÅaÄıdaki nedenlerden herhangi biri nedeniyle bir EriÅim Belirtecinin süresi dolduÄunda bu durum ortaya çıkabilir: \n \n Rızanın süresi doldu (Son Kullanma Tarihi geçti) \n EriÅim Belirtecinin Åüpheli kullanımı veya sahtekarlık Åüphesi \n Rızada belirlenen gün sayısının aÅımı\nBu hata, müÅteriden doÄru izinlerle yeniden kimlik doÄrulaması isteyerek çözülebilir. \n \n \n { \n "path" : "/ohvps/gkd/s1.0/erisim-belirteci" , \n "id" : "ed3fd667-fc58-40ad-a982-e8937faccd15" , \n "timestamp" : "2022-12-22T11:17:33+03:00" , \n "httpCode" : 401 , \n "httpMessage" : "Unauthorized" , \n "moreInformation" : "Refresh token expired or not found in database" , \n "moreInformationTr" : "Yenileme belirteci zaman aÅımına uÄramıŠveya veri tabanında yok" , \n "errorCode" : "TR.OHVPS.Connection.InvalidToken" \n } \n \n\n \n 403 Forbidden \n Ãrn; YÃS yetkisi olmayan rol(ÃBH/HBH) ile iÅlem yapmaya çalıÅtıÄı durumda 403 hatası alarak iÅleme devam edemez. \n { \n "path" : "/ohvps/hbh/s1.0/bakiye" , \n "id" : "3e48ea98-f889-48b9-aa6e-28aabc6cfb14" , \n "timestamp" : "2022-12-22T11:20:05+03:00" , \n "httpCode" : 403 , \n "httpMessage" : "Forbidden" , \n "moreInformation" : "Forbidden" , \n "moreInformationTr" : "Bakiye Bilgileri için ÃHK izni bulunmamaktadır." , \n "errorCode" : "TR.OHVPS.Resource.Forbidden" \n } \n \n 404 Not Found \n Ãrn; GET /odeme-emri-rizasi/123456 çaÄrısı durumunda 123456 geçerli bir ödeme kaynaÄı deÄilse, HHS, 404 koduyla cevap vermelidir. \n { \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi/123456" , \n "id" : "22f52b2d-d442-4a6a-8f39-d23eba45a34b" , \n "timestamp" : "2022-12-22T10:53:53+03:00" , \n "httpCode" : 404 , \n "httpMessage" : "Not Found" , \n "moreInformation" : "Resource not found" , \n "errorCode" : "TR.OHVPS.Resource.NotFound" , \n "moreInformationTr" : "Kaynak bulunamadı" \n } \n\n \n 405 Method Not Allowed \n { \n "path" : "/ohvps/obh/s1.0/o
16deme-emri-rizasi" , \n "id" : "3e5c6b28-7ee4-4469-b541-843fb4a94eec" , \n "timestamp" : "2022-12-22T11:35:10+03:00" , \n "httpCode" : 405 , \n "httpMessage" : "Method Not Allowed" , \n "moreInformation" : "Method not allowed" , \n "errorCode" : "TR.OHVPS.Resource.MethodNotAllowed" , \n "moreInformationTr" : "İstek yapılan URL için izin verilmeyen metot" \n } \n \n 406 Not Acceptable \n { \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "id" : "3e5c6b28-7ee4-4469-b541-843fb4a94eec" , \n "timestamp" : "2022-12-22T11:35:10+03:00" , \n "httpCode" : 406 , \n "httpMessage" : "Not Acceptable" , \n "moreInformation" : "Not Acceptable" , \n "errorCode" : "TR.OHVPS.Resource.NotAcceptable" , \n "moreInformationTr" : "Kabul edilmedi" \n } \n \n 415 Unsupported Media Type \n İstek baÅlıÄında content-type, JSON dıÅında bir veri iletilirse bu hata verilebilir. \n \n { \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "id" : "63cc94b6-1b51-4648-9671-95e6e2e7e03d" , \n "timestamp" : "2022-12-22T11:37:12+03:00" , \n "httpCode" : 415 , \n "httpMessage" : "Unsupported Media Type" , \n "moreInformation" : "Content type not supported" , \n "errorCode" : "TR.OHVPS.Resource.UnsupportedMediaType" , \n "moreInformationTr" : "Desteklenmeyen içerik tipiâ" \n } \n \n 429 Too Many Requests \n { \n "path" : "/ohvps/hbh/s1.0/hesaplar/aef6061f-2978-4bb4-980d-b4c634c8055b/islemler" , \n "id" : "20473c5f-2f4f-4b2e-8b66-7978aec442f7" , \n "timestamp" : "2022-12-22T00:21:07+03:00" , \n "httpCode" : 429 , \n "httpMessage" : "Too Many Requests" , \n "moreInformation" : "Exceeded rate" , \n "moreInformationTr" : "EriÅim sıklıÄı limiti aÅımı" , \n "errorCode" : "TR.OHVPS.Connection.ExceededRate" \n } \n \n 500 Internal Server Error \n { \n "id" : "1b90c6dc-0277-4755-8b05-9297ddfab743" , \n "path" : "/ohvps/obh/s1.0/odeme-emri-rizasi" , \n "timestamp" : "2022-12-22T11:41:34+03:00" , \n "httpCode" : 500 , \n "httpMessage" : "Internal Server Error" , \n "moreInformation" : "Unexpected condition was encountered." , \n "moreInformationTr" : "Beklenmeyen bir durumla karÅılaÅıldı." , \n "errorCode" : "TR.OHVPS.Server.InternalError" \n } \n\n \n 503 Service Unavailable \n \n "timestamp" : "2022-12-20T23:18:56+03:00" , \n "path" : "/ohvps/hbh/s1.0/hesap-bilgisi-rizasi/2a72678ee3d24de2be47887e4903a8c6" , \n "id" : "e76315b7-09f4-4295-b6d8-1f7fec632159" , \n "moreInformationTr" : "HHS Åu anda hizmet veremiyor." , \n "errorCode" : "TR.OHVPS.Server.ServiceUnavailable" , \n "moreInformation" : "HHS is currently unavailable" , \n "httpCode" : 503 , \n "httpMessage" : "Service Unavailable" \n 3.19. Maskeleme Kuralları \n Maskeli olarak iletilmesi gereken verilerin maskeleme kuralları Åu Åekildedir: \n \n IBAN verileri Hesap Numarası : İlk 4 ve son 4 karakteri açık, diÄer karakterler maskeli olmalıdır. Ãrnek: TR54******************4812 \n Ad-Soyadı / Ticari Unvan : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet â â karakteri konumlandırılmalıdır.\nÃrneÄin: âFATİH SERKAN ERENâ ifadesi âFA *** SE**** ER****â Åeklinde gösterilmelidir. \n Tabela Unvanı : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet â â karakteri konumlandırılmalıdır. ÃrneÄin âBANKALARARASI KART MERKEZİ ANONİM ÅİRKETİâ ifadesi âBA *** KA**
16** ME**** AN**** Åİ****â Åeklinde gösterilmelidir. \n YÃSâten girilen unvan ve iban bilgileri ödeme emri rızası ve ödeme emri yanıtında açık dönülür, Kolas akıÅında ödeme emri rızası yanıtı ve ödeme emri istek ve yanıtında maskeli taÅınır. \n 3.20. Fonksiyonel Olmayan Gereksinimler \n \n \n HHSâlerin sunuyor oldukları servisleri en fazla 3000 ms içinde yanıt dönecek Åekilde tasarlamalıdır. \n \n \n HHS\'ler mevcut online iÅlem kanallarından sundukları eriÅilebilirlik ve performans kriterlerinden daha düÅük bir hizmet kalitesi sunmamalıdır. \n \n \n HHSâlerin sunuyor oldukları servislere sistemin güvenlik ve sürekliliÄini saÄlamak adına rate limit koyma ihtiyaçları olur ise, standartlar ve ihtiyaçlara uygun Åekilde bir konfigürasyon yapabilirler. \n \n \n HHS rate limit tanımı uyguluyor ise; YÃS\'ler arasında ayrım yapmadan, adil ve makul sınırlar dahilinde uygulamalıdır. \n \n \n YÃS tarafından kullanıcının baÅlatmadıÄı otomatik sorgu limitleri 3.21 Otomatik Sorgular bölümünde detaylandırılmıÅtır. HHS\'lerin bu servisler için minimumda cevap vermesi gereken sorgu sayıları belirlenmiÅtir. Bu sayıların üzerinde yapılan servis çaÄrısına yanıt dönmek HHS inisiyatifindedir. DiÄer taraftan kullanıcının baÅlattıÄı istekler için uygulanacak limitler, HHS\'nin online iÅlem kanallarından sunulan sorgu limitlerinden daha az olmamalıdır. \n \n \n HHS\'ler, çaÄrım limitlerini aÅan istekler için HTTP 429 - Too Many Request hatasını dönmelidir. Ãrnek hata mesajı 3.18 HTTP Durum Kodları bölümünde bulunmaktadır. Rate Limit özelinde tanımlanmıŠparametreler olan X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset alanları da 3.16 Yanıt BaÅlıÄı bölümünde açıklanmıÅtır. YÃS\'ler de HHS\'nin belirlediÄi rate limit kurallarına uymakla yükümlüdür. \n \n \n HHSâler aynı zamanda servislerin ayakta olup olmadıÄına yönelik olarak bir healthcheck servisi kurmalıdır. HHSâlerin bu servis ile tüm network ve veritabanı ya da servislerinin ihtiyaç duydukları altyapısal eriÅimleri modellemeli ve bu servisi BKM ile paylaÅmaları beklenmektedir. Bu servis düzenli olarak BKM tarafından çaÄırılarak servislerin ayakta olup olmadıklarının kontrolünün saÄlanması planlanmaktadır. \n \n \n Sunulan her API için /health endpointi ile aÅaÄıdaki bilgileri vermeleri beklenmektedir. \n GET /{api ismi}/{versiyon}/health \n Ãrnek: \n GET /obh/s1.0/health \n GET /hbh/s1.0/health \n GET /gkd/s1.0/health \n HHS ve YÃS API için health servisleri aÅaÄıdaki servislerle kontrol edilebilir. \n GET /hhs-api/s1.0/health \n GET /yos-api/s1.0/health \n BaÅarılı yanıtta Http 200 kodu dönülmelidir. \nBaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n KoÅullu / İsteÄe BaÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir. \n \n \n \n Health servisinden yanıt alınamaması, hata alması ya da status DOWN gelmesi durumunda API Gatewayden istek HHS tarafına iletilmeyecektir. \n \n \n ÃHVPS servisleri ile ilgili olarak HHSâler, BKM tarafından düzenli olarak sorgulanacaktır, eriÅilebilirlik ve kullanım oranları takip edilecektir. \n \n \n HHSâlerin servislerini eriÅim yüzdeleri açısından yıl bazında %99.75 oranında ayakta olmalarını saÄlayacak Åekilde kurgulamaları gerekmektedir. \n 3.21. Otomatik Sorgular \n YÃS uygulaması, ÃHK\'nın baÅlattıÄı iÅlemler neticesinde API çaÄrımı yapabileceÄi gibi, sistemsel bir Åekilde otomatik API çaÄrımı da yapabilir. \nHHS, API çaÄrımının ÃHK\'lı ya da ÃHK\'sız olduÄunu istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n ÃHK YÃS uygulamasına giriÅ yaptıÄı andan çıkıŠyaptıÄı ana kadar yani ÃHK oturumu boyunca yapılan API çaÄrımlarında, PSU-Initiated deÄ
16erinin "E" olması gerekmektedir. YÃS uygulamasında ÃHK oturumu boyunca, ÃHK\'nın bilgilerinden minimumda "bakiye" bilgisinin, uygulama arayüzlerinde güncel deÄeri ile online sorgularla gösterimi YÃS\'ün insiyatifindedir. \n ÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \n YÃS, aÅaÄıdaki API\'leri sistemsel bir Åekilde çaÄırabilir. \nHHS\'lerin bu servisler için minimumda cevap vermesi gereken sorgu sayıları belirlenmiÅtir. Bu sayıların üzerinde yapılan servis çaÄrısına yanıt dönmek HHS inisiyatifindedir. \nHHS tarafından izin verilen sorgu sayısının üzerinde yapılan bir sorgu için HTTP 429 durum kodu (Too Many Requests) hatası dönülmelidir. Yanıt gövdesinde tekrar hata nesnesinin oluÅturulması HHS inisiyatifindedir. HHS yanıt headerı alanında iletilecek X-RateLimit-Reset (saniye cinsinden) deÄeri kadar süre sonunda\nYÃS\'ün tekrar sorgulama yapması beklenmektedir. \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Otomatik Sorgu Sayısı \n \n \n \n \n 1 \n erisim-belirteci \n POST \n /erisim-belirteci \n --- \n \n \n 2 \n odeme-emri-rizasi \n GET \n /odeme-emri-rizasi/{rizaNo} \n Rıza bazında günde 4 \n \n \n 3 \n odeme-emri \n GET \n /odeme-emri/{odemeEmriNo} \n Rıza bazında günde 24 \n \n \n 4 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Rıza bazında günde 4 \n \n \n 5 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n --- \n \n \n 6 \n hesaplar \n GET \n /hesaplar \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 7 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 8 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 9 \n bakiye \n GET \n /bakiye \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 10 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Bireysel günde 4 Kurumsal ÃHK - saatte 12 \n \n \n \n YÃS ve HHS son 24 saat içerisindeki sorgu sayılarını toplayarak elde ettiÄi sonuçlarla limit kontrolü yapmalıdır (Pencere yöntemi). \n İÅlemler servisinin çaÄrım detaylarına ^Bölüm 7.8 üzerinden ulaÅılabilir. \n Hesap bilgisi rızasının YÃS tarafından otomatik bir Åekilde iptal edilmesi durumu ^Bölüm 9 \'da açıklanmıÅtır. \n'},{title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",frontmatter:{},regularPath:"/v1.1.0/contents/ekler.html",relativePath:"v1.1.0/contents/ekler.md",key:"v-cc5a0b86",path:"/v1.1.0/contents/ekler.html",headers:[{level:2,title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",slug:"ek-1-istek-cevap-mesajlarında-kullanılacak-nesne-yapıları"},{level:2,title:"EK-2: Sıralı Veri Türleri",slug:"ek-2-sıralı-veri-turleri"},{level:2,title:"EK-3: İstemci Sertifikalarının Tanım ve Yönetimi",slug:"ek-3-istemci-sertifikalarının-tanım-ve-yonetimi"},{level:2,title:"EK-4: Sunucu Sertifikaları",slug:"ek-4-sunucu-sertifikaları"},{level:2,title:"EK-5: Mesaj İmzalama AkıÅı",slug:"ek-5-mesaj-imzalama-akısı"},{level:3,title:"İmzalama Kuralları (YÃS)",slug:"imzalama-kuralları-yos"},{level:2,title:"EK-6: HHS/YÃS API Mimarisi",slug:"ek-6-hhs-yos-api-mimarisi"}],content:' EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları \n Açık Bankacılık simülatör uygulaması üzerinde swagger dökümanlarının güncel sürümlerine eriÅim saÄlanabilir. \n EK-2: Sıralı Veri Türleri \n \n \n \n Kod \n Açıklama \n \n \n \n \n TR.OHVPS.DataCode.BrcAlc \n İÅlemin hesabı borçlandırdıÄı ya da alacaklandırdıÄı bilgisidir. B : Borç A : Alacak \n \n \n TR.OHVPS.DataCode.EvetHayir \n E : Evet H : Hayır \n \n \n TR.OHVPS.DataCode.GkdTur \n GKD yapılmasını gerekli bulduÄu durumda HHS, YÃSâün belirlediÄi yöntemi dikkate alarak kendi belirlediÄi GKD yöntemini bildirir: Y: Yönlendirmeli GKD A: Ayrık GKD \n \n \n TR.OHVPS.DataCode.HHSDurumu \n A : Açık. Ãretim Ortamında HHSânin aktif bir Åekilde hizmet vermesi durumu. Y : YaygınlaÅtırma. Ãretim Ortamında HHSânin kendisi tarafından tanımlanmıŠkısıtlı ÃHKâya hizmet vermesi durumu. G : Geçici Hizmet Veremiyor. HHS servislerinde teknik bir sorun olması nedeniyle HHSânin hizmet verememesi durumu. K: Kapalı. HHSânin hizmet vermeme durumu. \n \n \n TR.OHVPS.DataCode.HHSYOSSrlmKrtr \n âkodâ : Kod âunvâ : Unvan \n \n \n TR.OHVPS.DataCode.HspDrm \n Hesabın durumunu belirtir: AKTIF PASIF KAPALI \n \n \n TR.OHVPS.DataCode.HspTip \n Hesap çeÅidini belirtir: VADESIZ VADELI KREDILI_MEVDUAT_HESABI POS CEK YATIRIM \n \n \n TR.OHVPS.DataCode.HspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.IslemAmaci \n Ãdemenin Amacına yönelik olarak aÅaÄıdaki deÄerlerden birini alır: 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aid
16at ödemesi 12: DiÄer \n \n \n TR.OHVPS.DataCode.IslemTuru \n Hesap hareketleri (iÅlemler) sorgusunda dönülen İÅlem Türü (islTur) parametresi aÅaÄıdaki deÄerlerden birini alabilir: HAVALE EFT FAST PARA_YATIRMA PARA_CEKME YABANCI_PARA_HAVALE YATIRIM_HESABINA_AKTARIM YATIRIM_HESABINDAN_AKTARIM KURUM_FATURA_ODEMESI CEK SENET SIGORTA_ODEMESI UCRET_KOMISYON_FAIZ SGK_ODEMESI VERGI_ODEMESI DOVIZ_ALIM DOVIZ_SATIM KREDI_ODEMESI KREDI_KULLANIM KK_ODEMESI KK_NAKIT_AVANS SANS_OYUNU UYE_ISYERI_ISLEMLERI HGS_OGS_ISLEMLERI DOGRUDAN_BORCLANDIRMA_SISTEMI DIGER \n \n \n TR.OHVPS.DataCode.IzinTur \n 01: Temel Hesap Bilgisi 02: Ayrıntılı Hesap Bilgisi 03: Bakiye Bilgisi 04: Temel İÅlem (Hesap Hareketleri) Bilgisi 05: Ayrıntılı İÅlem Bilgisi 06: Anlık Bakiye Bildirimi \n \n \n TR.OHVPS.DataCode.KareKodAksTur \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. 01: FAST katılımcısından dinamik doÄrulamalı hizmet alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulamalı iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n TR.OHVPS.DataCode.KaynakTip \n HESAP_BILGISI_RIZASI ODEME_EMRI_RIZASI ODEME_EMRI BAKIYE COKLU_ISLEM_TALEBI HHS YOS \n \n \n TR.OHVPS.DataCode.KimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) Y , YKN , N11 P , PNO , AN7..9 \n \n \n TR.OHVPS.DataCode.KolasHspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.KolasTur \n MüÅterinin sorgulama istediÄi Kolay Adres Tipi deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır: T: Telefon Numarası E: E-Posta K: TCKN V: VKN Y: YKN P: Pasaport Numarası \n \n \n TR.OHVPS.DataCode.KurumKimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) V , VKN , AN10 \n \n \n TR.OHVPS.DataCode.LogoArkaPlan \n B : Logoların arka planının beyaz olması (Erkek Logo) K : Logoların arka planının renkli/koyu olması (DiÅi Logo) \n \n \n TR.OHVPS.DataCode.LogoFormat \n SVG : Logonun svg formatında olmasını ifade eder. Logonun 1:2 oranında olması gerekmektedir. PNG : Logonun png formatında olmasını ifade eder. Logonun 500 X 1000 px olması gerekmektedir. \n \n \n TR.OHVPS.DataCode.LogoTur \n FULL_LOGO : Yazı ve ikon Åekillerin bir arada olduÄu logo ICON_LOGO : İkon Åekillerin olduÄu ( Sadece görsel olan-yazısız ) logo \n \n \n TR.OHVPS.DataCode.OdemeAmaci \n Ãdemenin Amacına yönelik olarak aÅaÄıdaki deÄerlerden birini alır: 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aidat ödemesi 12: Gayrimenkul alım ödemesi 13: Motorlu taÅıt alım ödemesi 14: Borç verme/Borç ödeme 15: Hediye/baÄıÅ/yardım 16: Vergi/resim/harç ödemesi 17: Tazminat/sigorta ödemesi 18: Avukatlık/DanıÅmanlık/MüÅavirlik Ãdemesi 19: SaÄlık ödemesi 20: Kripto/dijital varlık 21: Åans oyunları/bahis ödemesi 22: EÄlence/sosyal medya ödemesi \n \n \n TR.OHVPS.DataCode.OdemeDurumu \n Ãdemenin durumunu gösterir. AlabileceÄi deÄerler: 01: GerçekleÅti (Ãdeme ilgili ödeme sistemine iletildi ve alıcı hesabına ulaÅtı.) 02: Gönderildi (Ãdeme ilgili ödeme sistemine iletildi ancak alıcı hesabına ulaÅtıÄına dair teyit alınmadı.)İÅlemin son durumunun teyidi için YÃS sorgulama yapmalıdır. 03- GerçekleÅmedi (Ãdemenin ilgili ödeme sistemine iÅletiminde veya iÅlenmesi sırasında hata, zaman aÅımı, sistemin gün sonu iÅlemlerine baÅlaması vb. durum oluÅtu ve ödeme gereçeklemedi veya iade edildi.) 04- Onayda bekliyor (Ãdeme emri alındı. Ãoklu onay akıÅının tamamlanması bekleniyor.) 05- İÅleme Alındı ( Ãdeme emri alındı. ) YÃS tarafından müÅteriye gösterilmeyen bir koddur. Bu kod dönüldüÄünde YÃS uygulamasında ÃHKâya ödeme durumu 02-Gönderildi olarak gösterilir. İÅlemin son durumunun teyidi için YÃS sorgulama yapmalıdır. \n \n \n TR.OHVPS.DataCode.OdemeKaynak \n I: İnternet bankacılıÄından gönderilen ödemelerde kullanılır. A: Otomatik para makineleri (ATM) ile gönderilen ödemelerde kullanılır. T: Telefon bankacılıÄı ile gönderilen ödemelerde kullanılır. K: Kiosklar aracılıÄıyla gönderilen ödemelerde kullanılır. S: Åubeden girilen ödemelerde kullanılır. M: Mobil uygulamadan gönderilen ödemelerde kullanılır. D: Yukarıdakiler dıÅındaki ödeme kaynaklarından gönderilen ödemelerde kullanılır. O: Açık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır. \n \n \n TR.OHVPS.DataCode.OdemeSistemi \n İÅlemin yönlendirildiÄi Ãdeme Sistemine göre aÅaÄıdaki deÄerlerden birini alabilir: H: Havale F: FAST E: EFT (PÃS) deÄerlerinden birini alabilir. \n \n \n TR.OHVPS.DataCode.OhkTur \n B: Bireysel K: Kurumsal \n \n \n TR.OHVPS.DataCode.OhkTanimTip \n TCKN: TCKN  (ohkTanimDeger N11 olarak gönderilmelidir.) MNO:   HHSâye özel bireysel veya kurum müÅteri numarası (OHKTanimDeger AN1..30 olarak gönderilmelidir. ) YKN:   Yabancı Kimlik Numarası (OHKTanimDeger N11 olarak gönderilmelidir.) PNO:   Pasaport numarsı (ohkTanimDeger AN7..9 olarak gönderilmelidir.) GSM:   Cep telefonu numarası (ohkTanimDeger N10 olarak gönderilmelidir.) IBAN:  IBAN numarası (OHKTanimDeger AN26 olarak gönderilmelidir.) \n \n \n TR.OHVPS.DataCode.OlayTip \n KAYNAK_GUNCELLENDI AYRIK_GKD_BASARILI AYRIK_GKD_BASARISIZ HHS_YOS_GUNCELLENDI \n \n \n TR.OHVPS.DataCode.YOSDurumu \n A : Açık. Ãretim Ortamında YÃSâün aktif bir Åekilde hizmet vermesi durumu. G : Geçici Hizmet Veremiyor. YÃS servislerinde teknik bir sorun olması nedeniyle YÃS\'ün hizmet verememesi durumu. K: Kapalı. YÃS\'ün hizmet vermeme durumu. \n \n \n TR.OHVPS.DataCode.PSUInitiated \n âEâ : Evet âHâ : Hayır âOâ : Olay Bildirim \n \n \n TR.OHVPS.DataCode.RizaDurumu \n B: Yetki Bekleniyor Y: Yetkilendirildi K: Yetki Kullanıldı E: Yetki Ãdeme Emrine DönüÅtü S: Yetki S
16onlandırıldı I :Yetki Iptal \n \n \n TR.OHVPS.DataCode.RizaIptDtyKod \n â01â :Yeni Rıza Talebi ile İptal â02â :Kullanıcı İsteÄi ile HHS üzerinden İptal â03â :Kullanıcı İsteÄi ile YÃS üzerinden İptal â04â :Süre AÅımı : Yetki Bekleniyor â05â :Süre AÅımı : Yetkilendirildi â06â :Süre AÅımı : Yetki Ãdemeye DönüÅmedi â07â :GKD iptali : Aynı rıza no ile mükerrer çaÄrımı â08â :GKD iptali : Rızano ile TCKN uyuÅmaması â09â :GKD iptali : Uygun ürünü bulunmuyor â10â :GKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı â11â :GKD iptali : Hesap Yetki Sorunu â12â :GKD iptali : ÃHK HHS kontrollerini aÅamadı â13â :GKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi â14â :GKD iptali : Fraud Åüphesi â99â :GKD iptali : DiÄer \n \n \n TR.OHVPS.DataCode.RizaTip \n H: Hesap Bilgisi Rızası O: Ãdeme Emri Rızası \n \n \n TR.OHVPS.DataCode.SrlmYon \n âAâ: Azalan deÄerle sıralama âYâ: Artan deÄerle sıralama \n \n \n TR.OHVPS.DataCode.VarYok \n 0 : Kayıt Yok 1 : Kayıt Var \n \n \n TR.OHVPS.DataCode.YetTip \n AlabileceÄi deÄerlere göre hangi belirtecin döneceÄine karar verilir. yet_kod yenileme_belirteci \n \n \n TR.OHVPS.DataCode.ZmnAralik \n 0 : Kayıt Yok 1 : 0-2 saat 2 : 2 saat 1 dakika-24 saat 3 : 1-3 gün 4 : 4-15 gün\t 5 : 16 gün ve üstü \n EK-3: İstemci Sertifikalarının Tanım ve Yönetimi \n Tüm katılımcıların GEÃİT\'e eriÅebilmesi için, BKM tarafından yapılan istemci sertifika doÄrulamasından geçmesi gerekmektedir. İstemci sertifikası üretilmeden önce katılımcıların CSR üretme akıÅını tamamlaması gerekmektedir. \n OpenSSL ile CSR (Certificate Signing Request) OluÅturma \nAÅaÄıdaki komut ile 2048-bit RSA private key ve CSR oluÅturulur. \nopenssl req -new -newkey rsa:2048 -nodes -keyout PRIVATEKEY.key -out CSR.csr \n CSR ile ilgili detay bilgilerin giriÅinde; \nCommon Name (CN) olarak 4 karakterli hhsKod ya da yosKod deÄeri ile, \ndiÄer alanlar için de kurum bilgileriniz ile giriÅ yapılır. \n Tüm bilgilerin girilmesinden sonra oluÅan private key dosyası kurumunuzda saklanır.\nCSR dosyası ise istemci sertifika üretmek üzere kullanılır. Bu aÅamada takip edilmesi gereken adımlar Åu Åekildedir: \n Katılımcıların, TRIP ortamı üzerinden, BKM Tarafından yetki verilmiÅ kullanıcılarının görebileceÄi "İstemci Sertifika Talebi" menü adımına giriÅ yapmaları beklenir. Açılan ekranda,"CSR Dosyası Yükleme" alanı içerisine, katılımcının üretmiÅ olduÄu csr dosyası yüklenir. YaklaÅık 1 dakika içerisinde kuruma özel olarak üretilmiÅ olan client sertifikası indirilmeye hazır hale gelecektir. "İndir" butonu ile client sertifika indirilir. İstemci tarafında web isteÄinin ilgili sertifika ile iliÅkilendirilerek oluÅturulması gerekmektedir. \n Uzun dönemli olarak hazırlanacak olan sertifikalar sertifikasyon ve üretim ortamlarında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi bu aÅamalarda sınanacaktır. \n GEÃİT\'in test ve üretim ortamları ayrımında istemci sertifikaları, HHS Listeleme API eriÅimleri ve Sertifikasyon baÄlantıları Åekil 15-HHS/YÃS API Mimarisi Diagramında resmedilmiÅtir. \n EK-4: Sunucu Sertifikaları \n Sunucu sertifikalarının endpoint bilgisini (Fqdn) içerecek ve global bir Certification Authority tarafından imzalanmıŠolarak sunulması gerekmektedir.\nÃrneÄin; entegrasyon formu içerinde yer alan URL bilgisinin (test.xbank.com.tr) sertifika içerisinde tanımlı olması ve bu sertifikanın global bir CA örneÄin Verisign tarafından imzalanmıŠolarak sunulması gerekmektedir. \n Hizmet saÄlayıcı olan HHS\'ler tarafından sunucu sertifikaları uygulanmalıdır. \n EK-5: Mesaj İmzalama AkıÅı \n Dijital imzalama yapısı, ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini saÄlamak amacıyla kurgulanmıÅtır.\nBu kapsamda imzalama akıÅı aÅaÄıdaki gibi olmalıdır: \n \n HHS ya da YÃS öncelikle özel ve açık anahtarlarını oluÅturmalıdır. Bu anahtarları oluÅturmak için aÅaÄıda âopensslâ kullanılarak oluÅturma örneÄi paylaÅılmıÅtır. Bu anahtarlardan özel olan anahtar mesajı imzalamak için kullanılacak olup, açık anahtar ise mesajı doÄrulamak amacıyla mesajın alıcısı tarafından kullanılacaktır. \n \n private_key.pem ve public_key.pem dosyasinin içerikleri kod tarafında kullanılacaktır. \n --private.pem => Ãzel anahtarın ismi\nopenssl genrsa -out private.pem 2048 \n --public_key.pem => Açık anahtarın ismi\nopenssl rsa -in private.pem -pubout -outform PEM -out public_key.pem \n --private_key.pem => Ãzel anahtarın PCKS8 formatına çevrilmesi (Java açısından PCKS8 formatında olma ihtiyacı nedeniyle) openssl pkcs8 -topk8 -inform PEM -in private.pem -out private_key.pem -nocrypt \n \n \n Açık ve Ãzel anahtarlar oluÅturulduktan sonra Açık Anahtar BKM ile paylaÅılır. BKM bu açık anahtarı diÄer katılımcıların ulaÅabilmesi ve alabilmesi için bir Anahtar Deposu yaklaÅımı ile bünyesinde tutar. İlgili anahtarı iletebilmek ve alabilmek için kullanılacak HHS/YOS API ye eriÅim detayları EK-6 bölümünde detaylı olarak paylaÅılmıÅtır. EÄer kurumun ilgili anahtar çiftinin yenilenme durumu söz konusu ise yenilemenin hemen ardından açık anahtar yeni bir imzalama yapılmadan önce mutlaka BKM ile paylaÅılmalıdır. \n \n \n İmzalı mesajı açacak olan kurum mesajı imzalayan kurumun açık anahtarını her sorguda yeniden almak durumunda deÄildir. Belirli periyodlarda kendi ortamındaki anahtarı yenileyerek sistemi iÅletebilir. Ancak imzalayan kurum anahtar çifti yenilemesi yaptıÄında BKM ile açık anahtarını paylaÅsa dahi
16imzalı mesajı doÄrulayacak taraf eski açık anahtar ile doÄrulama yapmaya çalıÅtıÄı için hata alacaktır. Bu ilk hata durumunda hızlıca BKM üzerinden yeni anahtarı alıp mesajı tekrar doÄrulamayı denemelidir. EÄer yine hata alıyor ise doÄrulama iÅlemini hata statüsüne almalıdır. Bu sebeple anahtar yenileyen kurum yeni açık anahtarını yeni bir mesaj imzalama yapmadan önce mutlaka BKM ile paylaÅmalıdır. \n \n \n PSU-Fraud-Check alanı için de JWT formatında çıktı hazırlanması beklenmektedir. Ãrnek bir PSU-Fraud-Check payload deÄeri aÅaÄıdaki gibidir; \n {"AnomalyFlag": "0", \n"LastPasswordChangeFlag": "1", \n"FirstLoginFlag": "1", \n"DeviceFirstLoginFlag": "1", \n"BlacklistFlag": "0", \n"MalwareFlag": "0", \n"UnsafeAccountFlag": "0", \n"exp": 1663424479, \n"iat": 1663338079, \n"iss": "[https://apigw.bkm.com.tr|https://apigw.bkm.com.tr/]" } \n İmzalama Kuralları (YÃS) \n Bir YÃS üzerinden baÅlayan akıŠörnek olarak paylaÅılmıÅtır. \n \n \n YÃS, mesaj imzalama gerektiren her API isteÄinin HTTP gövdesini (request body) kendi özel anahtarı ile Åifreleyerek imza bilgisini oluÅturur. \n \n \n Ardından bu imza verisini, göndereceÄi mesajın istek baÅlıÄında yer alan X-JWS-Signature alanında göndermelidir. \n \n \n X-JWS-Signature alanında gönderilecek olan bilgi aÅaÄıdaki yöntem ile oluÅturulmalıdır. \n \n \n Bu alana yazılacak olan bilgi JWT formatında oluÅturulmalıdır. \n \n \n Bir JWT, header-payload-signature alanlarından oluÅmaktadır. \n \n Header alanında JWTâyi imzalamak için kullanılacak algoritma belirtilmelidir. Standartlar kapsamında RS256 kullanılacaktır. \n Payload kısmında özel olarak oluÅturulacak olan âbodyâ claim alanına istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı yazılmalıdır. \n JSON payload oluÅturulurken RFC 7519 baz alınmalıdır. "iss" (Issuer) Claim, "exp" (Expiration Time) Claim, "iat" (Issued At) Claim, âbodyâ Claim alanlarının gönderilmesi zorunludur. ^RFC7519 \na.\t"iss" (Issuer) Claim : Kurumunuza özel bilgidir. \nb.\t"exp" (Expiration Time) Claim: Saniye cinsinden (Unix time) imzanın son geçerli olduÄu tarih. Bu tarih mevcut sunucu saatinizden 60 dakika sonra olacak Åekilde kullanılmalıdır. \nc.\t"iat" (Issued At) Claim : Saniye cinsinden (Unix time) imzanın oluÅturulduÄu tarih. Bu tarih mevcut sunucu saatinizden 5 dakika önce olacak Åekilde kullanılmalıdır. \nd.\tâbodyâ Claim : istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı. \n Signature alanında da özel anahtar ile imzalanmıŠolan imza içeriÄi yer alacaktır. \n \n X-JWS-Signature: JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. \n Ãrnek X-JWS-Signature Payload DeÄeri \n { \n"iss": "https://apigw.bkm.com.tr", \n"exp": 1646832405, \n"iat": 1646746005, \n"body": "c543072f97a761a1d891dc81acc380bc1e6f61ca6541bd93ebfdece338457922" \n} \n \n \n \n \n YÃS, isteÄi gönderir. Sadece mesajın bütünlüÄünü ve doÄruluÄunu teyit amacı ile istek gövdesi (request body) SHA256 hash deÄeri imzalanarak X-JWS-Signature alanında bu imza iletilir. İsteÄin gövde (request body) kısmı açık ve Åifresiz olarak gönderilmektedir. \n \n \n HHS, isteÄi alır, talebi gerçekleÅtirmeden önce aldıÄı API isteklerinin imzasını doÄrulamalıdır. X-JWS-Signature alanındaki JWT aÅaÄıdaki adımlarla doÄrulanmalıdır. \n \n Header kısmındaki algoritmanin RS256 olduÄu kontrol edilir. \n Gönderen kurumun açık anahtarı ile JWT verify (doÄrulama) iÅlemi yapılır. \n Yukarıdaki iÅlemlerin doÄruluÄunun ardından JWTânin payload kısmındaki âbodyâ claim alanındaki bilginin, isteÄin gövde verisinin SHA256 hash deÄerlerinin aynı olduÄu kontrol edilir. \n Ãrnek checksum deÄeri "a64b19f95eeb1fb0a0a3e2dbbc6e3d8472c52184d4543417ddc6d156fc5c5571" veya "A64B19F95EEB1FB0A0A3E2DBBC6E3D8472C52184D4543417DDC6D156FC5C5571" Åeklinde olabilir. İki hali de aynı deÄere sahiptir. Kontrollerde buna dikkat edilmesi gerekmektedir. \n \n \n \n Yukarıdaki iÅlemler ile doÄruluÄu teyit edilmiÅ olan isteÄin talebi gerçekleÅtirir. \n \n \n EÄer istek doÄrulanamıyor ise gönderen kurumun açık ve özel anahtar çifti yenilenmiÅ olabilir. \n \n \n BKM HHS API üzerinden ilgili kurumun bilgilerini (kurum ko
16du vs) kullanarak kurumun detay bilgileri çeker ve kendi ortamında yeniler. \n \n \n Ardından imzayı tekrar açık anahtar ile doÄrulayarak kontroller gerçekleÅtirilir. (EÄer halen doÄrulama iÅlemi baÅarısız ise bu istek için hata akıÅı çalıÅtırılır. TR.OHVPS.Resource.InvalidSignature kodu ile hata üretilebilir.) \n \n \n İmza bilgisinin beklendiÄi (x-jws-signature) servislerde, bu bilginin iletilmediÄi durumlarda TR.OHVPS.Resource.MissingSignature hatası üretilebilir. \n \n \n HHS isteÄi iÅledikten sonra cevabı oluÅtururken de yukarıdaki akıÅlar ile göndereceÄi cevabı imzalamalıdır. \n \n \n İstek yanıt gövdesinin SHA256 checksum deÄeri için hexadecimal çıktı kullanılacaktır. OluÅacak çıktının 64 karakter olması beklenmektedir. Kontrol için "^[A-Fa-f0-9]{64}$" RegEx tarifini kullanabilirsiniz. \n \n \n Ãrnek bir gövde: \n {"katilimciBlg":{"hhsKod":"8000","yosKod":"8000"},"gkd":{"yetYntm":"Y","yonAdr":"https://boss-test.bkm.com.tr/boss/ab/yosSimulator/8000?drmKod=6021de9f-55e7-454a-94be-2044866b22e1"},"kmlk":{"kmlkTur":"M","kmlkVrs":"123456","ohkTur":"B"},"hspBlg":{"iznBlg":{"iznTur":["01","02","03","04","05"],"erisimIzniSonTrh":"2022-10-12T23:59:59+03:00","hesapIslemBslZmn":"2021-10-10T00:00:00+03:00","hesapIslemBtsZmn":"2023-10-10T23:59:59+03:00"}}}\n \n Bu gövdenin checksum\'ı: \n a64b19f95eeb1fb0a0a3e2dbbc6e3d8472c52184d4543417ddc6d156fc5c5571\n \n Bu checksum\'ın iletildiÄi x-jws-signature baÅlık deÄeri: \n eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwaWd3LmJrbS5jb20udHIiLCJleHAiOjE2NjU0NzU1NjIsImlhdCI6MTY2NTM4OTE2MiwiYm9keSI6ImE2NGIxOWY5NWVlYjFmYjBhMGEzZTJkYmJjNmUzZDg0NzJjNTIxODRkNDU0MzQxN2RkYzZkMTU2ZmM1YzU1NzEifQ.Q65PI_1fTEzzBMirvmJvXgVX3orhhZ4_UqujtGdHkU7me-1ymIjvPrzy3kfyER1pedFb7HDCBuPvYoqjX8eUnpiiZsxfzCiEa0McIhoFeUOggq-O8VihItp8bLr2DWwQ9JHN1-WXB2mL31KAKFAL1VY9-DXuAdT-RfE_SLYsl2ycmNy4ti4XvfDvvlE56ZsieFZ727VuwR8wi7F0kKDc6UhjaMF9xcUeAM1fxX-bmcOaOo1NZGC0vvgjNZKz_OJrN-q8VhWYnQPiJ7wY7S9IG8bHIkBImKSVf8LuOEvl8u0BZzADLH1iOBd9x2l1plyI_NLPTrnOqhWhKlljkkJBCg\n \n EÄer PSU-Fraud-Check için baÅlık gönderilecekse, yine JWT formatında imza üretilmelidir. Ãrnek bir psu-fraud-check baÅlık deÄeri: \n eyJhbGciOiJSUzI1NiJ9.eyJBbm9tYWx5RmxhZyI6IjAiLCJMYXN0UGFzc3dvcmRDaGFuZ2VGbGFnIjoiMSIsIkZpcnN0TG9naW5GbGFnIjoiMSIsIkRldmljZUZpcnN0TG9naW5GbGFnIjoiMSIsIkJsYWNrbGlzdEZsYWciOiIwIiwiTWFsd2FyZUZsYWciOiIwIiwiVW5zYWZlQWNjb3VudEZsYWciOiIwIiwiZXhwIjoxNjY1NDc1NTU2LCJpYXQiOjE2NjUzODkxNTYsImlzcyI6Imh0dHBzOi8vYXBpZ3cuYmttLmNvbS50ciJ9.DhUh_nsXDuNIrvsQ3KOhOXdVcJg6fTDVW8K1oea8kLtmb7n-_hJHY3mWX5zzobu-Vh2VvFzIxPhHtol6gLHFktmIMiQ9TDHb_mRZFXgJB4ToNfqc3Fy9mi5bS8By2IYi1HxDaCStstaZDaunzXfHCtqybfZXyk6teDrf-iIf6lqX9Keo7GZO-Y7mP7C13-c_QwyNKrZK4TZwUQbecRqXYn1DcEHM7kukQHTar_hKBWkXPmNpScY0J2rKksr4ejR1uLhdQm-Pdwoe9y6qrNEB79vMLBkRNtbuV0vc1GYHp_YKkzBKBI_58uuB2GD9877CsrcRnHMQb88xpxiPKh6-ew\n EK-6: HHS/YÃS API Mimarisi \n HHS/YÃS API Uygulama Mimarisinde Test ve Ãretim ortamlarında aÅaÄıdaki alanda yer almaktadır. \n \n Åekil 15: HHS/YÃS API Mimarisi \n'},{title:"HHS ve YÃS API",frontmatter:{},regularPath:"/v1.0.2/contents/hhs-yos-api.html",relativePath:"v1.0.2/contents/hhs-yos-api.md",key:"v-0ec6f57d",path:"/v1.0.2/contents/hhs-yos-api.html",headers:[{level:2,title:"HHS API",slug:"hhs-api"},{level:2,title:"YOS API",slug:"yos-api"},{level:2,title:"Healthcheck API",slug:"healthcheck-api"}],content:' HHS ve YÃS API \n HHS API, HHSâlerin detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. HHS API için âhhs_readâ scope bilgisi kullanılır. \n Production ortamında HHS / YOS API içerisinde sisteme dahil olmuÅ, sertifikasyonu baÅarı ile tamamlamıŠpaydaÅlar listelenecektir. HHS tarafından desteklenen API sürümleri listelenecektir. \n YÃSâler HHS APIâsini sorgulayabilir ancak YÃS APIâsini sorgulayamazlar. \nBenzer Åekilde HHSâler YÃS APIâsini sorgulayabilir, HHS APIâsini sorgulayamazlar. \n HHS API \n GET /hhs/{hhsKod} \n İÅlem Sorgu ÃrneÄi = /hhs ⨠bu sorgu yöntemi ile tüm HHSâlerin dizi Åeklinde verileri listelenir. \nİÅlem Sorgu ÃrneÄi = /hhs/2001 ⨠bu sorgu yöntemi ile gönderilmiÅ olan hhsKoduâna ait bilgiler listelenir. Ya da â404 Not Foundâ hatası alır. \nHHS ve YÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir. \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hhs?srlmKrtr=kod&srlmYon=A \n Tablo 20: HHS ve YÃS API Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âkodâ, âunvâ
16} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, sıralama kriteri âunvâ olarak belirlenmelidir. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 21: HHS Bilgileri Sorgulama Yanıtı âHhsâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n hhs kodu \n kod \n AN4 \n Z \n HHS nin kod bilgisi \n \n \n hhs unvanı \n unv \n AN3..140 \n Z \n HHS nin unvan bilgisi \n \n \n hhs markası \n marka \n AN1..140 \n Z \n ÃHK\'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. HHS tarafından belirlenecektir. \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n HHSânin mesaj imzalama için paylaÅtıÄı açık anahtar \n \n \n HHS Api Bilgileri \n apiBilgileri \n Kompleks: HhsApiBilgi[Array][0..N] \n Z \n Desteklenen Api ve sürüm bilgileri dönülecektir. \n \n \n > api \n api \n AN1..20 \n Z \n Api İsmi Ãrnek :obh, hbh,gkd \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s2.0 s1.0 \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n HHSâye ait logo bilgileri. Logotur = Original formatındaki logonun minimumda gönderimi zorunludur. \n \n \n >logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur alabileceÄi deÄerler ORIGINAL , WHITE_OVERLAY , BLACK_OVERLAY , GRAY_OVERLAY \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n HHS tarafında tutulan ve YÃSâlerle paylaÅılacak olan url adres bilgisidir. \n \n \n Durum \n durum \n AN1 \n Z \n HHS\'nin durum bilgisidir. TR.OHVPS.DataCode.HHSDurumu sıralı veri tipinde alabileceÄi deÄerler belirtilmiÅtir. \n \n \n \n HHS API\'de; Açık, YaygınlaÅtırma, Geçici Hizmet Veremiyor, Kapalı durumlarındaki HHS\'ler listelenecektir. \nSertifikasyon onayı alan HHS\'ler, üretim ortamına geçiÅte "YaygınlaÅtırma" durumuna sahip olabilir. HHS\'nin, hangi YÃS\'ler ile "YaygınlaÅtırma" kontrollerini yapacaÄı, HHS yönetiminde olacaktır. Böylece Ãretim Ortamında HHSânin kendisi tarafından tanımlanmıŠkısıtlı ÃHKâya hizmet vermesi ve servislerini test etmesi saÄlanabilir olacaktır. HHS\'ler kendi kurum kontrollerini yapana kadar, "YaygınlaÅtırma" durumunda kalabilirler. HHS\'nin BKM\'ye yapacaÄı talep ile, HHS "YaygınlaÅtırma" durumundan "Açık" durumuna geçebilecektir. \nHHS\'de olası bir teknik sorun olması durumunda, BKM - HHS koordinasyonu ile HHS durumu "Geçici Hizmet Veremiyor" haline getirilecektir. Sorun giderildiÄinde "Açık" durumuna geri dönecektir. \n Hem YOS hem de HHS API için geçerli olacak; logo gönderiminde dikkat edilmesi gerekenler Åu Åekilde tariflenmiÅtir: \n \n Logoların ham dosya yerine kurumun yayınlayacaÄı bir URL üzerinden sunulması gerekmektedir. (Ãrn: logoURL = https://kurumadi.com.tr/logo.png) Logo BKM tarafında host edilmeyecektir.) \n PNG formatında (PNG-24) olmalıdır. \n 72 DPI çözünürlükte olmalıdır. \n 500 x 500 boyutlarında, yatayda veya dikeyde taÅma paysız tam oturacak, sınır boyutlarını geçmeyecek ve ortalanmıŠyerleÅime sahip olmalıdır. \n Logo arka planı renkli olmamalı, arka plan transparan olmalıdır. \n YÃS uygulamasında gösterim esnasında logoların hızlı yüklenmesi ve düÅük veri tüketmesi açısından; logo boyutu 250 KBâın altında olmalıdır. \n Dört adet logo türü belirlenmiÅtir. Bu 4 tür için de logo dönülmesi zorunludur. \n Logo urlâin public eriÅilebilir url olması gereklidir. \n \n YÃS API, YÃS statüsundeki kurumların detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. YÃS API için âyos_readâ scope bilgisi kullanılır. \n YÃS API yanıtında, listelenen yönlendirme ve bildirim adresleri bulunmaktadır. HHS, iÅlem anında iletilen yonAdr ya da bldrAdr alanlarında gönderilen adreslere yetKod deÄerini iletmelidir. YÃS API içerisinde yer alan adresleri, rıza isteÄinde gönderilen adreslerin doÄruluÄunu kontrol etme amacıyla kullanılmalıdır. Bu nedenle YÃS API içerisinde listelenen adreslerin hostname seviyesinde yer alması yeterlidir. \n YOS API \n YÃS API içerisinde yer alan YÃS rol bilgileri ve aktiflik/pasiflik durumları birbiriyle iliÅkili deÄildir. \n YÃS\'ün sahip olduÄu öbhs,hbhs rolleri için herhangi bir fraud ya da teknik sebeplerden ötürü geçici süreyle geri alınabilir. \n YÃS aktifliÄini korurken problem çözülene kadar geçici olarak alınan roller(öbhs,hbhs) tekrardan aktif hale getirilir. \n GET /yos/{yosKod} \n İÅlem Sorgu ÃrneÄi = /yos ï bu sorgu yöntemi ile tüm yos lerin dizi Åeklinde verileri listelenir. \n İÅlem Sorgu ÃrneÄi = /yos/2501 ï bu sorgu yöntemi ile gönderilmiÅ olan yosKoduâna ait bilgiler listelenir ya da â404 Not Foundâ hatası alır.\nYÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir.\nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /yos?srlmKrtr=kod&srlmYon=A \n Tablo 22: YOS Bilgileri Sorgulama Yanıtı âYosâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Yös kodu \n kod \n AN4 \n Z \n YÃS\'ün kod bilgisi \n \n \n Yös unvanı \n unv \n AN3..140 \n Z \n YÃS unvan bilgisi \n \n \n Yös markası \n marka \n AN1..140 \n Z \n ÃHK\'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. YÃS tarafından belirlenecektir. \n \n \n YÃS rolleri \n roller \n Array[AN4] \n Z \n YÃSâun rollerini belirten deÄer. Ãrnek: [ "obhs", "hbhs" ] - obhs - Ãdeme Bilgisi Hizmet SaÄlayıcı Rolü - hbhs - Hesap Bilgisi Hizmet SaÄlayıcı Rolü \n \n \n Adresler \n adresler \n Kompleks:Adres[Array] [1..N] \n Z \n --- \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerlerinden birini alır. Adres detaylarının hangi GKD türüne ait olduÄunu belirtir. \n \n \n >Adres Detayları \n adresDetaylari \n adresDetaylari\tKompleks: AdresDetayi[Array] [1..N] \n Z \n \n \n \n >>Temel Adres \n tmlAdr \n AN1..1024 \n Z \n yetYntm deÄeri âYâ olarak iletildiÄinde Yönlendirmeli GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. yetYntm deÄeri âAâ olarak iletildiÄinde Ayrık GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. Riza isteklerinde bu deÄer ile uyumluluÄu kontrol edilmelidir. Ãrnek: https://example.com https://example2.com/path deepLink://example/test deepLink://example2/test \n \n \n >>Açıklama \n aciklama \n AN1..1024 \n İ \n YÃSâün gönderdiÄi adrese yönelik vermek istediÄi açıklama Ãrnek: WEB bireysel , WEB kurumsal , APP \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n YÃSâün mesaj imzalama için payla
16ÅtıÄı açık anahtar \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n YOSâe ait logo bilgileri. Logotur = Original formatındaki logonun minimumda gönderimi zorunludur. \n \n \n >logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur alabileceÄi deÄerler ORIGINAL , WHITE_OVERLAY , BLACK_OVERLAY , GRAY_OVERLAY \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n YÃS tarafında tutulan ve HHSâlerle paylaÅılacak olan url adres bilgisidir. Ãrnek: https://via.placeholder.com/150?text=0001 \n Healthcheck API \n GET /health \n HHS ve YÃS API için health servisleri aÅaÄıdaki servislerle kontrol edilebilir. \n BaÅarılı yanıtta Http 200 kodu dönülecektir\nBaÅarılı Yanıt: \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n status \n status \n AN2..20 \n Z \n âUPâ, âDOWNâ deÄerlerini alabilir \n \n \n \n'},{title:"Güçlü Kimlik DoÄrulama",frontmatter:{},regularPath:"/v1.1.0/contents/erisim-belirteci.html",relativePath:"v1.1.0/contents/erisim-belirteci.md",key:"v-751f6acf",path:"/v1.1.0/contents/erisim-belirteci.html",headers:[{level:2,title:"Yetkilendirme Kodu API",slug:"yetkilendirme-kodu-api"},{level:2,title:"EriÅim Belirteci API",slug:"erisim-belirteci-api"}],content:' Güçlü Kimlik DoÄrulama \n \n ÃHK\'nın YÃS uygulamasından HHS uygulamasına yönlendirilmesi ile baÅlanan güçlü kimlik doÄrulama süreci, Oauth 2.0 standartları gereÄi öncelikle yetkod deÄerinin YÃS\'e iletilmesi ile baÅlar ve eriÅim belirtecinin alınması sonucunda baÅarı ile sonuçlanmıŠolur. \n Güçlü Kimlik DoÄrulama için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âhesap_bilgisiâ "odeme_emri" \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n yetkilendirme-kodu \n GET \n /yetkilendirme-kodu \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n \n yetkilendirmeKodu \n \n \n 2 \n erisim-belirteci \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n ErisimBelirteciIstegi \n ErisimBelirteci \n Yetkilendirme Kodu API \n GET /yetkilendirme-kodu \n Ayrık GKD sürecinde kullanılacak olan Yetkilendirme Kodu API\'nin HHS tarafından sunulması gerekmektedir. \n Ayrık GKD akıÅında; HHS, YÃS\'ün olay dinleme servisine "AYRIK_GKD_BASARILI" olay tipi ile olay bildirimi yapar. Böylece ÃHK\'nın kendi sistemine baÅarı ile login olduÄunu ve yetKod deÄerinin ÃHK ile iliÅkilendirildiÄinin bilgisini YÃS\'e iletmiÅ olur. \nHHS olay bildirimi için retry policy süreçleri kapsamında 1 dakikada 3 kez deneme yapabilir. YÃS\'e olay bildirimi yapılmamıŠise, kendisine gelmeyen olay bildirimi için yetkod\'un geçerli olduÄu 5 dakika boyunca yetkilendirme-kodu endpointi ile sorgulama yaparak yetkod deÄerini alabilir. \n YÃS, "ODEME_EMRI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=O \n YÃS, "HESAP_BILGISI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=H \n İSTEK: \n YÃS, rıza numarasını ve isteÄin ÃBH ya da HBH olmasına göre deÄiÅen rıza tipini parametre olarak istek talebine ekler. Rıza tipinin alabileceÄi deÄerler TR.OHVPS.DataCode.RizaTip sıralı veri tiplerinde belirtilmiÅtir. \n HHS\'nin, yetkilendirme yöntemi "Ayrık Gkd" ise rıza numarası ile yetki kodu deÄerini dönmesi beklenmektedir. Yönlendirmeli GKD için bu endpoint "yetKod" deÄerini dönmemelidir. Yönlendirmeli GKDâye ait bir rıza no ile yetkilendirme kodu API kullanılarak yet_kod alınmak istendiÄinde HHS tarafından TR.OHVPS.Resource.NotFound hatası verilmelidir. \n YANIT: \n HHS yanıt nesnesi içerisinde, ÃHK\'ya ait yetki kodunu, rıza no ve rıza durumu ile birlikte YÃS\'e iletir. \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Yetki Kodu \n yetKod \n AN1..255 \n Z \n GKD sürecinde üretilen yetkilendirme kodudur. Tek kullanımlık olup, aynı yetKod ile birden fazla token alınamaz. yetKod Parametresinin yaÅam ömrü 5 dakika olmalıdır. \n \n \n RızaNo \n rizaNo \n AN1..128 \n Z \n Rıza nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n Ayrık GKD sürecinde, yetkod deÄerini alan YÃS;
16 eriÅim belirteci API ile GKD sürecini tamamlar. \n EriÅim Belirteci API \n POST /erisim-belirteci \n İSTEK: \n YÃS erisim-belirteci eriÅim adresini 2 amaçla kullanır: \n \n \n Bir önceki adımdan aldıÄı rizaNo, rizaTip (ödeme emri baÅlatma hizmetinde âOâ, hesap bilgisi hizmetinde âHâ) ve GKD sonrası dönülen yetKod bilgilerini kullanarak HHS nezdinde ErisimBelirteci nesnesi oluÅturmak üzere istekte bulunur. YÃSâün istekte bulunabilmesi için GKD adımının baÅarılı bir Åekilde tamamlanması rizaDrm bilgisinin âyetkilendirildiâ olması gerekir. EriÅim Belirteci nesnesi ile rızası nesnesi (Ãdeme Emri Rızası veya Hesap Bilgisi Rızası) arasındaki iliÅki rıza numarası üzerinden saÄlanır. \n \n \n AldıÄı eriÅim belirtecinin Geçerlilik Süresinin dolduÄu durumda, yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alması gerekmektedir. \n \n \n POST /erisim-belirteci isteÄinin (REQUEST) gövdesinde (BODY) âErisimBelirteciIstegiâ nesnesi (Tablo-23) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âErisimBelirteciâ nesnesi (Tablo 24) oluÅturulur veya (Yenileme Belirteci için) güncellenir. Rıza durumu âYetki Kullanıldıâ olarak güncellenir. \n EriÅim Belirteci POST iÅlemi sonucunda HTTP 200 dönülmesi gerekmektedir. \n âErisimBelirteciIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n RızaNo \n rizaNo \n AN1..128 \n Z \n Rıza nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Rıza Tipi \n rizaTip \n AN1 \n Z \n O veya H (TR.OHVPS.DataCode.RizaTip) \n \n \n Yetki Tipi \n yetTip \n AN1..50 \n Z \n âyet_kodâ yada âyenileme_belirteciâ deÄerini alabilir. (TR.OHVPS.DataCode.YetTip) \n \n \n Yetki Kodu \n yetKod \n AN1..255 \n K \n GKD iÅleminden dönen yetkilendirme kodudur. Tek kullanımlık olup, aynı yetKod ile birden fazla token alınamaz. yetKod Parametresinin yaÅam ömrü 5 dakika olmalıdır. yetTip = âyet_kodâ ise zorunludur. \n \n \n Yenilenme Belirteci \n yenilemeBelirteci \n AN1..4096 \n K \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. yetTip = âyenileme_belirteciâ ise kullanımı zorunludur. \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âerisimBelirteciâ nesnesinde bulunan eriÅim belirteci deÄeri ödeme emrinin baÅlatılması esnasında kullanılır. \n "ErisimBelirteci" nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n EriÅim Belirteci \n erisimBelirteci \n AN1..4096 \n Z \n Yetkilendirme Kodu karÅılıÄında HHS tarafından dönülen ve sonraki hesap bilgisi ve ödeme emri servislerine eriÅimde kullanılan bilgidir. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. Yenileme belirteci ile birden fazla eriÅim belirteci alınması durumunda verilen tüm eriÅim belirteçlerinin süreleri bitene kadar geçerli olmalıdır. \n \n \n Geçerlilik Süresi \n gecerlilikSuresi \n N1..9 \n Z \n EriÅim Belirtecini saniye cinsinden geçerlilik süresidir. EriÅim belirteci geçerli olduÄu son tarih ; Hesap Bilgisi Rızası için en fazla 30 gün en az ise 1 gün olmalıdır. EriÅimin Geçerli OlduÄu Son Tarih(erisimIzniSonTrh); EriÅim Belirteci Geçerlilik Süresi\'nden küçük ise EriÅimin Geçerli OlduÄu Son Tarih deÄeri ile sınırlıdır. Ãdeme Emri Rızası için 5 dakika olmalıdır. \n \n \n Yenileme Belirteci \n yenilemeBelirteci \n AN1..4096 \n Z \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. Yenileme Belirteci ile EriÅim Belirteci isteÄi yapıldıÄında HHS\'nin döndüÄü yanıt içerisindeki yenilemeBelirteci deÄerini kesinlikle deÄiÅtirmemesi gerekmektedir.Yenileme belirteci rıza süresi boyunca güncellenmemelidir. \n \n \n Yenileme Belirteci Geçerlik Süresi \n yenilemeBelirteciGecerlilikSuresi \n N1..9 \n Z \n Yenileme belirtecinin saniye cinsinden geçerlilik süresidir. Yenileme belirtecinin geçerli olduÄu son tarih ; Hesap Bilgisi için EriÅimin Geçerli OlduÄu Son Tarih ile sınırlı olmalıdır. Bu tarih geldiÄi zaman Hesap Bilgisi Rıza Durumunu âYetki Sonlandırıldıâ statüsüne çekilmesi gerekir. Ãdeme BaÅlatma için Rıza OluÅturma Zamanından 15 gün sonrası olmalıdır. 15 gün süresi sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. İleri vadeli iÅlemler bu kapsamda deÄildir. Ãdeme emri 5 dakika içinde gerçekleÅtirilmelidir. GerçekleÅmediÄinde 4.2.8 bölümünde aktarılan rıza statü güncellemesi yapılmalıdır. \n \n \n \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci, iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir. \n Yenilenme Belirteci (refreshToken) kullanılarak EriÅim Belirteci (accessToken) alındıÄında, döne
16n yanıttaki Yenileme Belirteci Geçerlik Süresi (yenilemeBelirteciGecerlilikSuresi) geçen süre eksiltilerek, kalan zamanın saniye cinsinden hesaplanmasıyla iletilmelidir. \n EriÅim Belirteci API çaÄrımı sırasında rıza durumları kontrol edilmelidir. Bu kontrollerin nasıl yapılması gerektiÄi 4-Rıza Durumları bölümünde aktarılmıÅtır. \n Yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alınması sırasında HHS\'nin döndüÄü hata yanıtında httpCode = 401 ve errorCode = "TR.OHVPS.Connection.InvalidToken" gelirse YÃS önce rızanın durumu sorgulamalıdır. \nEÄer geçerli bir rıza ise; HHS veya YÃS tarafında bir sorun olduÄu anlaÅılmalıdır. Sistem tarafından hata üretilmeli ve sorun incelenmelidir. \nEÄer geçerli bir rıza deÄil ise YÃS tarafındaki rıza durumu güncellenmelidir. \n'},{title:"HHS ve YÃS API",frontmatter:{},regularPath:"/v1.1.0/contents/hhs-yos-api.html",relativePath:"v1.1.0/contents/hhs-yos-api.md",key:"v-9cc354c6",path:"/v1.1.0/contents/hhs-yos-api.html",headers:[{level:2,title:"HHS API",slug:"hhs-api"},{level:2,title:"YOS API",slug:"yos-api"}],content:" HHS ve YÃS API \n HHS API, HHSâlerin detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. HHS API için âhhs_readâ scope bilgisi kullanılır. \n Production ortamında HHS / YOS API içerisinde sisteme dahil olmuÅ, sertifikasyonu baÅarı ile tamamlamıŠpaydaÅlar listelenecektir. HHS tarafından desteklenen API sürümleri listelenecektir. \n YÃSâler HHS APIâsini sorgulayabilir ancak YÃS APIâsini sorgulayamazlar. \nBenzer Åekilde HHSâler YÃS APIâsini sorgulayabilir, HHS APIâsini sorgulayamazlar. \n HHS API \n GET /hhs/{hhsKod} \n İÅlem Sorgu ÃrneÄi = /hhs ⨠bu sorgu yöntemi ile tüm HHSâlerin dizi Åeklinde verileri listelenir. \nİÅlem Sorgu ÃrneÄi = /hhs/2001 ⨠bu sorgu yöntemi ile gönderilmiÅ olan hhsKoduâna ait bilgiler listelenir. Ya da â404 Not Foundâ hatası alır. \nHHS ve YÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir. \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hhs?srlmKrtr=kod&srlmYon=A \n Tablo 20: HHS ve YÃS API Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âkodâ, âunvâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, sıralama kriteri âunvâ olarak belirlenmelidir. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 21: HHS Bilgileri Sorgulama Yanıtı âHhsâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n hhs kodu \n kod \n AN4 \n Z \n HHS nin kod bilgisi \n \n \n hhs unvanı \n unv \n AN3..140 \n Z \n HHS nin unvan bilgisi \n \n \n hhs markası \n marka \n AN1..140 \n Z \n ÃHK'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. HHS tarafından belirlenecektir. \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n HHSânin mesaj imzalama için paylaÅtıÄı açık anahtar \n \n \n HHS Api Bilgileri \n apiBilgileri \n Kompleks: HhsApiBilgi[Array][0..N] \n Z \n Desteklenen Api ve sürüm bilgileri dönülecektir. \n \n \n > api \n api \n AN1..20 \n Z \n Api İsmi Ãrnek :obh, hbh,gkd \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s2.0 s1.0 \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n HHS'ye ait logo bilgileri. \n \n \n > logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n HHS tarafında tutulan ve YÃS'lerle paylaÅılacak olan url adres bilgisidir. Ãrnek: https://via.placeholder.com/150?text=0001 \n \n \n > logoArkaPlan \n logoArkaPlan \n AN1 \n Z \n TR.OHVPS.DataCode.LogoArkaPlan sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoFormat \n logoFormat \n AN3 \n Z \n TR.OHVPS.DataCode.LogoFormat sıralı veri türü deÄerlerlerinden birini alır. \n \n \n Ayrık GKD \n ayrikGKD \n AN1 \n Z \n HHS'nin Ayrık GKD desteklediÄini BKM'ye bildirmesi
16ile bu alan E deÄerini alır. TR.OHVPS.DataCode.EvetHayir sıralı veri tiplerinden birini alır. \n \n \n Durum \n durum \n AN1 \n Z \n HHS'nin durum bilgisidir. TR.OHVPS.DataCode.HHSDurumu sıralı veri tipinde alabileceÄi deÄerler belirtilmiÅtir. \n \n \n \n HHS API'de; Açık, YaygınlaÅtırma, Geçici Hizmet Veremiyor, Kapalı durumlarındaki HHS'ler listelenecektir. \nSertifikasyon onayı alan HHS'ler, üretim ortamına geçiÅte \"YaygınlaÅtırma\" durumuna sahip olabilir. HHS'nin, hangi YÃS'ler ile \"YaygınlaÅtırma\" kontrollerini yapacaÄı, HHS yönetiminde olacaktır. Böylece Ãretim Ortamında HHSânin kendisi tarafından tanımlanmıŠkısıtlı ÃHKâya hizmet vermesi ve servislerini test etmesi saÄlanabilir olacaktır. HHS'ler kendi kurum kontrollerini yapana kadar, \"YaygınlaÅtırma\" durumunda kalabilirler. HHS'nin BKM'ye yapacaÄı talep ile, HHS \"YaygınlaÅtırma\" durumundan \"Açık\" durumuna geçebilecektir. \n AÅaÄıdaki durumlarda HHS'nin statüsü Geçici Kapalı olarak güncellenebilecektir: \n \n HHS'nin talebi ile uzun süreli (minimum 1 saati aÅan) yaÅanan teknik sorunlarda G statüsüne alınabilecektir. G statüsüne alınma talebinin HHS tarafından [email protected] ye mail atarak iletilmesi beklenmektedir. \n İlgili resmi kurumlardan gelen talep üzerine HHS G statüsüne alınabilir. \n \n YÃS'ler hem A hem G statüsünde olan HHS'leri listeleyebilir. Ancak YÃS uygulamasında G statüsünde olan bir HHS müÅteri tarafından seçilirse müÅteriye gerekli hata mesajının verilmesi ve ilgili HHS'ye istek atılmaması saÄlanmalıdır. \n Hem YOS hem de HHS API için geçerli olacak; logo gönderiminde dikkat edilmesi gerekenler Åu Åekilde tariflenmiÅtir: \n \n Logoların ham dosya yerine kurumun yayınlayacaÄı bir URL üzerinden sunulması gerekmektedir. (Ãrn: logoURL = https://kurumadi.com.tr/logo.png) Logo BKM tarafında host edilmeyecektir. \n Logo urlâin public eriÅilebilir url olması gereklidir. \n Logo, yatayda veya dikeyde taÅma paysız tam oturacak, sınır boyutlarını geçmeyecek ve ortalanmıŠyerleÅime sahip olmalıdır. \n YÃS uygulamasında gösterim esnasında logoların hızlı yüklenmesi ve düÅük veri tüketmesi açısından; logo boyutu 250 KBâın altında olmalıdır. \n HHS ve YÃSâlerin tüm logo türlerini (8 farklı tipte logoyu) zorunlu olarak dönmesi beklenmektedir. \n Circle logo kullanılması gerektiÄinde ICON_LOGO logo türü kullanılmalıdır. \n Logolarını güncellemek isteyen kurumların en az 3 iÅ günü öncesinde BKMâye bu deÄiÅikliÄi GEÃİT Test/Ãretim Ortamı Entegrasyon formu ile bildirmesi gereklidir. BKM de katılımcılara HHS/YÃS API aracılıÄı ile güncel logonun çekilmesi gerektiÄine dair bilgilendirme yapar. \n Logoları anlık çeken katılımcıların, herhangi bir teknik nedenden dolayı güncel logoyu alamadıÄı durum olabilir. Bu durumda sistemlerine kaydetmiÅ olduÄu kuruma ait ikon logoyu göstermesi gereklidir. \n HHS ve YÃSâler API aracılıÄı ile almıŠoldukları logoların formatı üzerinde deÄiÅiklik (kare, yuvarlak hale getirip resize etmek gibi) yapabilirler. Ancak logonun görsel ve yazılarını etkileyecek bir deÄiÅiklik yapmamalıdırlar. \n YÃS/HHS mobil uygulamasındaki dark mode ve light mode kullanımlarında, hangi logonun kullanılacaÄına uygulama sahibi karar verecektir. \n YOS API \n YÃS API, YÃS statüsundeki kurumların detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. YÃS API için âyos_readâ scope bilgisi kullanılır. \n YÃS API yanıtında, listelenen yönlendirme ve bildirim adresleri bulunmaktadır. HHS, iÅlem anında iletilen yonAdr ya da bldrAdr alanlarında gönderilen adreslere yetKod deÄerini iletmelidir. YÃS API içerisinde yer alan adresleri, rıza isteÄinde gönderilen adreslerin doÄruluÄunu kontrol etme amacıyla kullanılmalıdır. Bu nedenle YÃS API içerisinde listelenen adreslerin hostname seviyesinde yer alması yeterlidir. \n YÃS API içerisinde yer alan YÃS rol bilgileri ve aktiflik/pasiflik durumları birbiriyle iliÅkili deÄildir. \n YÃS'ün sahip olduÄu öbhs,hbhs rolleri için herhangi bir fraud ya da teknik sebeplerden ötürü geçici süreyle geri alınabilir. \n YÃS'lerin hizmet verememesi durumunda rollerinin ger
16i alınması yapılmayacaktır. YÃS rolleri sadece ilgili resmi kurumlardan gelen talep üzerine alınabilecektir. \n YÃS aktifliÄini korurken problem çözülene kadar geçici olarak alınan roller(öbhs,hbhs) tekrardan aktif hale getirilir. \n GET /yos/{yosKod} \n İÅlem Sorgu ÃrneÄi = /yos ⨠bu sorgu yöntemi ile tüm YÃS'lerin dizi Åeklinde verileri listelenir. \n İÅlem Sorgu ÃrneÄi = /yos/2501 ⨠bu sorgu yöntemi ile gönderilmiÅ olan yosKoduâna ait bilgiler listelenir ya da â404 Not Foundâ hatası alır.\nYÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir.\nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /yos?srlmKrtr=kod&srlmYon=A \n Tablo 22: YOS Bilgileri Sorgulama Yanıtı âYosâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Yös kodu \n kod \n AN4 \n Z \n YÃS'ün kod bilgisi \n \n \n Yös unvanı \n unv \n AN3..140 \n Z \n YÃS unvan bilgisi \n \n \n Yös markası \n marka \n AN1..140 \n Z \n ÃHK'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. YÃS tarafından belirlenecektir. \n \n \n YÃS rolleri \n roller \n Array[AN4] \n Z \n YÃSâun rollerini belirten deÄer. Ãrnek: [ \"obhs\", \"hbhs\" ] - obhs - Ãdeme Bilgisi Hizmet SaÄlayıcı Rolü - hbhs - Hesap Bilgisi Hizmet SaÄlayıcı Rolü \n \n \n Adresler \n adresler \n Kompleks:Adres[Array] [1..N] \n Z \n --- \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerlerinden birini alır. Adres detaylarının hangi GKD türüne ait olduÄunu belirtir. \n \n \n > Adres Detayları \n adresDetaylari \n adresDetaylari\tKompleks: AdresDetayi[Array] [1..N] \n Z \n \n \n \n >> Temel Adres \n tmlAdr \n AN1..1024 \n Z \n yetYntm deÄeri âYâ olarak iletildiÄinde Yönlendirmeli GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. yetYntm deÄeri âAâ olarak iletildiÄinde Ayrık GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. Riza isteklerinde bu deÄer ile uyumluluÄu kontrol edilmelidir. Ãrnek: https://example.com https://example2.com/path deepLink://example/test deepLink://example2/test \n \n \n >> Açıklama \n aciklama \n AN1..1024 \n İ \n YÃSâün gönderdiÄi adrese yönelik vermek istediÄi açıklama Ãrnek: WEB bireysel , WEB kurumsal , APP \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n YÃSâün mesaj imzalama için paylaÅtıÄı açık anahtar \n \n \n YÃS Api Bilgileri \n apiBilgileri \n Kompleks: YosApiBilgi[Array][0..N] \n Z \n Desteklenen Api ve sürüm bilgileri dönülecektir. \n \n \n > api \n api \n AN1..20 \n Z \n Api İsmi Ãrnek :ods \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s2.0 s1.0 \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n YOSâe ait logo bilgileri. \n \n \n > logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n YÃS tarafında tutulan ve HHSâlerle paylaÅılacak olan url adres bilgisidir. Ãrnek: https://via.placeholder.com/150?text=0001 \n \n \n > logoArkaPlan \n logoArkaPlan \n AN1 \n Z \n TR.OHVPS.DataCode.LogoArkaPlan sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoFormat \n logoFormat \n AN3 \n Z \n TR.OHVPS.DataCode.LogoFormat sıralı veri türü deÄerlerlerinden birini alır. \n \n \n Durum \n durum \n AN1 \n Z \n YÃS'ün durum bilgisidir. TR.OHVPS.DataCode.YOSDurumu sıralı veri tipinde alabileceÄi deÄerler belirtilmiÅtir. \n \n \n \n"},{title:"7.\tHesap Bilgisi Hizmeti",frontmatter:{},regularPath:"/v1.1.0/contents/hesap-bilgisi-hizmeti.html",relativePath:"v1.1.0/contents/hesap-bilgisi-hizmeti.md",key:"v-553c6446",path:"/v1.1.0/contents/hesap-bilgisi-hizmeti.html",headers:[{level:2,title:"Genel Bilgiler",slug:"genel-bilgiler"},{level:2,title:"Hesap Bilgisi Hizmeti İçin EriÅim Adresleri",slug:"hesap-bilgisi-hizmeti-icin-erisim-adresleri"}
16,{level:2,title:"ADIM 0: ÃHK'nın hesap bilgilerine eriÅim için talepte bulunması:",slug:"adim-0-ohk-nın-hesap-bilgilerine-erisim-icin-talepte-bulunması"},{level:2,title:"7.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması",slug:"_7-1-adim-1-hesap-bilgisi-rızasının-hazırlanması"},{level:3,title:"POST /hesap-bilgisi-rizasi",slug:"post-hesap-bilgisi-rizasi"},{level:3,title:"BaÅarılı İstek:",slug:"basarılı-istek"},{level:3,title:"BaÅarılı Yanıt:",slug:"basarılı-yanıt"},{level:2,title:"İzinler",slug:"izinler"},{level:2,title:"7.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi",slug:"_7-2-adim-2-hesap-bilgisi-hizmeti-rızasının-tesisi"},{level:2,title:"7.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması",slug:"_7-3-adim-2-1-hesap-bilgisi-rızasının-sorgulanması"},{level:2,title:"7.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali",slug:"_7-4-adim-2-2-hesap-bilgisi-rızasının-iptali"},{level:2,title:"7.5 ADIM 3: Hesap Bilgilerinin Alınması",slug:"_7-5-adim-3-hesap-bilgilerinin-alınması"},{level:2,title:"7.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması",slug:"_7-6-adim-3-1-ve-3-2-hesap-bilgilerinin-sorgulanması"},{level:2,title:"7.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması",slug:"_7-7-adim-3-3-ve-3-4-hesap-bakiyesinin-sorgulanması"},{level:2,title:"7.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması",slug:"_7-8-adim-3-5-ve-3-6-islemlerin-sorgulanması"}],content:" 7.\tHesap Bilgisi Hizmeti \n Genel Bilgiler \n Hesap bilgisi sorgulama için HBHS tarafından müÅteri rızası tesisinin HHS tamamlanmıŠolması gerekir. MüÅteri rızası tesisi tamamlandıktan sonra, HBHS sorgulamak istediÄi hesaba ait verileri ilgili eriÅim adresi üzerinden sorgular. \n \n \n Åekil 10: Hesap Bilgisi Hizmeti Ãst Düzey AkıÅı \n Åekil-10âda sunulan hesap bilgisi hizmeti 5 temel akıÅtan oluÅur: \n 0.\tMüÅterinin hesap bilgilerine eriÅim için talepte bulunması: ÃHK ÃBHS mobil uygulama ya da web sitesinden hesap bilgilerine eriÅim iÅlemini baÅlatır. \n 1.\tHesap Bilgisi müÅteri rızasının hazırlanması: \n HBHS, âhesap bilgilerine eriÅimâ için müÅteri rızası tesisi amacıyla HHSâdeki hesap bilgisi rızası eriÅim adresine bir POST isteÄinde bulunur ve bir hesap bilgisi rızası nesnesi oluÅturur. HHS hesap bilgisi rızası nesnesi için biricik tanımlayacı döner (RızaNo). Hesap bilgisi rızası, müÅterinin HBHSânin hesap bilgilerine eriÅim izin verdiÄi alanları içerir: \n \n İzinler - eriÅim için izin verilen veri kümelerinin listesi. \n EriÅimin Geçerli OlduÄu Son Tarih - HBHS'nin müÅterinin hesap bilgilerine eriÅebileceÄi isteÄe baÄlı seçilebilen son tarih. \n İÅlem Sorgulama BaÅlangıç Zamanı â MüÅteri rızasının tesisinden itibaren geriye dönük olarak HBHSânin hesap bilgilerine eriÅebileceÄi süreyi \n İÅlem Sorgulama BitiÅ Zamanı - MüÅteri rızasının tesisinden itibaren ileriye dönük olarak HBHSânin hesap bilgilerine eriÅebileceÄi süreyi \n \n 2.\tHesap bilgisi hizmeti müÅteri rızasının tesisi: \n HHS, Hesap Bilgisi Rızası servisi ile ÃHK özelinde âYetki bekleniyorâ statüsünde bir rıza nesnesi hazırlar. HHS, GKDânin baÅarıyla tamamlanması sonrasında hesap bilgisi rızası nesnesinin yetkilendirildiÄini belirtmek için Rıza Durumunu âRıza Yetkilendirildiâ olarak günceller. Nesne yetkilendirildikten sonra HHS nesne ile bir eriÅim belirteci (access token) iliÅkilendirir, Rıza Durumunu âYetki Kullanıldıâ yapar ve bu belirteci HBHSâye geri döner. Böylece müÅteri rıza tesisi saÄlanmıŠolur. \n Hesap bilgisi için müÅteri rızasına iliÅkin temel ilkeler Åunlardır: \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de Yetki Bekleniyor, Yetkilendirildi, Yetki Kullanıldı statüsünde 1 rızası olabilir. \n MüÅteri rızasının ayrıntıları ÃHK ile HBHS arasında belirlenir. Bu nedenle müÅteri rızasının ayrıntıları HHS ekranında deÄiÅtirilmemelidir. \n ÃHK, hesap eriÅim izni ayrıntılarını yalnızca bir bütün olarak yetkilendirebilir veya geri alabilir. \n MüÅteri rızası tesisi esnasında, müÅteri HHS arayüzünde eriÅim için yetkilendirecek hesapları seçer. \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN hizmeti sunmayabildikleri için hesap referansı ile akıÅlarını kurgulayabilirler. YÃS önyüzlerinde yapılan bilgilendirmelerde, IBAN harici hesap referansı ile iÅlem yapılabilmesine dikkat edilmelidir. \n \n 2.1\tHesap bilgisi rızasının sorgulanması: MüÅteri rızası GET/hesap-bilgisi-rizasi/{RizaNo} çaÄrısı yapılarak sorgulanır. \n 2.2\tHesap bilgisi müÅteri rızasının iptali: MüÅteri rızası DELETE/hesap-bilgisi-rizasi/{RizaNo}
16 çaÄrısı yapılarak iptal edilir. \n 3.\tHesap bilgilerinin alınması: Hesap bilgileri ilgili kaynaÄa (hesaplar, bakiye, iÅlemler) GET isteÄi yapılarak gerçekleÅtirilir. HBHS, müÅteri rızasının tesisinden sonrasında (geçerli bir eriÅim belirticine sahip olduÄunda) öncelikle GET/hesaplar çaÄrısı yapacaktır. \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin HBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini (önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n Hesap Bilgisi Hizmeti İçin EriÅim Adresleri \n Etki Alanı (Scope) =âhesap_bilgisiâ \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n hesap-bilgisi-rizasi \n POST \n /hesap-bilgisi-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n HesapBilgisiRizasiIstegi \n HesapBilgisiRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n \n HesapBilgisiRizasi \n \n \n 2.2 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri \n \n \n \n \n \n \n 3.1 \n hesaplar \n GET \n /hesaplar \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n HesapBilgileri(birden çok hesap) \n \n \n 3.2 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n HesapBilgileri(tek hesap) \n \n \n 3.3 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n BakiyeBilgileri(tek hesap) \n \n \n 3.4 \n bakiye \n GET \n /bakiye \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n BakiyeBilgileri(birden çok hesap) \n \n \n 3.5 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n IslemBilgileri (tek hesap) \n \n \n \n Tablo 11: Hesap Bilgisi Hizmeti İçin EriÅim Adresleri \n ADIM 0: ÃHK'nın hesap bilgilerine eriÅim için talepte bulunması: \n ÃHK, HBHS uygulamasında (web arayüzü/mobil uygulama) hesap bilgilerine eriÅim için talepte bulunur. \n 7.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması \n Bu API çaÄrısı HBHS'nin HHS'de yeni bir âHesapBilgisiRizasiâ nesnesi oluÅturmasını ve nesneye eriÅmek için benzersiz bir rıza numarası ({RizaNo}) dönülmesini saÄlar. \n API çaÄrısının baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması yeterlidir.\nBaÅarıyla oluÅturulan hesap bilgisi rıza kaynaÄının rıza durumu âYetki Bekleniyorâ olarak düzenlenir.\nÃHK daha önce aldıÄı rızaya iliÅkin eriÅim tarihleri, izin türlerini ve hesap bilgilerini güncellemek isterse, HBHS önce HHS nezdindeki rızayı iptal etmeli ve sonrasında yeni bir rıza talebinde bulunmalıdır.\n \n \n Åekil 11: Hesap Bilgisi MüÅteri Rızasının Hazırlanması \n \n \n Sürüm 1.1.0 için POST /hesap-bilgisi-rizasi isteÄinde 06- Anlık Bakiye Bildirimi izin türü için YÃSâün BAKİYE kaynak tipinde olay abonelik kaydının olması gerekmektedir. BAKİYE kaynak tipinde olay abonelik kaydı olmayan YÃS kurumu ; sürüm 1.1.0 için 06 izin türünü kapsayan Hesap Bilgisi Rızası isteÄi gönderdiÄinde HHS tarafından TR.OHVPS.Business.EventSubscriptionNotFound hatası verilmeli ve rıza oluÅturulmamalıdır. \n \n \n POST /hesap-bilgisi-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âHesapBilgisiRizasıIstegiâ nesnesi (Tablo-12) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âHesapBilgisiRizasiâ (Tablo-13) nesnesi oluÅturulur. \n POST /hesap-bilgisi-rizasi \n BaÅarılı İstek: \n İSTEK: \n HBHS, bu API eriÅim adresinden HHSâye yeni bir HesapBilgisiRizasi oluÅturulması için istekte bulunur: \n \n HBHS, ÃHKânın hesap bilgilerine yönelik rıza baÅlatma isteÄi olduÄunu HHSâye bildirir. \n HBHS, ÃHKânın, HBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların API dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk ve uzunluk kontrollerini y
16apar. (Zorunlu) \n HHS; YÃS API ile alınan HBHS bilgilerinin içerisinde yer alan yönlendirme adresleri ile hesap bilgisi rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) \n HHS; kimlik bilgileri nesnesinde iletilen kimlik bilgileri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (Zorunlu) \n EriÅimin Geçerli OlduÄu Son Tarih, İÅlem Sorgulama BaÅlangıç Zamanı, İÅlem Sorgulama BitiÅ Zamanı alanları ile ilgili Tablo 12âde belirtilen kontroller yapılmalıdır. (Zorunlu) \n HHS, benzersiz âRizaNoâ ile âHesapBilgisiRizasiâ nesnesi oluÅturur ve HBHSâye döner. \n HHS, HesapBilgisiRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n \n EriÅimin Geçerli OlduÄu Son Tarih, İÅlem Sorgulama BaÅlangıç Zamanı, İÅlem Sorgulama BitiÅ Zamanı alanlarında zaman aralıkları müÅteri deneyimi penceresinden deÄerlendirilerek ay cinsinden belirtilmiÅtir. Bu konuda aÅaÄıdaki gibi oluÅabilecek uç örneklere dikkat edilmesi gerekmektedir. \n Yeni günün baÅlangıç saatinin 00:00:00 olduÄu kabul edilmiÅtir. \n Bugün : 31.08.2019 \nBugün + 6 Ay : 01.03.2020 00:00:00 (29.02.2020 tüm gün dahildir.) \nBugün : 30.08.2020 \nBugün + 6 Ay : 01.03.2020 00:00:00 (28.02.2021 tüm gün dahildir.) \nBugün : 30.09.2022 \nBugün + 3 Ay : 01.01.2023 00:00:00 (30.12.2022 tüm gün dahildir.) \nBugün : 14.07.2022 \nBugün + 3 Ay : 15.10.2022 00:00:00 (14.10.2022 tüm gün dahildir.) \n Tablo 12: âHesapBilgisiRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, HBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.OHKTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n \n Hesap Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n \n >İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih. MüÅteri YÃS ekranından bu deÄeri belirleyebilir. Varsayılan deÄer : Rıza verilen tarih + 6 ay AlabileceÄi maksimum deÄer : Rıza tarihi + 6 ay AlabileceÄi minimum deÄer : Rıza tarihi + 1 gün ÃrneÄin 04/02/2023âde minimum 05/02/2023 seçilebilir. Bu durumda yeni günün baÅlangıç saati 00:00:00 olduÄu kabul edildiÄi için; erisimIzniSonTrh deÄeri 2023-02-06T00:00:00+03:00 olmalıdır. HHS rıza onay ekranlarında YÃS'ten iletilen eriÅim izni son tarihi yeni günün baÅlangıç saati olarak iletildiÄinden ÃHK'ya gösterilecek tarih eriÅim izninin biteceÄi gün olarak gösterilmelidir. ÃrneÄe istinaden; ÃHK YÃSâde 05/02/2023 seçmiÅ ise HHS rıza onay ekranında 06/02/2023 görmemeli, bu iki tarihin aynı, yani 05/02/2023 olacak Åekilde gösterilmesi gerekmektedir. Ãrnek rıza oluÅ zamanı : 2023-02-04T21:20:20+03:00 1 günlük rıza verildiÄinde erisimIzniSonTrh deÄeri: 2023-02-06T00:00:00+03:00 (26 saat 40 sakikalık rıza vermiÅ oluyor.) 7 günlük rıza verildiÄinde erisimIzniSonTrh deÄeri: 2023-02-12T00:00:00+03:00 1 aylık rıza verildiÄinde erisimIzniSonTrh deÄeri : 2023-03-05-T00:00:00+03:00 \n Bu alanda bir deÄer bulunmadıÄı durumda HHS hata dönmelidir. \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geçmiÅe dönük en fazla 12 ay olabilir, daha eski olmaması gerekir. Varsayılan deÄeri rıza verilen tarih (iÅlem zamanı) â 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamıŠise zaman bilgisi üretilirken ekrandan girilen tarihe 00:00:00 zaman bilgisi eklenmelidir. ÃHK deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi - 12 ay Maksimum tarih: Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BaÅlangıç Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geleceÄe dönük en fazla 12 ay sonrası olabilir, daha ileri bir tarih olmaması gerekir. Varsayılan deÄeri: Rıza verilen tarih + 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamıŠise girdiÄi tarihe 1 gün eklenir ve yeni günün ilk saati kabul edilen 00:00:00 saat bilgisini ekler. ÃHK bu alana bir deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi â 12 ay Maksimum tarihi : Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. EÄer dolu gönderilirse HHS tarafından uygun hata mesajı iletilmelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BitiÅ Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n BaÅarılı Yanıt: \n Tablo 13: HesapBilgisiRizasi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. Ãrn; hesap bilgi rızasının tesisine dair ilk istek mesajına dönüÅte âB: Yetki Bekleniyorâ deÄerini alması beklenir. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄ
16u durumda zorunludur. \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe\tGKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Hesap Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n > İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HBHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi baÅlangıç zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi bitiÅ zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n > Ayrıntı Bilgi \n ayrBlg \n Kompleks: AyrintiBilgi \n İ \n \n \n \n > ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n İzinler \n Bir hesap bilgisi müÅteri rızası kaynaÄı çaÄrısına yanıt olarak döndürülen verileri sınırlamak için izin kodları kullanılır: \n \n Temel Hesap Bilgisi \n Ayrıntılı Hesap Bilgisi \n Bakiye Bilgisi \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n Ayrıntılı İÅlem Bilgisi \n Anlık Bakiye Bildirimi \n \n ÃHKâya sunulacak seçimler ve kuralları aÅaÄıdaki gibi olmalıdır. \n \n \n \n Seçim \n Kural \n \n \n \n \n Temel Hesap Bilgisi \n ÃHK seçimine sunulmamalıdır. DeÄiÅtirilemez Åekilde seçili gösterilmelidir. \n \n \n Ayrıntılı Hesap Bilgisi \n ÃHK seçim yapabilir. \n \n \n Bakiye Bilgisi \n ÃHK seçim yapabilir. \n \n \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n ÃHK seçim yapabilir. \n \n \n Ayrıntılı İÅlem Bilgisi \n ÃHK seçim yapabilir. Ayrıntılı İÅlem Bilgisi seçimi Temel İÅlem Bilgisi seçimini kapsar. (Ayrıntılı İÅlem bilgisi seçildiÄinde Temel İÅlem Bilgisi de seçili olmalıdır.) \n \n \n Anlık Bakiye Bildirimi \n Bakiye Bilgisi izin türü ile birlikte seçilmesi gereklidir. ÃHK, HHS'de olacak bakiye deÄiÅikliklerinden anlık haberdar olmak istiyor ise bu izin türü seçimi ile rıza baÅlatması gereklidir. \n \n \n \n AÅaÄıdaki durumlarda, izin kombinasyonlarına izin verilmez. HHS, bu hesap eriÅim onaylarını 400 (Hatalı İstek) yanıt ko
16duyla reddetmelidir: \n \n İzin dizisinin herhangi bir izin türü içermemesi durumu, \n İzin dizisinde HHS tarafından desteklenmeyen bir izin kodunun yer alması durumu \n 7.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi \n \n \n Åekil 12: Hesap Bilgisi ÃHK Rızasının Tesisi \n Rıza tesisinin baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması ve ardından müÅterinin HHS tarafından yönlendirmeli veya ayrık GKD ile doÄrulanması gerekir. HHS'de oluÅturulan ve rıza durumu âYetki Bekleniyorâ olan bir hesap bilgisi rızası, GKD sonrası âYetkilendirildiâ statüsüne güncellenir. HBHS, eriÅim saÄlayacaÄı hesapları hesap bilgisi rızasının tesisinden önce seçer. \n \n \n Yönlendirmeli doÄrulama akıÅında, HBHS ÃHKâyı HHSâye yönlendirir. \n \n \n HBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n \n \n HHS, ÃHK için GKD sürecini iÅletir. \n ÃHKâyı doÄrularsa, \n \n \n ÃHK HBHS üzerinden iÅlem yapılmasına izin vereceÄi hesap seçimini, hesap numarası ya da hesap referansı bilgisi ile yapar. HBHS üzerinden ÃHKânın verdiÄi izin bilgilerini ve eriÅim izninin bitiÅ tarihi bilgilerini, HHS bilgilendirme amaçlı ÃHKâya gösterir. \n \n \n HHS hesap bilgisiri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=H&drmKod=zzz\n \n \n \n ÃHKâyı doÄrulayamazsa, \n \n \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I &rizaNo=yy&rizaTip=H&rizaIptDtyKod=11&drmKod=zzz\n \n \n \n \n \n \n \n Ayrık doÄrulama akıÅında, HHS, ÃHKânın hesap bilgisi hizmetini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister. \n \n Ayrık akıŠHBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek hesap bilgisi rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ödeme hizmeti kullanıcısını doÄrular. \n ÃHK verdiÄi izin tipi dahilinde bilgileri paylaÅılacak olan hesapları seçer. \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, hesap bilgisi rızasının durumunu âYetki Kullanıldıâ olarak günceller. Rıza tesisi saÄlanmıŠolur. \n 7.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması \n GET /hesap-bilgisi-rizasi/{RizaNo} \n ÃHK, HHS üzerinden rıza iptali yapmıŠolabilir veya ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir. Bu durumlarda HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir HesapBilgisiRizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. \n Servis baÅarılı yanıtında Tablo 13âde belirtilen âHesapBilgisiRizasiâ nesnesini dönmektedir. \n Durum \nHesapBilgisiRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n \n Yetki Bekleniyor \n \n \n Yetkilendirildi \n \n \n Yetki Kullanıldı \n \n \n Yetki Sonlandırıldı \n \n \n Yetki İptal \n \n \n Hesap bilgisi rızası sonlandırıldı ve iptal statüsünde olan rıza'ların güncellenme zamanından(gnclZmn) 6 ay sonrasına kadar sorgulanabilir olması beklenmektedir. HHS'ler ilgili süre sonrasında yapılacak rıza sorgularına TR.OHVPS.Resource.NotFound uyarısı verebilir. YÃS'ler tarafından iptal ve sonlandırıldı statüsünde olan rızalar için sorgulama yapmamalıdır. \n 7.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali \n \n \n \n Åekil 13: Hesap Bilgisi MüÅteri Rızasının Geri Alınması \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \n DELETE /hesap-bilgisi-rizasi çaÄrısı, bir HBHS'nin önceden oluÅturulmuÅ bir hesap eriÅim rızasını (yetkili olsun veya olmasın) silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, HBHS üzerinden bu rızasını kaldırmak isteyebilir. \nBu API çaÄrısı, müÅterinin HBHS üzerinden hesap bilgisi rızasını iptal etmesine ve HHS nezdindeki hesap bilgisi rızası nesnesinin silinmesini saÄlar. \nMüÅterinin HBHSânin veri eriÅim iznini iptal etmesi durumunda HBHS, HHSâde mevcut olan HesapBilgisiRizasi kaynaÄını pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \nçaÄrısı aracılıÄı ile yerine getirilir. HBHS ayrıca, sisteminden Hesap EriÅim İzni kaynaklarını da temizlemelidir. \nSöz konusu silme iÅlemi, kayıtların statüsünün pasife çekilmesi ile gerçekleÅtirilmelidir. Söz konusu kayıtlar, denetim izlerinin oluÅturulması ve saklanmasına iliÅkin ikincil düzenleme hükümleri kapsamında güvenli Åekilde tutulmalıdır. \nServis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır. \nÃHK rızası baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ olarak güncellenir ve gnclZmn zaman damgası vurularak güncellenir. \nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir: \nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (HBHS) \n 7.5 ADIM 3: Hesap Bilgilerinin Alınması \n \n \n \n Åekil 14: Hesap Bilgilerinin Alınması \n İSTEK: \nMüÅteri rızası tesis edilmiÅ kullanıcı için HBHS API eriÅim adresinden HHSâye eriÅilebilir hesap bilgilerini GET isteÄi ile sorgular: \n \n RizaDurumu âYetki Kullanıldıâ ise iÅleme baÅlanır. RizaDurumu farklı bir deÄerde ise âTR.OHVPS.Resource.ConsentMismatchâ hatasının iletilmesi gerekir. \n GET verisinin modele göre kontrolü yapılır (ÃrneÄin: Alan kontrolleri) \n \n GET verisinin mantıksal kontrolleri yapılır. \n \n \n Hesap bilgisi rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinden herhangi bir hesabın kapatılması ya da pasife alınması durumunda YÃS tarafından yapılan hesap isteÄine HHS tarafından hesap bilgisi dönülmelidir. \n \n \n Kapalı hesap için TR.OHVPS.DataCode.HspDrm veri türünden KAPALI deÄeri ile, pasif hesap için TR.OHVPS.DataCode.HspDrm veri türünden PASIF deÄeri ile dönülmelidir. \n 7.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması \n GET /hesaplar ve GET /hesaplar/{hspRef} \n Bu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bilgilerinin sorgulanır. Hesap bilgisi için daha önce tanımlanmıŠizin türüne göre (Temel Hesap Bilgisi veya Detaylı Hesap Bilgisi) yanıtında dönülen HesapBilgileri nesnesinin içeriÄi deÄiÅir. Tablo 15âte HesapBilgileri nesnesinin içeriÄi verilmiÅtir. \n Hesap Bilgisi Sorgu ÃrneÄi (Tüm Hesaplar) = /hesaplar \nHesap Bilgisi Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef} \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 14: Hesap Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden bü
16yük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarası \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 15: âHesapBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızası nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Hesap Temel \n hspTml \n Kompleks: HesapTemel \n Z \n Temel Hesap Bilgileri (Temel Hesap Bilgisi varsayılan izin türü olduÄundan Hesap Temel nesnesi zorunlu olarak yanıtta bulunur) \n \n \n > Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hspRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n > Hesap Numarası \n hspNo \n AN26 \n K \n EÄer varsa ödeme hesabına ait IBAN bilgisi \n \n \n > Hesap Sahibi Unvanı \n hspShb \n AN3..140 \n Z \n Hesap sahibi ya da hesap sahiplerinin ad-soyadı, ticari unvanı \n \n \n > Åube Adı \n subeAdi \n AN3..50 \n K \n EÄer varsa ödeme hesabının baÄlı olduÄu Åubenin adı \n \n \n > Kısa Ad \n kisaAd \n AN3..50 \n K \n EÄer hesap sahibi hesaba ait bir ad tanımladıysa, tanımlanan hesap adı \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. \n \n \n > Hesap Türü \n hspTur \n AN1 \n Z \n Hesabın türü (bireysel veya ticari). TR.OHVPS.DataCode.HspTur sırali veri deÄerlerinden birini alır. \n \n \n > Hesap Tipi \n hspTip \n AN1..32 \n Z \n Hesabın tipi (VADESİZ, KREDİLİ vb.).TR.OHVPS.DataCode.HspTip sıralı veri deÄerlerinden birini alır. \n \n \n >Hesap Ãrün Adı \n hspUrunAdi \n AN1..140 \n İ \n HHS tarafından atanmıŠolan ürün adı bilgisidir. HBHS tarafından ÃHKâya gösterilmesi kullanım kolaylıÄı saÄlayacaktır. \n \n \n > Hesap Durumu \n hspDrm \n AN5..50 \n Z \n Hesabın durumunu belirtir. TR.OHVPS.DataCode.HspDrm sıralı veri türlerinden birini alır. \n \n \n Hesap Detay \n hspDty \n Kompleks: HesapDetay \n K \n Detay Hesap Bilgileri (Temel Hesap Bilgisine ek olarak Detay Hesap Bilgisi izin türü de seçilmiÅse Hesap Detay nesnesi koÅullu olarak yanıtta bulunur) \n \n \n > AçılıŠTarihi \n hspAclsTrh \n ISODateTime \n Z \n Belirtilen hesabın açılıŠtarihi. \n 7.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması \n GET /bakiye ve GET /hesaplar/{hspRef}/bakiye \nBu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bakiyesi sorgulanır. \nİstek çaÄrısına dönülen âBakiyeBilgileriâ nesnesi Tablo 17âde verilmiÅtir. \n Hesap Bilgisi Rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinde yer alan hesaplardan kapatılmıŠya da pasif duruma alınmıŠolan hesaplar için bakiye isteÄi yapıldıÄında HHS tarafından bakiye bilgisi dönülmelidir. \n Hesap bakiyelerinin gösterilmesi sırasında aÅaÄıda verilen örnekler gözönünde bulundurulmalıdır. \n Ãrnek 1 : ÃHK Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 0 deÄerini içeriyorsa, Hesap Bakiye Tutarı -1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 2 : ÃHK Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 1 deÄerini içeriyorsa, Hesap Bakiye Tutarı 2000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 3 : ÃHK Hesap Bakiye Tutarı 1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 0 deÄerini içeriyorsa, Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 4 : ÃHK Hesap Bakiye Tutarı 1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 1 deÄerini içeriyorsa, Hesap Bakiye Tutarı 3000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /bakiye?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 16: âBakiyeBilgileriâ Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden bü
16yük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 17: âBakiyeBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hspRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n Bakiye \n bky \n Kompleks:Bakiye \n Z \n \n \n \n > Hesap Bakiye Tutarı \n bkyTtr \n AN1..25 \n Z \n Hesabın bakiyesi. Bloke tutar düÅülmeden iletilmelidir. Tutar alanı regex patterni Åu Åekildedir: '^-?\\d{1,18}$|^-?\\d{1,18}\\.\\d{1,5}$' \n \n \n > Blokeli Tutar \n blkTtr \n AN1..24 \n K \n Varsa hesapta blokeli tutar bilgisi. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n > Bakiye İletilme Zamanı \n bkyZmn \n ISODateTime \n Z \n Bakiyenin iletildiÄi zaman bilgisi. \n \n \n > KrediliHesap \n krdHsp \n Kompleks: KrediliHesap \n K \n \n \n \n >> Kredili Mevduat Hesabı Bakiyesi \n kulKrdTtr \n AN1..24 \n Z \n Kredili mevduat tutarı. Kredili bir hesap ise zorunlu. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n >> Kredi Dahil Göstergesi \n krdDhlGstr \n AN1 \n Z \n Kredili bir hesap ise zorunlu. Bakiye tutarının kredi tutarı dahil edilerek ya da edilmeden iletildiÄini gösterir. 0: Kredi tutarı dahil edilmeden bakiye bilgisi iletilmesi durumu 1: Kredi tutarı dahil edilerek bakiye bilgisi iletilmesi durumu \n 7.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması \n GET /hesaplar/{hspRef}/islemler \n Belirli bir hesaba iliÅkin iÅlem bilgileri Tablo 1âdaki istek parametrelerine göre sorgulanır. \nHesap Bilgisi Rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinde yer alan hesaplardan kapatılmıŠya da pasif duruma alınmıŠolan hesaplar için iÅlemler isteÄi yapıldıÄında HHS tarafından iÅlemler bilgisi dönülmelidir. \nİÅlem bilgisi için daha önce tanımlanmıŠizin türüne göre yanıtta dönen IslemBilgileri nesnesinin (Temel İÅlem Bilgisi veya Temel İÅlem Bilgisi ve Detaylı İÅlem Bilgisi) içeriÄi deÄiÅir. \nİÅlemler servisi hem ÃHKânın talebi ile YÃS uygulaması üzerinden çaÄrılabileceÄi gibi, YÃSâün ÃHKâsız baÅlatabileceÄi otomatik çaÄrıları ile de yanıt dönebilmektedir. \nHHS, iÅlemin sistemsel yapılıp yapılmadıÄını, istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir.\nÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \nYÃS, otomatik yapacaÄı sorgularda; \n \n Bireysel ÃHKâlar için hesap bazında günde en fazla 4 adet baÅarı ile sonuçlanan sorgulama yapabilir. \n Kurumsal ÃHKâlar için hesap bazında saatte en fazla 12 adet baÅarı ile sonuçlanan sorgulama yapabilir. \n \n HHS, tutacaÄı sayaç bilgisi ile bu sayıları kontrol ederek daha fazla sorgulama yapılmasına izin vermeyebilir. \n Aynı istek parametreleri ile yapılan sorgu sonucunda dönecek toplam kayıt sayısı 100âü aÅtıÄında, sayfalama yöntemi ile HHSânin cevap dönmesi beklenmektedir. Her bir sayfa için iÅlemler servisi tekrar çaÄrılsa da, bu çaÄrım HHSânin tuttuÄu sayaç deÄerini arttırmaz. HHSânin tutacaÄı sayaçın kontrol parametreleri YÃS kodu, hesap numarası ya da referansı olmalıdır. Sayfa no parametresi varsa ve 1'den büyük ise iÅlem sayacını arttırmamalıdır. \n ÃHKânın YÃS uygulaması üzerinden tetiklediÄi iÅlemlerde ise;\nbireysel ÃHKâlar için en fazla 1 aylık,\nkurumsal ÃHKâlar için ise en fazla 1 haftalık bir pencere aralıÄında sorgulama yapılabilir. \n YÃS, otomatik yapacaÄı sorgularda hem bireysel hem de kurumsal ÃHKâlar için 24 saatlik bir pencere aralıÄında sorgulama yapabilir. \n Yeni günün baÅlangıç saatinin 00:00:00 olduÄu kabul edilmiÅtir. \n Sorgu örnekleri aÅaÄıdaki gibidir: \n 1 günlük İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-06-02T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n \n 1 haftalık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-06-08T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-02-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-03-01T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-01-31T00:00:00+03:00&\nhesapIslemBtsTrh=2020-02-28T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-02-28T00:00:00+03:00&\nhesapIslemBtsTrh=2020-03-28T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 24 saatlik pencerede yapacaÄı sistemsel sorgu örneÄi (Son sorgusunun üzerine 24 saat eklenmesi) =\n/hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T14:10:08+03:00&\nhesapIslemBtsTrh=2020-06-02T14:10:08+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n Ãnyüzden alınan sorgu parametreleri ile oluÅturulan sorgu örneÄi (Ãrnek sorgu tarih aralıÄı 20.02.2023- 25.02.2023 arasındadır) =\n/hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2023-02-20T00:00:00+03:00&\nhesapIslemBtsTrh=2023-02-26T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n Tablo 18: İÅlem Listesi Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin baÅlangıç tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. ÃHK tarafından tetiklenen sorgularda;hesapIslemBslTrh ve hesapIslemBtsTrh arası fark bireysel ÃHKâlar için en fazla 1 ay,kurumsal ÃHKâlar için ise en fazla 1 hafta olabilir. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;son 24 saat sorgulanabilir. Bu yüzden hesapIslemBtsTrh-24 saatâten daha uzun bir aralık sorgulanamaz olmalıdır. İstek baÅlıÄında yer alan PSU-Initiated alanı âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n \n \n İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin bitiÅ tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;İleri vadeli iÅlem emirleri dahil olmadıÄı için (Sürüm 1.0.2 kapsamında); İÅlem Sorgulama BitiÅ Zamanı, her zaman, sorgulama zaman damgasını iletecek Åekilde (datetime (now)) iletilebilir. \n \n \n En DüÅük İÅlem Tutarı \n minIslTtr \n AN1..24 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en düÅük iÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n En Yüksek İÅlem Tutarı \n mksIslTtr \n AN1..24 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en yüksek iÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Borç Alacak Göstergesi \n brcAlc \n AN1 \n İ \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Hesaba borç yaratan iÅlem.A: Hesaba alacak yaratan iÅlem.{âBâ,âAâ} \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden bü
16yük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âislGrckZamanâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini islGrckZaman olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 19: âIslemBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referans Numarası \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hspRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n Islemler \n isller \n Kompleks:Islem[Array] \n K \n Hesaba iliÅkin hareketler varsa İÅlemler nesnesi dizisi olarak dönülür. İÅlemler nesnesi Temel İÅlem Bilgileri ve Detay İÅlem Bilgileri nesnesinden meydana gelir. İzin türü varsayılan olarak Temel İÅlem Bilgilerini içerir. Detay İÅlem Bilgileri izin türü de seçildi ise Temel İÅlem Bilgilerine ek olarak Detay İÅlem Bilgileri de gönderilir. \n \n \n > Temel İÅlem Bilgileri \n islTml \n Kompleks:IslemTemel \n Z \n Temel İÅlem Bilgileri varsayılan olarak dönülür. \n \n \n >> İÅlem Numarası \n islNo \n AN3..50 \n Z \n Hesap hareketinin oluÅturulması sırasında atanan ve borç (veya alacak) hareketini tekilleÅtiren HHS bazında tekil tanımlayıcıdır. Bu deÄer tek baÅına tekil olabileceÄi gibi birden fazla deÄerin bir araya getirilmesiyle de tekilliÄi saÄlanmıŠolabilir. Bu deÄerin en azından hesap numarası (hesNo) bazında tekil olması beklenir. Genellikle kullanılan örnekleri; Instance_Id, Transaction_Id, Transaction_Num, Transaction_TimeStamp,dekont numarası \n \n \n >> İÅlem Referans Numarası \n refNo \n AN3..50 \n Z \n İÅlemi uçtan uca tanımlayan tekil tanımlayıcıdır. Borç ve alacak hareketinden oluÅan bir veya birden fazla iÅlemler bütünü için atanmıŠolan ve bu bütünü tekilleÅtiren (bir biri ile iliÅkisini tutan) deÄerdir.Bu deÄer hem YÃSâten gelen deÄer olabilir (ödeme iÅlemlerinde kullanılan kkodRef ya da refBlg alanı) hem de HHS içinde takip edilmek için üretilmiÅ bir deÄer olabilir. HHS sisteminde 2 deÄerin de bulunması durumunda;refNo alanını doldurmak için, HHSânin YÃSâten gelen deÄere öncelik vermesi beklenmektedir. YÃSâten gelen veri örneÄi: SipariÅ Numarası, Fatura Numarası, Karekod Referansı vb. HHSâte üretilen veri örneÄi: Masraflı havale iÅleminde hem havale iÅleminin hem de masraf iÅleminin aynı referans numarasına sahip olması da örnek olarak gösterilebilir. \n \n \n >> İÅlem Tutarı \n islTtr \n AN1..24 \n Z \n İÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n >> Güncel Bakiye Tutarı \n gnclBky \n AN1..25 \n Z \n İÅlem sonrası güncel bakiye bilgisi tutarı. Tutar alanı regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n >> İÅlem GerçekleÅme Zamanı \n islGrckZaman \n ISODateTime \n Z \n İÅlemin gerçekleÅme zamanı. \n \n \n >> İÅlem Kanalı \n kanal \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeKaynak sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Borçlandırma Alacaklandırma Göstergesi \n brcAlc \n AN1 \n Z \n TR.OHVPS.DataCode.BrcAlc sıralı veri türü deÄerlerinden birini alır. İÅlemin hesabı borç ya da alacaklandırdıÄı bilgisidir. \n \n \n >> İÅlem Türü \n islTur \n AN3..50 \n Z \n HHSânin iÅleme ait iliÅkilendirdiÄi iÅlem türü deÄeri. TR.OHVPS.DataCode.IslemTuru sıralı veri türü deÄerlerinden birini alır. \n \n \n >> İÅlem Amacı \n islAmc \n AN2 \n Z \n TR.OHVPS.DataCode.IslemAmaci sırali veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Ãdeme Sistemi No \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. Havale/FAST/PÃS ödeme yöntemleri için tarih alanı yyyy-aa-gg formatında 10 karakter olarak
16iletilmelidir. \n \n \n > Detay İÅlem Bilgileri \n islDty \n Kompleks: IslemDetay \n K \n Detay İÅlem Bilgileri dizi olarak gönderilmelidir. \n \n \n >> İÅlem Açıklaması \n islAcklm \n AN1..200 \n Z \n HHS tarafından atanan iÅlem açıklaması. HHS kendi iÅlem hareketlerine yansıttıÄı açıklamayı buraya yansıtmalıdır. HHS'ler tüm hesap hareketlerini YÃS'ler ile paylaÅmakla yükümlü olup, hassas veri içeren(örn: faiz, komisyon bilgisi içeren vb.) iÅlem hareketleri de bu kapsamda deÄerlendirilerek iÅlem açıklamasının maskeli olarak iletilmesi saÄlanır. Kelimelerin ilk 3 hanesi maskeli olacak Åekilde, ancak sakıncalı bulunan kelimeler varsa; (örn: faiz, komiyon vb.) kelimelerin tamamı maskeli olacak Åekilde gösterilebilir. \n \n \n >> KarÅı Taraf \n krsTrf \n Kompleks: KarsiTaraf \n K \n Kullanımı iÅlem bazında deÄiÅmektedir. Ãrnek: FAST iÅleminde karÅı taraf alıcının bilgileridir. Vergi ödemesinde kurum IBAN bilgisi müÅteriye gösterilemeyebileceÄinden bu alanın boÅ gelmesi HHS insiyatifindedir. \n \n \n >>> KarÅı Maskeli IBAN \n krsMskIBAN \n AN26 \n K \n İlgili hesap hareketinin karÅı tarafının maskeli IBAN bilgisi. \n \n \n >>> KarÅı Unvan \n krsMskUnvan \n AN3..140 \n K \n İlgili hesap hareketinin karÅı tarafının ad-soyad ya da ticari unvan bilgisi.Unvan bilgisi maskelenmeden iletilmelidir. \n \n \n >>> KarÅı Taraf Kimlik Bilgisi \n krsKimlikVrs \n AN1..11 \n İ \n HHS sorumluluÄunda YÃS ile paylaÅılan KarÅı Taraf Kimlik Bilgisi(Kimlik/Kurum Kimlik - TCKN/VKN) \n \n \n \n"},{title:"2.Kapsam ve Dayanak",frontmatter:{},regularPath:"/v1.1.0/contents/kapsam-ve-dayanak.html",relativePath:"v1.1.0/contents/kapsam-ve-dayanak.md",key:"v-9e25e106",path:"/v1.1.0/contents/kapsam-ve-dayanak.html",content:" 2.Kapsam ve Dayanak \n 12 Kasım 2019âda güncellenen â 6493 sayılı Ãdeme ve Menkul Kıymet Mutabakat Sistemleri, Ãdeme Hizmetleri ve Elektronik Para KuruluÅları Hakkında Kanun âun (Kanun) 12ânci maddesine yeni eklenen ve Ãdeme Hizmetleri Direktifi 2 'de (Payment Services Directive 2, PSD2) bulunan iki yeni ödeme hizmeti aÅaÄıdaki gibi tanımlanmıÅtır (Åekil-1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri): \n \n Ãdeme Emri BaÅlatma Hizmeti : ÃHKânın isteÄi üzerine baÅka bir ödeme hizmeti saÄlayıcısında bulunan ödeme hesabıyla ilgili sunulan ödeme emri baÅlatma hizmeti [Madde 12, birinci fıkra, (f) bendi] \n Hesap Bilgisi Hizmeti : ÃHKânın onayının alınması koÅuluyla, ÃHKânın ödeme hizmeti saÄlayıcıları nezdinde bulunan bir veya daha fazla ödeme hesabına iliÅkin konsolide edilmiÅ bilgilerin çevrim içi platformlarda sunulması hizmeti [Madde 12, birinci fıkra, (g) bendi] \n \n \n Åekil 1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS)- tanıtım \n Kanunun 14/A maddesinin ikinci fıkrasına göre , Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetleri ile ilgili iÅlemlerin yürütülmesine iliÅkin usul ve esaslar ile taraflarca uyulması gereken teknik ve operasyonel gereklilikler ikincil düzenlemeler uyarınca Türkiye Cumhuriyet Merkez Bankası (TCMB) tarafından belirlenir. Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri ödeme hizmetleri veri paylaÅım servisleri (ÃHVPS) olarak adlandırılmaktadır. \n Ãdeme Hizmetleri ve Elektronik Para İhracı ile Ãdeme Hizmeti SaÄlayıcıları Hakkında Yönetmelikâin (Yönetmelik) 59âuncu maddesinin birinci fıkrası uyarınca hazırlanan bu belgede söz konusu ödeme hizmetlerini sunacak ödeme hizmeti saÄlayıcısının, ödeme hesabının bulunduÄu ödeme hizmeti saÄlayıcısının, varsa ilgili diÄer tarafların ve bu hizmetlerin sunulması için taraflar arasında kurulacak baÄlantının teknik ve operasyonel gereklilikleri açıklanmaktadır. \n Düzenlemeler kapsamında yetkilendirilen üçüncü taraf hizmet saÄlayıcısı (Yetkili Ãdeme Hizmeti SaÄlayıcısı, YÃS) , ödeme hizmeti kullanıcılarının Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki ödeme hesaplarına ulaÅarak ödeme emri baÅlatma ve hesap bilgisi saÄlama hizmetlerinden (ödeme hizmetleri veri paylaÅım servislerinden) faydalanmasına aracılık eder. Ãdeme hizmetleri veri paylaÅım servisleri kapsamında iki tip YÃS bulunmaktadır: 1) Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ve 2) Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS). \n Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ÃHKânın farklı Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki hesaplarının bilgilerini derleyerek çevrim içi platformlarda toplu Åekilde sunar. Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS) ise talebi üzerine ÃHKânın HHSâde bulunan ödeme hesabından ödeme iÅlemi baÅlatır. \n ÃHVPSânin üst düzey gösterimi Åekil-2âde verilmiÅtir. \n \n Åekil 2: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS) -üst düzey gösterim \n Ãdeme Hizmetleri Veri PaylaÅım Servislerinin HHSâler tarafından GEÃİT vasıtasıyla sunulduÄu uygulama mimarisi ise Åekil-3âte sunulmuÅtur. \n \n Åekil 3: ÃHVPS'nin GEÃİT vasıtasıyla sunumu \n"},{title:"10.\tOlay Bildirim",frontmatter:{},regularPath:"/v1.1.0/contents/olay-bildirim.html",relativePath:"v1.1.0/contents/olay-bildirim.md",key:"v-206455c6",path:"/v1.1.0/contents/olay-bildirim.html",headers:[{level:2,title:"Genel Bilgiler",slug:"genel-bilgiler"},{level:2,title:"Olay Abonelik Servisleri (OAS)",slug:"olay-abonelik-servisleri-oas"}
16,{level:2,title:"ADIM 1: Olay AboneliÄinin gerçekleÅtirilmesi",slug:"adim-1-olay-aboneliginin-gerceklestirilmesi"},{level:2,title:"ADIM 2: Olay AboneliÄinin güncellenmesi",slug:"adim-2-olay-aboneliginin-guncellenmesi"},{level:2,title:"ADIM 3: Olay AboneliÄinin sorgulanması",slug:"adim-3-olay-aboneliginin-sorgulanması"},{level:2,title:"ADIM 4: Olay AboneliÄinin iptali",slug:"adim-4-olay-aboneliginin-iptali"},{level:2,title:"ADIM 5: Olay AboneliÄinin İletilemeyen Olayları",slug:"adim-5-olay-aboneliginin-iletilemeyen-olayları"},{level:2,title:"ADIM 6: Sistem Olay Dinleme",slug:"adim-6-sistem-olay-dinleme"},{level:2,title:"Olay Dinleme Servisleri (ODS)",slug:"olay-dinleme-servisleri-ods"},{level:2,title:"ADIM 1: Olay Dinleme",slug:"adim-1-olay-dinleme"},{level:2,title:"ADIM 2: Sistem Olay Dinleme",slug:"adim-2-sistem-olay-dinleme"}],content:" 10.\tOlay Bildirim \n Genel Bilgiler \n Olay Bildirim Abonelik API servisleri, HHS'lerin sunmuÅ oldukları olay bildirimlerini takip etmek amacıyla abonelik akıÅlarını tanımlar. \n YÃS'ler olay bildirimlerini takip edebilmek için talep ettikleri abonelik hizmetlerini belirterek HHS'ler özelinde bir abonelik kaydı oluÅtururlar. Bu abonelik kaydını okuyabilir, güncelleyebilir ya da silebilirler. \n Olay bildirimleri HHS'ler tarafından 2 yöntem ile saÄlanır. İlki olay bildirimlerinin anlık olarak iletilmesi, diÄeri ise anlık iletilemeyen olayların toplu olarak iletilmesidir. \n Olay Bildirimi 2 API ile yönetilecektir. \n 1 - Olay Abonelik Servisleri (OAS) \n2 - Olay Dinleme Servisleri (ODS) \n Olay Abonelik ve Olay Dinleme API'lerinin istek ve yanıt baÅlıÄında beklenen parametreler ÃBH,HBH,GKD API'lerinden farklıdır.\n 3.15. İstek BaÅlıÄı ve 3.16. Yanıt BaÅlıÄı bölümlerinde zorunlu parametreler ve açıklamaları belirtilmiÅtir. \n Olay Abonelik Servisleri (OAS) \n Olay abonelik Servisleri; HHS'ler tarafından sunulacak olay bildirim abonelik servislerini ve iletilemeyen olaylar servisini içermektedir. \n HHS'nin sunacaÄı bu API ile YÃS'ler Åu adımları gerçekleÅtirebilir. \n \n YÃS'ün olay bildirimlerini dinleyebilmek için öncelikle dinlemek istediÄi olaylara ait olay tipleri ve kaynak tiplerini belirlemesi gerekmektedir. \n Olay tipleri ve kaynak tiplerinin neler olacaÄı \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda belirtilmiÅtir. \n YÃS, belirlediÄi olaylar için HHS'ye olay abonelik endpointi aracılıÄı ile abonelik baÅlatır. \n YÃS, abonelik numarası aracılıÄı ile abonelik bilgilerini görüntüleyebilir, güncelleyebilir, silebilir. \n YÃS, olay bildirimlerini bu abonelik sayesinde kendisinin sunacaÄı Olay Dinleme API'si ile dinler. \n HHS anlık iletemediÄi olaylarını biriktirerek, iletilemeyen olaylar endpointi ile YÃS'e sunar. \n \n HHS'ler \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda belirlenen olay ve kaynak tiplerinin tümü için YÃS'lere bildirim sunmak zorundadır. \n Olay Abonelik Servislerinde Idempotency kurallarının iÅletilmesine gerek bulunmamaktadır. \n Nezdinde ödeme hesabı bulunduran bazı hesap hizmeti saÄlayıcılar(EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları, diÄer HHS'lerdeki havuz hesaplarını kullanarak yönetiyor olabilir. Bu durum ilgili hesap hizmeti saÄlayıcılarının, ÃHVPS kapsamında HHS olduÄu rolde sunması gereken olay bildirim servisleri ile ilgili uyması gereken kuralları deÄiÅtirmemektedir. İlgili hesap hizmeti saÄlayıcılarının standartlara uygun Åekilde YÃS'lere bildirimleri yapması gerekmektedir. \n YÃS'ler sahip oldukları rol özelinde olay abonelik servislerinden faydalanabilir. Bu yüzden olay bildirim etki alanı (scope) deÄerleri hesap_bilgisi ve/veya odeme_emri olarak belirlenmiÅtir. \n Olay Abonelik Servisine ait API Endpointleri aÅaÄıdaki tabloda listelenmiÅtir. \n Olay Abonelik Servisleri için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âhesap_bilgisiâ \"odeme_emri\" \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n olay-abonelik \n POST \n /olay-abonelik \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n OlayAbonelikİstegi \n OlayAbonelik \n \n \n 2 \n olay-abonelik \n GET \n /olay-abonelik \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n
16- \n OlayAbonelik \n \n \n 3 \n olay-abonelik/{olayAbonelikNo} \n PUT \n /olay-abonelik/{olayAbonelikNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n OlayAbonelik \n OlayAbonelik \n \n \n 4 \n olay-abonelik/{olayAbonelikNo} \n DELETE \n /olay-abonelik/{olayAbonelikNo} \n Z \n İstemci Kimlik Bilgileri \n - \n - \n - \n - \n \n \n 5 \n olay-abonelik/{olayAbonelikNo}/iletilemeyen-olaylar \n GET \n /olay-abonelik/{olayAbonelikNo}/iletilemeyen-olaylar \n Z \n İstemci Kimlik Bilgileri \n - \n Sayfalama \n \n Olaylar \n \n \n 6 \n sistem-olay-dinleme \n POST \n sistem-olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n - \n - \n Olaylar \n - \n ADIM 1: Olay AboneliÄinin gerçekleÅtirilmesi \n POST /olay-abonelik \n HHS'nin olay abonelik hizmeti sunduÄu servistir.\nYÃS, seçeceÄi olay-kaynak tipleri için bu servis aracılıÄı ile abone olabilir. HHS POST iÅlemi sonucunda, YÃS adına bir olay abonelik kaynaÄı oluÅturur ve tekil tanımlayıcı olan olayAbonelikNo deÄerini döner. olayAbonelikNo üretilirken farklı YÃS'ler için aynı deÄer kullanılamaz. olayAbonelikNo evrensel tekil olmalıdır. \n1 YÃS'ün 1 HHS'de 1 adet abonelik kaydı olabilir. \nBaÅarılı POST isteÄi sonucu HTTP 201 cevabı ile iletilmelidir. \n YÃS tarafından daha önce oluÅturulmuÅ olay abonelik kaydı varsa \"HTTP 400 -TR.OHVPS.Business.InvalidContent -Kaynak ÃakıÅması\" hatasıyla uyarı mesajını döner. \n Olay Abonelik kaydı oluÅturmak isteyen YÃS'ün ODS API tanımı HHS tarafından kontrol edilmelidir. YÃS'ün tanımı olmaması halinde \"HTTP 400-TR.OHVPS.Business.InvalidContent\" hatası verilmelidir. \n Olay Abonelik kaydı oluÅturmak isteyen YÃS tarafından olay tipi ve kaynak tipi için iletilen deÄerler olması gereken sıralı veri tülerinden(TR.OHVPS.DataCode.OlayTip ve TR.OHVPS.DataCode.KaynakTip) farklı ise HHS tarafından \"HTTP 400-TR.OHVPS.Resource.InvalidFormat\" hatası verilmelidir. \n Abonelik üzerinde görüntüleme, güncelleme, silme iÅlemlerini gerçekleÅtirebilir.\nYÃS'ün AboneliÄi devam ettiÄi sürece; YÃS'ün açacaÄı Olay Dinleme API'sine, HHS tarafından abonelik kapsamında olay bildirimleri iletilir. \n BKM'nin sunacaÄı abonelik servisleri için HHS ve YÃS'lerin abonelik isteÄi yapmasına gerek bulunmamaktadır. BKM üretim ortamı tanımları yapılırken katılımcıları abonelik servislerine üye yapacaktır. BKM'nin sunacaÄı abonelik servislerinin olay tipi \"HHS_YOS_GUNCELLENDI\"dir. HHS ve YÃS API ile sunulan bilgilerde bir deÄiÅiklik olduÄunda yapılacak olay bildirimlerini saÄlar.\nÃrneÄin; HHS logo bilgilerinde yapılacak bir deÄiÅiklik sonrasında, YÃS'lere yapılacak bildirim ile logo bilgisini deÄiÅen HHS'nin hhsKod deÄerini iletir. YÃS, HHS API'yi hhsKod ile çaÄırarak HHS'nin güncel bilgilerini alır. Güncel bilgiler ile kendi sistemini günceller. \n OlayAbonelikIstegi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n \n \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n YÃS abone olmak istediÄi olay tiplerini TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄer ya da deÄerler ile doldurur. \n \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda \"Olay Bildirim Yapan\" kolonu \"HHS\" olan olay tipleri ile veri giriÅine izin verilir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n Olay tiplerinin tanımlanabildiÄi kaynak listesi bulunmaktadır. Bu listeye uygun kaynak tipleri iletilmelidir. \n HHS, YÃS API üzerinden YÃS'ün rollerini alarak uygun kaynak tiplerine kayıt olmasını saÄlar. \n \n \n \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası iletilebilir. İlk deÄeri olay abonelik oluÅturma zamanı bilgisidir. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n \n \n \n \n Olay Tipleri ve Kaynak Tipleri İliÅkisi \n * Anlık : Olay gerçekleÅtikten sonra maksimum 5 saniye içerisindeki zaman \n \n \n \n Olay Tipleri \n YÃS Rolü \n Kaynak Tipleri \n Olay OluÅturulma durumu \n KaynakNo \n Asıl verinin elde edileceÄi API \n Olay Bildirimini Yapan \n Olay Bildirim Zamanı \n Retry Policy \n \n \n \n \n KAYNAK_GUNCELLENDI \n ÃBH \n ODEME_EMRI \n Tüm ödeme durum deÄiÅikliklerinde \n odemeEmriNo \n GET /odeme-emri/{odemeEmriNo} \n HHS \n Anlık \n 30 Dakika - 3 Deneme \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n Rıza iptal detay kodu â02â : Kullanıcı İsteÄi ile HHS üzerinden İptal durumunda \n RizaNo \n GET /hesap-bilgisi-rizasi/{RizaNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n HBH \n BAKIYE \n Bakiye nesnesindeki tutarla ilgili bir bilgi deÄiÅtiÄinde ve HBH rızası içerisinde \"06-Anlık Bakiye Bildirimi\" izin türü varsa oluÅturulur. Mevcutta alınmıŠrızalar için bakiye kaynak tipi özelinde 06 izin türü gerektiÄinden; mevcut rızanın yenilenmesine dair müÅteriye bilgilendirme yapılarak 06 izin türünü kapsayan yeni rıza alınması süreci YÃS tarafından gerçekleÅtirilebilir. Bloke tutar deÄiÅikliÄi için olay oluÅturma ve bildirimi HHS inisiyatifindedir. KrdHsp içerisinde yer alan kulKrdTtr deÄerinin deÄiÅtiÄi durumda olay bildirim gönderilmesi gerekmektedir. \n hspRef \n GET /hesaplar/{hspRef}/bakiye, GET /hesaplar/{hspRef}/islemler \n HHS \n Maksimum 10 dakika içerisinde \n Retry policy uygulanmamalıdır. İlk istek gönderilemediÄi durumda İletilemeyen Olaylara eklenmelidir. \n \n \n \n HBH \n COKLU_ISLEM_TALEBI ( bulk-data) \n İlgili API İlke ve kurallarına eklendiÄinde güncellenecektir. \n \n \n HHS \n \n 30 Dakika - 3 Deneme \n \n \n AYRIK_GKD_BASARILI \n ÃBH \n ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}}&rizaTip=O \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}&rizaTip=H \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n AYRIK_GKD_BASARISIZ \n ÃBH \n ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /odeme-emri-rizasi/{RizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /hesap-bilgisi-rizasi/{RizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n HHS_YOS_GUNCELLENDI \n \n \n BKM sistemi tarafından üretilecek olayları dinlemek için kullanılacak kaynak tipidir. YÃS ve HHS'lerin BKM'ye abonelik oluÅturmasına gerek bulunmamaktadır. BKM HHS ve YÃS üretim ortamı tanımı yaparken aboneliklerini baÅlatacaktır. (HHS yaygınlaÅtırma durumundayken de aboneliÄi baÅlatılacaktır.) \n \n \n HHS \n \n \n \n \n \n YÃS \n HHS \n HHS bilgilerinde deÄiÅiklik olduÄunda, YÃS'ün hhsKod ile sorgulama yapması ve deÄiÅen bilgiyi güncellemesi beklenmektedir. \n hhsKod \n GET /hhs/{hhsKod} \n BKM \n *Anlık \n 5 Dakika - 3 Deneme \n \n \n \n HHS \n YOS \n YÃS bilgilerinde deÄiÅiklik olduÄunda, HHS'nin yosKod ile sorgulama yapması ve deÄiÅen bilgiyi güncellemesi beklenmektedir. \n yosKod \n GET /yos/{yosKod} \n BKM \n *Anlık \n 5 Dakika - 3 Deneme \n \n \n \n * Anlık : Olay gerçekleÅtikten sonra maksimum 5 saniye içerisindeki zaman \n ADIM 2: Olay AboneliÄinin güncellenmesi \n PUT\tolay-abonelik/{olayAbonelikNo} \n YÃS'ün olay aboneliÄine ait abonelik tiplerini güncelleyebildiÄi servistir. Olay aboneliÄi oluÅturulduÄu zaman HHS tarafından iletilen olayAbonelikNo aracılıÄı ile güncelleme iÅlemi yapılır. YÃS abone olmak istediÄi olay-kayıt tiplerininin son halini güncelleme servisi ile HHS'ye iletir. HHS bu bilgilerle eski abonelik tiplerinin yerini deÄiÅtirir. \n BaÅarılı PUT isteÄi sonucu HTTP 200 cevabı ile iletilmelidir. \n OlayAbonelikIstegi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n HHS geçerli bir olay abonelik numarası olduÄunun kontrolünü yapar. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n HHS Sisteminde, YÃS'ün eski abonelikleri yeni aboneliklerle güncellenmelidir. \n \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n YÃS abone olmak istediÄi olay tiplerini TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄer ya da deÄerler ile doldurur. \n \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda \"Olay Bildirim Yapan\" kolonu \"HHS\" olan olay tipleri ile veri giriÅine izin verilir. Olay tipi AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ için, YÃS'ün ODS API'yi sunması zorunludur. HHS, bu olay tipleri özelinde YÃS API üzerinden YÃS'ün bu API'yi sunduÄunu kontrol eder ve eÄer sunmuyor ise TR.OHVPS.Business.InvalidContent hatası dönerek kayıt iÅlemini gerçekleÅtirmez. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n Olay tiplerinin tanımlanabildiÄi kaynak listesi bulunmaktadır. Bu listeye uygun kaynak tipleri iletilmelidir. \n HHS, YÃS API üzerinden YÃS'ün rollerini alarak uygun kaynak tiplerine kayıt olmasına izin verir. \n \n \n \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n ADIM 3: Olay AboneliÄinin sorgulanması \n GET /olay-abonelik \n YÃS olay abonelik bilgilerini sorgulamak isteyebilir. HHS, YÃS'e ait aktif durumdaki abonelik bilgisini iletir.\nBaÅarılı GET sonucu HTTP 200 kodu ile iletilmelidir. \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n YÃS'ün abone olduÄ
16u olay - kaynak listesini döner. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄerler içerir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden deÄerler içerir. \n ADIM 4: Olay AboneliÄinin iptali \n DELETE /olay-abonelik/olayAbonelikNo \n YÃS'ün abonelik kaydını silmesi için HHS'nin sunduÄu servistir. BaÅarılı silme iÅlemi sonucu HTTP 204 ile YÃS'e iletilir. \n ADIM 5: Olay AboneliÄinin İletilemeyen Olayları \n GET /iletilemeyen-olaylar \n HHS kaynaklar üzerinde oluÅacak olayları YÃS'e POST/olay-dinleme servisi ile gönderim saÄlamaktadır. Bu gönderim belli bir yeniden gönderim politası (retry-policy) ile yapılmalıdır. Ancak yine de iletilemeyen olaylar olursa (YÃS servisinden HTTP 202 alamama durumu) YÃS'e iletilemeyen-olaylar servisi üzerinden sunulmalıdır. Yani yeniden gönderim politikası sonunda gönderilemeyen olaylar bu servis ile sunulmalıdır. \n Aynı kaynak numarası ile aynı olay-kaynak tipinde, 1 YÃSâe ait, 1 adet iletilemeyen olay kaydı olabilir. \n Bu serviste 1 gün öncesinden sorgu anına kadar tüm kayıtlarına ait iletilemeyen olaylar listelenmelidir.\nÃrnek sorgu zamanı : 2023-04-06T15:14:00+03:00\nHHS'nin sunacaÄı veri 2023-04-05T00:00:00+03:00 ile 2023-04-06T15:14:00+03:00 arasında olmalıdır.\nSıralama yönü olay tarihine göre artan Åekilde olmalıdır. Sayfalama 100'er kayıt dönülerek yapılmalıdır. \n YÃS tarafından iletilemeyen olaylar isteÄi 10 dakikada bir olacak Åekilde yapılabilir. HHS bu limite uygun iÅlem kısıtı uygulayabilir. \n İÅlem Sorgu ÃrneÄi GET İÅlem Sorgu ÃrneÄi : /iletilemeyen-olaylar?syfNo=1&olyZmnBslTrh=2024-01-08T16:42:00+03:00&olyZmnBtsTrh=2024-01-09T17:09:00+03:00 \n ÃrneÄin; \n olyZmnBslTrh : 07/01/2024 10:00:00+03:00\n olyZmnBtsTrh : 09/01/2024 16:00:00+03:00\n Sorgu Zamanı : 09/01/2024 10:15:00+03:00 \n Yanıt içerisinde yer alan veriye ait tarih aralıÄı : 08/01/2024 00:00:00+03:00 - 09/01/2024 10:15:00+03:00 olmalıdır. \n BaÅlangıç ve bitiÅ zaman aralıÄı örnekte yer alan Åekilde seçilse dahi ilgili servis yanıtı için öncelikle sorgu zamanına bakılıp 1 gün öncesinden sorgu anına kadar tüm kayıtların iletilemeyen olaylar içerisinde listelenmesi saÄlanmalıdır. \n İlgili tarih aralıÄında uygun veri olmaması halinde yanıt gövdesi boÅ olacak Åekilde dönülmelidir. \n İletilemeyen Olaylar Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS İletilemeyen Olaylar listesine ait bu sayfadaki kayıtları göndermelidir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları göndermelidir. \n \n \n Olay Zamanı BaÅlangıç Tarihi \n olyZmnBslTrh \n ISODateTime \n İ \n Sorgulanacak Olay Zamanına ait baÅlangıç tarihi \n HHS'ler iletilemeyen olaylar listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından tetiklenen sorgularda; olyZmnBslTrh iletilmediÄi durumda ya da 1 gün öncesinin baÅlangıç saatine göre daha geri bir zaman dilimi gönderildiÄinde, baÅlangıç zamanı(olyZmnBslTrh) deÄeri sorgu zamanından 1 gün öncesine ait günün baÅlangıç zamanı olarak kabul edilmelidir. \n \n \n Olay Zamanı BitiÅ Tarihi \n olyZmnBtsTrh \n ISODateTime \n İ \n Sorgulanacak Olay Zamanına ait bitiÅ tarihi \n HHS'ler iletilemeyen olaylar listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından tetiklenen sorgularda; olyZmnBtsTrh iletilmediÄi durumda ya da sorgu zamanından daha ileri bir zaman dilimi gönderildiÄinde, bitiÅ zamanı(olyZmnBtsTrh) deÄeri sorgu zamanı olarak kabul edilmelidir. \n \n \n \n Tablo 17: Olaylar nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Olaylar \n olaylar \n Kompleks: Olaylar \n Z \n \n \n \n >Olay No \n olayNo \n AN1..64 \n Z \n Olaya ait evrensel tekil numaradır. \n \n \n >Olay Zamani \n olayZamani \n ISODateTime \n Z \n Olayın oluÅtuÄu tarih bilgisidir. \n \n \n >Olay Tipi \n olayTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden birini alır. \n \n \n >Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden birini alır. \n \n \n >Kaynak Numarası \n kaynakNo \n AN1..128 \n Z \n Güncellenen kaynaÄa ait HHS sistemindeki tekil tanımlayıcı. \n \n \n \n Kaynak numarasında gönderilen deÄer ile ilgili kaynaÄı sorgulayarak almak YÃS'ün insiyatifindedir. \n ADIM 6: Sistem Olay Dinleme \n POST /sistem-olay-dinleme \n HHS'lerin sistem olaylarını dinleme amacıyla açması gereken endpoint bilgisidir. \n YÃS API içerisinde yapılan deÄiÅikliklerde, BKM tarafından HHS'lere olay bildirimlerini yapılır. \n Olaylar yanıt nesnesi içerisinde 1 adet kayıt yer almalıdır. \n BaÅarılı POST isteÄi sonucu HTTP 202 Accepted kodu ile dönülmelidir. \n HHS'den baÅarılı yanıt alınamadıÄı durumda, 5 dakika aralıklarla 3 kez deneme yapılacaktır. Hata alınmaya devam edilmesi durumunda baÅka bir aksiyon alınmayacaktır. \n Olay Dinleme Servisleri (ODS) \n YÃS sunacaÄı Olay Dinleme Servisi ile hem HHS'den hem de BKM'den gelen olayların bildirimini dinleyebilir. YÃS'ler HHS'de yer alan olay abonelik kayıtlarını iptal edebilir ancak BKM Sistem Olay Dinleme servisinin ileteceÄi bildirimlerin alınması zorunlu olduÄundan ODS API her zaman aktif olmalıdır. \n HHS'den gelecek olay bildirimlerini olay-dinleme endpointi ile dinlerken, BKM'den gelecek olay bildirimlerini sistem-olay-dinleme endpointi ile dinlemelidir. \n Olay Dinleme Servislerinde Idempotency kurallarının iÅletilmesine gerek bulunmamaktadır. \n Olay Dinleme Servisine ait API Endpointleri aÅaÄıdaki tabloda listelenmiÅtir. \n Olay Dinleme Servisleri için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âolay_dinlemeâ \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n olay-dinleme \n POST \n /olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek \n - \n Olaylar \n - \n \n \n 2 \n sistem-olay-dinleme \n POST \n /olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n
16- \n - \n Olaylar \n - \n ADIM 1: Olay Dinleme \n POST /olay-dinleme \n Olay abonelik servisi ile abone olunan olaylar, olay dinleme servisi ile YÃS'e iletilir.\nOlaylar yanıt nesnesi içerisinde en fazla 100 kayıt gönderilmelidir.\nBaÅarılı POST isteÄi sonucu HTTP 202 Accepted ile dönülmelidir. \n HHS'nin iÅlem hata aldıÄında, baÅarılı iÅlem olana kadar 3 kez deneme yapılması gerekmektedir.\nİlk istekle son istek arasında 30 dakika olacak Åekilde, zamana yayarak bu denemelerin yapılması gerekmektedir. (Exponential backoff policy uygulanması beklenmektedir. )\nHHS kendi sistemini yormayacak Åekilde, belirleyeceÄi kurallar dahilinde bu geliÅtirmeyi yapmalıdır. \n Tablo 17: Olaylar nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n >Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >>Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n >> Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n >Olaylar \n olaylar \n Kompleks: Olaylar \n Z \n \n \n \n >>Olay Numarası \n olayNo \n AN1..64 \n Z \n Olaya ait atanmıŠtekil kimlik numarası \n \n \n >>Olay Zamanı \n olayZamani \n ISODateTime \n Z \n Olayın oluÅma zamanı \n \n \n >>Olay Tipi \n olayTipi \n AN1..36 \n > \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden birini alır. \n \n \n >>Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden birini alır. \n \n \n >>Kaynak Numarası \n kaynakNo \n AN1..128 \n Z \n Güncellenen kaynaÄa ait HHS sistemindeki tekil tanımlayıcı. \n ADIM 2: Sistem Olay Dinleme \n POST /sistem-olay-dinleme \n YÃS'lerin sistem olaylarını dinleme amacıyla açması gereken endpoint bilgisidir. \n HHS API içerisinde yapılan deÄiÅikliklerde, BKM tarafından YÃS'lere olay bildirimlerini yapılır. \n Olaylar yanıt nesnesi içerisinde 1 adet kayıt yer almalıdır. \n BaÅarılı POST isteÄi sonucu HTTP 202 Accepted kodu ile dönülmelidir. \n YÃS'ten baÅarılı yanıt alınamadıÄı durumda, 5 dakika aralıklarla 3 kez deneme yapılacaktır. Hata alınmaya devam edilmesi durumunda baÅka bir aksiyon alınmayacaktır. \n"},{title:"4. Rıza Durumları",frontmatter:{},regularPath:"/v1.1.0/contents/riza-durumlari.html",relativePath:"v1.1.0/contents/riza-durumlari.md",key:"v-3358815e",path:"/v1.1.0/contents/riza-durumlari.html",headers:[{level:2,title:"4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri",slug:"_4-1-hesap-bilgisi-hizmeti-rıza-durum-degisiklikleri"},{level:2,title:"4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri",slug:"_4-2-odeme-bilgisi-hizmeti-rıza-durum-degisiklikleri"}],content:" 4. Rıza Durumları \n ÃHK, Ãdeme Emri BaÅlatma Hizmetine ya da Hesap Bilgisi Hizmetine müÅteri rızasının tesisi ile baÅlar. ÃHKânın YÃS uygulaması üzerinden yaptıÄı iÅlemler neticesinde rıza durumları deÄiÅebilir.\nRızaânın alabileceÄi durum kodları Åu Åekilde belirlenmiÅtir. \n B: Yetki Bekleniyor â İlk rıza talebinde \n Y: Yetkilendirildi â BaÅarılı GKD sonrası yetKod üretildiÄinde \n K: Yetki Kullanıldı â EriÅim Belirteci alındıÄında \n E: Yetki ödeme emrine dönüÅtü â ÃBHS için \n S: Yetki Sonlandırıldı \n    HBHS için : EriÅimin Geçerli OlduÄu Son Tarih geldiÄinde \n    ÃBHS için : Yenileme belirteci Son Tarihi geldiÄinde \n I :Yetki İptal \nRıza iptal durumu ise gerek raporlama gerekse müÅteri deneyimi perspektifinden doÄru bilgilendirmeler yapılabilmesi açısından aÅaÄıdaki gibi detay kodları ile zenginleÅtirilmiÅtir: \n \n Rıza İptal Detay Kodu: \n \n \n \n â01â :\tYeni Rıza Talebi ile İptal \n â02â :\tKullanıcı İsteÄi ile HHS üzerinden İptal \n â03â :\tKullanıcı İsteÄi ile YÃS üzerinden İptal \n â04â :\tSüre AÅımı : Yetki Bekleniyor \n â05â :\tSüre AÅımı : Yetkilendirildi \n â06â :\tSüre AÅımı : Yetki Ãdemeye DönüÅmedi \n â07â :\tGKD iptali : Aynı rıza no ile mükerrer çaÄrımı \n â08â :\tGKD iptali : Rızano ile kimlik bilgileri uyuÅmaması \n â09â :\tGKD iptali : Uygun ürünü bulunmuyor \n â10â :\tGKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı \n â11â :\tGKD iptali : Hesap Yetki S
16orunu \n â12â :\tGKD iptali : ÃHK HHS kontrollerini aÅamadı \n â13â :\tGKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi \n â14â :\tGKD iptali : Fraud Åüphesi \n â99â :\tGKD iptali : DiÄer \n \n \n 4.1 ve 4.2 bölümlerinde detaylandırılan rıza durum deÄiÅikliklerinde rıza iptal detay kodları kullanılmıÅtır. \n ÃrneÄin B⨠I/01 denildiÄinde âYetki Bekleniyorâ rıza durumundan âYetki İptalâ rıza durumuna Rıza İptal Detay Kodu da â01â yani âYeni Rıza Talebi ile İptalâ olarak güncellenmelidir ifade edilmiÅtir. \n ÃHK verdiÄi rıza sırasında seçtiÄi hesaplarından biri kapatılırsa, diÄer hesaplara ait bilgileri görmeye devam eder. Ancak ÃHKânın hesabına ait bilgilerinin YÃS'e iletilmesini istemediÄi durumda, rızasını tamamen iptal ederek yeni hesap listesi ile yeni rıza vermesi gerekmektedir. Yani hesap kapanması nedeniyle rıza geçerliliÄini yitirmez. ÃHK'nın proaktif olarak bu hesabı rızadan çıkarması durumunda rıza iptali olur. \n Rıza iptal edilmediÄi ve geçerli olduÄu sürece kapalı hesaplar için diÄer çevrimiçi kanallarda uygulanan yöntem izlenmelidir. DiÄer çevrimiçi kanallarda kapalı hesaplara iliÅkin bilgi dönülmüyor ise ÃHVPS'den de dönüŠyapılmaz. ÃHKânın rıza onayı verdiÄi açık hesaplarının tümü HHS tarafında kapatıldıÄı durumda, yine aynı Åekilde HHS çevrimiçi kanallarında koyduÄu kurallara göre bu hesaplarının YÃS uygulamasında gösterilmesine karar verir. \n Hesap kapama ve ticari kullanıcıların hesaplar üzerindeki yetki deÄiÅiklikleri HHS'nin iç sistemleri tarafından yapılan kontrollerle yönetilir. Buradaki deÄiÅiklikler ile HHS sistemsel olarak rıza iptali gerçekleÅtiremez. ÃHK izni ve onayı dahilinde rıza iptal gerçekleÅtirilmesi gerekmektedir. \n HHS'ler sunmuÅ oldukları Rıza İptal ekranını (sadece Hesap Bilgisi Rızası için), hangi ortamlardan GKD yapılmasına izin veriliyorsa (web/mobil) aynı ortamdan ÃHK'ya sunmalıdır. ÃrneÄin bir HHS bireysel müÅterileri için web ve mobil, kurumsal müÅteriler için web üzerinden GKD imkanı sunuyor ise, minimumda bireysel müÅteriler için web ve mobil ortamlarından, kurumsal müÅteriler için web ortamından Rıza İptal ekranı aracılıÄı ile rıza iptaline izin vermelidir. Bunun dıÅında çaÄrı merkezi ya da Åube gibi ortamlardan sunacaÄı Rıza İptal imkanı HHS inisiyatifindedir. Bahsi geçen zorunluluk Ãdeme Emri Rıza İptal ekranı için geçerli deÄildir. \n Benzer Åekilde YÃS'ler hangi ortamlardan (web/mobil) hizmet veriyorsa, aynı ortam üzerinden Rıza İptal ekranını sunmalıdır. \n 4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri \n Kural : Bir ÃHK'nın, bir YÃS için, bir HHS'de Y, K, B rıza durumlarında tek bir rızası olabilir.\nBir ÃHK hem kiÅisel olarak hem de bir kurumun kullanıcısı olabilir. Bu durumda kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Hesap Bilgisi Rızası isteÄi HHSâye iletilir. \na.\tHHS ÃHK'ya ait içeride rıza var mı kontrol eder. EÄer yoksa Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \nb.\tEÄer içeride rıza varsa \n    i. Rıza durumu Yetki Bekleniyor - B ise; \n    HHS, sistemde Yetki Bekleniyor - B rıza durumuna sahip kayıt olduÄu için, öncelikle eski kaydı Yetki İptal - I durumuna getirir. Rıza İptal Detay Kodu âYeni Rıza Talebi ile iptalâ olmalıdır. B ⨠I / 01 Sonrasında, Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \n     ii. Rıza durumu Yetkilendirildi - Y veya Yetki Kullanıldı - K ise; \n    ÃHK'nın halihazırda verilmiÅ bir rızası vardır. HHS, önce mevcut rızanın iptalinin yapılması gerektiÄine dair TR.OHVPS.Resource.ConsentMismatch hatasını döner. YÃS, HHS ya da YÃS uygulaması üzerinden bu rızanın iptal edilmesi gerektiÄine dair ÃHK'ya bilgilendirme yapar. \n     iii.\tRıza durumu Yetki Sonlandırıldı - S ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n     iv.\tRıza durumu Yetki İptal - I ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında Rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Tarayıcıyı kapatmıŠolabilir) Rıza Yetki Bekleniyor - B rıza durumunda kalır. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B rıza durumundaki kayıtlar Yetki İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. B ⨠I / 04 Bkz. 9. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n Fraud Åüphesi Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 99 \n \n \n \n \n \n \n ÃHK, hesaplarında/izin türlerinde/EriÅimin Geçerli OlduÄu Son Tarih bilgilerinden bir ya da birden fazlasında güncelleme yapmak için YÃS ekranına girer. \n \n \n     a.\tYÃS önce Rıza İptal API'sini çaÄırır. Sonra yeni deÄerlerle yeni bir rıza isteÄinde bulunur. Tekrar GKD gerekir. \n     b.\tYÃS rıza iptal yapmadan yeni rıza alma akıÅına baÅlarsa 1.b akıÅı devreye girer. \n     c.\tRıza güncelleme ilerleyen sürümlerde ele alınacaktır. \n \n \n EriÅim Belirteci API \n a. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında;
16 \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B ya da Yetki Kullanıldı - K ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Sorgulama: HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir hesap bilgisi-rizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. Rıza numarası ile sorgulama yapılır. \n \n \n Hesap Bilgisi Rızasının İptali: HBHS üzerinden ya da HHS üzerinden yapılan rıza iptallerinde Rıza durumu Yetki İptal - I olarak güncellenir. Rıza numarası ile iptal saÄlanır. \n a. HHS üzerinden rıza iptali yapmıŠolabilir. Rıza durumu sorgulanır. \n Rıza numarası Yetki Bekleniyor - B ve Yetkilendirildi - Y ve Yetki Kullanıldı - K durumlarında ise Yetki İptal durumuna getirilir. Rıza gnclzmn timestamp ile güncellenir.\nHHS, Rıza iptalinde aynı zamanda eriÅim belirtecini de invalid hale getirmelidir. \n B ⨠I / 02 \n Y ⨠I / 02 \n K ⨠I / 02 \n b.\tYÃS üzerinden yapılacak iptal iÅleminde yine Y ve B ve K rıza durumlarında ise iptal edilebilir. \n B ⨠I / 03 \n Y ⨠I / 03 \n K ⨠I / 03 \n Rıza durumu Yetki Sonlandırıldı - S ise iptal gerçekleÅmez. âRıza durumunuz iptal etmeye uygun deÄildir.â hatası ÃHK'ya yansıtılır. TR.OHVPS.Resource.ConsentRevoked \n \n \n ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir.\nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde Rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldı durumuna çekilmelidir. K ⨠S \n \n \n Hesaplar, Bakiye ve İÅlemler servislerinde eriÅim belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır.\nGeçerli bir eriÅim belirteci yok ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n YÃS'ün; Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında Hesaplar, Bakiye ve İÅlemler servislerini çaÄırmaması beklenir. HHS'nin bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda TR.OHVPS.Resource.ConsentRevoked hatasını dönmesi gereklidir. \n Rıza durumu Yetki Kullanıldı - K dıÅında ise TR.OHVPS.Resource.ConsentMismatch hatası verilmelidir. \n Rıza durumu Yetki Kullanıldı - K ise servis akıÅlarına devam edilir. \n Rıza sorgulama API'sinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir âYetki Bekleniyorâ durumunda kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir âYetkilendirildiâ durumunda kalan kayıtlar güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı: Yetkilendirildi B ⨠I / 05 \nYukarıda bahsedilen, YÃS Süre AÅımı nedeniyle rıza iptal durum güncellemelerini y
16apmadan önce HHSâyi sorgulayarak rıza durumunu öÄrenmeli ve süre aÅımı dıÅında bir kodu varsa aynı kodla kendi sistemini güncellemelidir. \nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldıâya güncellenir. K ⨠S \n 4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri \n Kural : Bir ÃHK'nın bir YÃS için bir HHS'de istediÄi kadar rızası olabilir. \n Kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Ãdeme Emri Rızası isteÄi HHSâye iletilir. İçeride rıza olup olmamasına bakılmaksızın Yetki Bekleniyor - B rıza durumu ile yeni rıza no oluÅturur. \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Browserı kapatmıŠolabilir)\nRıza durumu Yetki Bekleniyor'dur. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B durumundaki kayıtlar Rıza İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. Bkz. 8. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n Fraud Åüphesi Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 99 \n \n \n \n \n \n \n GKD muafiyeti olduÄunda YÃS HHSâden arka planda onay alır. Bu onay sırasında rıza durumu Yetkilendirildi yapılır. B ⨠Y \n \n \n EriÅim Belirteci API \na. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında; \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B , Yetki Kullanıldı - K ya da Yetki ödeme emrine dönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K veya Yetki Ãdeme Emrine DönüÅtü â E olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Ãdeme BaÅlatma API önce eriÅim belirteci ve sonrasında rıza kontolü yapılarak gerçekleÅtirilmelidir \n \n Ãncelikle EriÅim Belirteci kontrolü yapılmalıdır. Geçerli bir EriÅim Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n Rıza durumu Yetki İptal - I ya da Yetki S
16onlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n Rıza durumu Yetki Bekleniyor - B , Yetkilendirildi - Y, Yetki Ãdeme Emrine DönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n Rıza durumu Yetki Kullanıldı - K olduÄunda ödeme emri gerçekleÅtirilir. Rıza durumu Yetki Kullanıldı - K'dan Yetki Ãdeme Emrine DönüÅtü â E yapılmalıdır. K â¨E \n \n \n \n Sorgulama: GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlarda, ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, ödemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır.\nRıza sorgulama, Ãdeme Emri Sorgulama API'lerinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n Ãdeme Emri Rızasının İptali bulunmamaktadır. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir Yetki Bekleniyor'da kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir Yetkilendirildi'de kalan kayıtlar durumları güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı : Yetkilendirildi B ⨠I / 05 \n 5 dakikadan uzun süredir Yetki kullanıldı'da kalan kayıtlar durumları güncellenir.\nYetki kullanıldı ⨠Rıza İptal / Süre AÅımı : Yetki Ãdemeye DönüÅmedi B ⨠I / 06 \n Yenileme belirteci Son Tarih geldiÄinde rıza durumu Yetki ödeme emrine dönüÅtüâden Yetki Sonlandırıldı'ya güncellenir. \n E ⨠S \n \n \n GKD muafiyeti sadece ödeme baÅlatma servislerinde bulunmaktadır. \n \n \n"},{title:"6.\tÃdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v1.1.0/contents/odeme-emri-baslatma-hizmeti.html",relativePath:"v1.1.0/contents/odeme-emri-baslatma-hizmeti.md",key:"v-7e5b51bd",path:"/v1.1.0/contents/odeme-emri-baslatma-hizmeti.html",headers:[{level:3,title:"Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi",slug:"_6-1-adim-0-odeme-emri-baslatma-istegi"},{level:2,title:"6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması",slug:"_6-2-adim-1-odeme-emri-rızasının-hazırlanması"},{level:2,title:"6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_6-3-adim-2-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_6-4-adim-2-1-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması",slug:"_6-5-adim-3-odeme-emrinin-olusturulması"},{level:2,title:"6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_6-6-adim-3-1-odeme-emri-sorgusu-istege-baglı"},{level:3,title:"GET /odeme-emri/{odemeEmriNo}",slug:"get-odeme-emri-odemeemrino"}],content:" 6.\tÃdeme Emri BaÅlatma Hizmeti \n Ãdeme emri baÅlatma iÅlemi havale, FAST ya da PÃS ödemesiyle sonuçlanabilir. Ãdeme iÅleminin amacı kiÅiden kiÅiye para transferi, e-ticaret ödemesi gibi farklı ödeme türleri olabilir. Ãdemenin amacına göre ÃBHSânin ileteceÄi veri setinde farklılaÅmalar olabilir. \n Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n Ãdeme Emri BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden ödeme emrini baÅlatır. \n Ãdeme Emri Rıza Hazırlanması: ÃBHS, âÃdeme Emri BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n Ãdeme Emrinin BaÅlatılması: ÃBHS, âödeme emriâni HHSâye iletir. \n Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı Sorguları: ÃBHS, Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin hem HBH hem de ÃBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini(önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n YÃS'ler gönderen hesap seçimini aÅaÄıdaki yöntemlerden biri ya da birkaçı ile saÄlayabilirler: \n \n YÃS, müÅterisinin ödeme hesabını HHS ekranından seçtirebilir. \n YÃS, müÅterisinden Hesap Bilgisi rızası alır. Rıza aldıÄı hesaplar üzerinden hesap referansı aracılıÄı ile ödeme emri baÅlatabilir. \n YÃS, müÅterisinin ödeme hesabını elle girmesine olanak tanıyabilir. IBAN'ı olmayan HHS'ler ödeme emri rızası adımında TR.OHVPS.Business.IBANNotSupported hatasını vermelidir. IBAN'ı olan HHS'lerin bu akıÅı desteklemesi zorunludur. \n YÃS; müÅterisinin hesap referansını elle girmesini saÄlayabilir. Hesap Referansı bilgisi ile baÅlatılan ödeme emri iÅlemlerinde HHS seçimi zorunludur. \n \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN sunmadıkları için, YÃS'ler hesap referansı ile ödeme baÅlatabilirler. Bu
16nların dıÅındaki HHS'lerin, gönderen IBAN veya hesap referansı ile ödeme akıÅını desteklemesi zorunludur. \n \n Åekil 4: Ãdeme Emri BaÅlatma Hizmeti Ãst Düzey İŠAkıÅı \n Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. \n Tablo 6: Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n odeme-emri-rizasi \n POST \n /odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n OdemeEmriRizasiIstegi \n OdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n odeme-emri-rizasi \n GET \n /odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n OdemeEmriRizaYaniti \n \n \n 3 \n odeme-emri \n POST \n /odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı İstek ve Yanıt \n OdemeEmriIstegi \n OdemeEmri \n \n \n 3.1 \n odeme-emri \n GET \n /odeme-emri/{odemeEmriNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n OdemeEmri \n 6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) ödeme emri baÅlatma iÅlemine onay verir. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması \n \n Åekil 5: Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak ödeme emri rıza kaynaÄının oluÅturulmasını (odemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ mi? \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahip mi? \n İstekte bulunulan HHS kodu doÄru mu? \n \n \n \n POST baÅarılı olursa, HHS, ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren odemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir OdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme adresleri ile ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini y
16apar. (Zorunlu) \n HHS; kimlik bilgileri nesnesinde eÄer kimlik bilgileri iletilmiÅ ise; bu veri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) \n HHS kimlik bilgisi ile gönderen unvanının uyumlu olduÄunun kontrol eder. HHS'ler EFT/FAST iÅlemlerinde kabul ettikleri kontrol kriterleri ile iÅleme izin verebilirler. (Zorunlu) \n Gönderen Hesap Numarası ile ilgili Tablo7âde belirtilen kontroller yapılmalıdır. (Zorunlu) \n HHS, ödeme için benzersiz âRizaNoâ ile âOdemeEmriRizasiâ nesnesi oluÅturur ve ÃBHSâye döner. \n HHS, OdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \nBu aÅamada ÃHKânın HHS tarafından tanımlanmıŠve isteÄin veri alanında gönderen hesaba (borçlandırılacak hesaba) iliÅkin bir bilgisinin olması gerekmez. \nHesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n \n POST /odeme-emri-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âodemeEmriRizasiIstegiâ nesnesi (Tablo-7) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âodemeEmriRizasiâ (Tablo-8) nesnesi oluÅturulur. \n Tek Seferlik Ãdeme \nTek seferlik ödeme akıÅı YÃS'ten HHS'ye giden istekte, gönderen kimlik bilgilerinin olmadıÄı durumda gerçekleÅir. Gönderen kimlik bilgisi olmadıÄında, KOLAS sorgusu yapılamayacaÄından ötürü, HHS tarafından TR.OHVPS.Business.InvalidContent hatası dönülmelidir. ÃHK'nın YÃS'ün müÅterisi olmadıÄı durumda tek seferlik ödeme baÅlatılabilir. \nTek seferlik ödeme akıÅı hem iÅyeri ödemelerinde hem de kiÅiden kiÅiye para transferlerinde kullanılabilen bir akıÅtır. İÅyeri tarafından baÅlatılan tek seferlik ödeme iÅlemlerinde katılımcılar gönderen ÃHK'dan ücret alınamaz.\n Tek seferlik ödeme akıÅı sadece bireysel müÅteriler için kullanılabilir. \nTek seferlik ödeme akıÅında hem yönlendirmeli hem de ayrık GKD akıÅı ile müÅteri yetkilendirmesi saÄlanabilir. \n AÅaÄıdaki senaryolar tek seferlik ödemeye örnek olarak gösterilebilir. \n İÅyeri Ãdemesi akıÅı örneÄi: Bir e-ticaret sitesinde, üye olmadan alıÅveriÅ yapılması ve ödemenin YÃS tarafından kimlik bilgisi olmadan baÅlatılması \nKiÅiden kiÅiye para transferi akıÅı örneÄi: QR veya diÄer yöntemler ile alıcı bilgilerinin gönderici ile paylaÅılması ve YÃS üzerinden gönderici bilgileri olmadan alıcıya para transferi yapılması için rıza verilmesi \n BAÅARILI İSTEK: \n Tablo 7: âOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum ko
16du(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n HHS geçerli bir para birimi olduÄu kontrol eder. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n K \n Gönderenin unvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen unvanını göndermesi zorunludur. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise TR.OHVPS.Business.InvalidContent hatası verilmelidir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. Kontrol baÅarısız olduÄunda TR.OHVPS.Business. InvalidAccount hatası YÃSâe iletilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, Hs
16pRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının unvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. FAST-TR Karekod dıÅındaki iÅ yeri ödemelerinde; yine Unvan alanında iÅyeri adı bilgisi gönderilmelidir. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n Tek seferlik ödemelerde ( kimlik bilgileri boÅ iletildiÄinde) KOLAS nesnesi dolu iletiliyorsa; HHS tarafından TR.OHVPS.Business.InvalidContent hatası dönülmelidir \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n HHS, YÃS'ün API deseninde \"O\" kodunu ilettiÄini kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarında: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tİÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n YÃS bu deÄeri ÃHKâyı HHSâye yönlendirmeden önceki ekranda göstermeli, ve HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak yine ÃHKâya göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi
16için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. İÅyeri Ãdeme Bilgileri, YÃS uygulama önyüzünde ÃHKânın bildiÄi ve giriÅi yapılması beklenen bir bilgi olmamalıdır. YÃS tarafından sistemsel olarak doldurulması gereklidir. \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriRizasiâ nesnesi Tablo-8âdeki parametrelerden oluÅur: \n Tablo 8: âOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n \n \n \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n >> Unvan \n unv \n AN3..140 \n K \n Gönderenin unvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen unvanını göndermesi zorunludur. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisidir. Bu alan ileri vadeli ödemeler için düÅünülmüÅtür. İlk fazda doldurulmasına gerek olmadıÄı düÅünülmektedir. \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil 6: Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS,
16ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın ödeme emrini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK -bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âodemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, OdemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır. HHS, â ADIM 2 -Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin OdemeEmriRizasi nesnesine iÅler. \n GET /odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir OdemeEmriRizasi kaynaÄının durumunu isteÄe baÄlı olarak alabilir. \n Durum \n OdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n Ãdeme Emri Rızası sonlandırıldı ve iptal statüsünde olan rıza'ların güncellenme zamanından(gnclZmn) 6 ay sonrasına kadar sorgulanabilir olması beklenmektedir. HHS'ler ilgili süre sonrasında yapılacak rıza sorgularına TR.OHVPS.Resource.NotFound uyarısı verebilir. YÃS'ler tarafından iptal ve sonlandırıldı statüsünde olan rızalar için sorgulama yapmamalıdır. \n Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /odeme-emri-rizasi/{RizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-8âde yer alan parametreleri içeren âOdemeEmriRizasiâ oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /odeme-emri-rizasi/{RizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âOdemeEmriRizasiâ nesnesini çekmelidir. \n Ãerçeve sözleÅme kapsamında olmayan tek seferlik ödeme iÅlemlerinde, Kimlik Türü ve Kimlik Verisi bilgilerinin ödeme emri rızası sırasında gönderimi zorunlu deÄildir. BaÅarılı GKD sonrası, yani eriÅim belirteci alındıÄında, ödeme emri oluÅmadan önce, YÃSâün ödeme emri rızasını sorgulayarak bu bilgileri alması ve ödeme emrini oluÅtururken Kimlik Türü, Kimlik Verisi ve Gönderen Unvan alanlarını dolu olarak göndermesi beklenmektedir. Ancak rıza durumu âYetki Bekleniyor - Bâ, âYetkilendirildi - Yâ ve âYetki İptal - Iâ statülerinde ise, ödeme emri rızası sorgulamasında, HHSânin Kimlik Türü ve Kimlik Verisi bilgisini Y
16ÃS ile paylaÅmaması gerekmektedir. \n 6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması \n \n Åekil 8: Ãdeme Emrinin OluÅturulması \n POST /odeme-emri \n \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS OdemeEmri kaynaÄını oluÅturur. \n Ãdeme emri (OdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır.\n \n POST HHS tarafından iÅlenir: RizaDurumu âYetki Kullanıldıâ ise iÅleme baÅlanır. \n POST /odeme-emri-rizasi ile POST /odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır.POST verisindeki Gönderen Hesap Numarası ve Alıcı Hesap Numarasının aynı bankaya aitse HAVALE deÄilse FAST veya PÃS iÅ akıÅına geçilir. \n POST verisinin modele göre kontrolü yapılır (alan kontrolleri) \n POST verisinin mantıksal kontrolleri yapılır (IBAN kontrolü, çapraz alan kontroller) \n OdemeEmriDurumu âGerçekleÅtiâ / âGönderildiâ / âGerçekleÅmediâ olarak güncellenir. \n \n \n POST baÅarılı olursa, içerisinde OdemeEmriNo ve OdemeEmriDurumu deÄiÅkenleri de bulunan OdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine DönüÅtüâ olarak güncellenir. \n \n BAÅARILI İSTEK: \n Tablo 9: âOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n >Yönlendirme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n \n \n \n \n \n \n \n \n \n >Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. yetYntm = Y için bu nesne iletilmemelidir. \n \n \n \n >>OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >>OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n \n \n >Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde,
161. HHS, Gönderen Adı ve Gönderen Hesap Numarasını ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Ãdeme Emri Rizası Nesnesindeki İÅlem Tutarı verisi ile aynı olmalıdır. HHS iÅlem tutarı ödeme mesajında (Havale/FAST/PÃS) aynen taÅınmak durumundadır. \n Ttr \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari unvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>>
16 Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n KolasRef ( hem FAST hem de PÃS için aynı) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. \n RefBlg (Hem FAST hem de PÃS için aynı) \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n FAST/PÃS Acklm \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Sistemi verisi ile aynı olmalıdır. \n \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem sa
16atleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. İÅyeri Ãdeme Bilgileri, YÃS uygulama önyüzünde ÃHKânın bildiÄi ve giriÅi yapılması beklenen bir bilgi olmamalıdır. YÃS tarafından sistemsel olarak doldurulması gereklidir. \n \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n \n \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanıdır. \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n Z \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Emir Bilgileri \n emrBlg \n Kompleks: EmirBilgileri \n Z \n \n \n \n > Ãdeme Emri Numarası \n odmEmriNo \n AN1..128 \n Z \n odemeEmri nesnesinin UID'sidir. OdemeEmrine İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Ãdeme Emri Zaman \n odmEmriZmn \n ISODateTime \n Z \n odemeEmri nesnesinin oluÅturulma zamanıdır. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari unvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Unvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari unvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen unvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Durumu \n odmDrm \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. Ãdeme Durumu alanı ile ilgili olarak HHSâler tarafından YÃSâlere OdemeEmri servisi yanıtında 02:Gönderildi, 04:Onayda Bekliyor,05:İÅleme Alındı yanıtları gönderilebilir. 05:İÅleme Alındı durumu YÃS tarafından müÅteriye gösterilmeyen bir koddur. Bu kod dönüldüÄünde YÃS uygulamasında ÃHKâya ödeme durumu 02:Gönderildi olarak gösterilir. İÅlemin son durumunun teyidi için YÃS ödeme emri sorgulaması yapmalıdır. 02:Gönderildi durumu oluÅtuktan sonra YÃS tarafından ödeme emri sorgulaması yapılarak ödeme durumunun güncel deÄeri öÄrenilir. Güncel deÄerler 01:GerçekleÅti,03:GerçekleÅmedi durumları olabilir. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Ãdeme Sistem Numarası \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. Havale/FAST/PÃS ödeme yöntemleri için tarih alanı yyyy-aa-gg formatında 10 karakter olarak iletilmelidir. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi
16için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: Ãdeme Emri Sorgusu \n GET /odeme-emri/{odemeEmriNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ödeme emrini sorgulayabilir. \n BAÅARILI YANIT: \n GET /odeme-emri/{odemeEmriNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âOdemeEmriâ nesnesi döner. \n"},{title:"5.\tGüçlü Kimlik DoÄrulama",frontmatter:{},regularPath:"/v1.1.0/contents/gkd.html",relativePath:"v1.1.0/contents/gkd.md",key:"v-8d4168c6",path:"/v1.1.0/contents/gkd.html",headers:[{level:2,title:"5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama",slug:"_5-1-yonlendirmeli-guclu-kimlik-dogrulama"},{level:2,title:"5.2.\tAyrık Güçlü Kimlik DoÄrulama",slug:"_5-2-ayrık-guclu-kimlik-dogrulama"},{level:3,title:"5.2.1\tStatik Model",slug:"_5-2-1statik-model"},{level:2,title:"5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi",slug:"_5-3-yonlendirme-bildirim-adresleri-ve-durum-kodu-parametresi"},{level:2,title:"5.4 Güçlü Kimlik DoÄrulama Kontrolleri",slug:"_5-4-guclu-kimlik-dogrulama-kontrolleri"}],content:" 5.\tGüçlü Kimlik DoÄrulama \n MüÅteri için güçlü kimlik doÄrulama, ÃHKânın (müÅterinin) kimliÄinin doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin âbildiÄiâ, âsahip olduÄuâ veya âbiyometrik bir karakteristiÄi olanâ bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntemi tanımlar. \n Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄ uyarınca hesap bilgisi hizmetinde müÅterinin onayının alınması esnasında ve ödeme emri baÅlatma hizmetinde her bir ödeme emri baÅlatma iÅleminde HHS tarafından müÅteriye güçlü kimlik doÄrulama (GKD) uygulanması esastır. Buna göre: \n \n \n Hesap bilgisi hizmetinde ÃHKânın onayının alınması esnasında TebliÄin 26 ncı maddesinin 1 inci fıkrası uyarınca HHS tarafından ÃHKâya GKD uygulanır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 2 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanır ve iÅlem doÄrulama kodu ile ÃHKânın onayı alınır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 3 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanmasına iliÅkin istisna veya ilave güvenlik önlemleri iÅbu API İlke ve Kuralları belgesinde tanımlanır. \n \n \n HHS, güçlü kimlik doÄrulama sürecinde ÃHKânin sahip olduÄu bileÅen sınıfı olarak SMS OTP ya da SMS ile iÅlem doÄrulama kodu kullanabilir. \n \n \n HHS, aÅaÄıdaki hallerde veya TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre tek bileÅen ile kimlik doÄrulama yapabilir. \n \n Ãdemenin göndereni ve alıcısının aynı olması, \n Daha önce tanımlanmıŠgüvenli alıcılar listesine ödeme yapılması, \n ÃHKânin talimatına istinaden gerçekleÅtirilen düzenli bir ödeme olması. \n \n \n \n Tek bileÅen ile kimlik doÄrulama yapılan bu iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin müÅteri tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye ait olur. \n \n \n İÅlem DoÄrulamada TebliÄin 3 üncü maddesinin birinci fıkrası ÄÄ bendindeki iÅlem bilgisi tanımına uygun olarak aÅaÄıdaki bilgiler ile TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde tanımlanan iÅleme özel üretilmiÅ iÅlem doÄrulama kodu birlikte kullanılır. \n \n Alıcı Unvan (Kolas akıÅında maskeli olarak) (ödeme emri baÅlatma hizmeti) \n Tutar (ödeme emri baÅlatma hizmeti) \n Referans bilgisi (8 karakterden küçük ise alanın tüm deÄeri, büyük ise ilk 4 ve son 4 hanesi) \n \n İÅleme ait yukarıdaki bilgilerden en az biri deÄiÅtiÄi zaman TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde belirtildiÄi gibi yeni bir iÅlem doÄrulama kodu üretilecek Åekilde akıŠkurgulanmalıdır. \n \n \n İÅlem doÄrulama kodunun gönderilmesinden HHS sorumludur. HHS, TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre iÅlem doÄrulama kodu kullanmaksızın ÃHKânın onayını alabilir. İÅlem doÄrulama kodu kullanılmayan iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin ÃHK tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye aittir. \n \n \n ÃHVPS API İlke ve Kuralları kapsamında iki adet Güçlü Kimlik DoÄrulama (GKD) yöntemi kullanılacaktır: \n \n Yönlendirmeli (Redirect) GKD Yöntemi \n Ayrık (Decoupled) GKD Yöntemi \n \n \n \n HHS asgari olarak tarayıcı tabanlı Yönlendirmeli GKD yöntemini desteklemek zorundadır. Hem web hem mobil uygulama hizmeti bulunan katılımcılar için her iki uygulama özelinde de yönlendirme yapılması zorunludur. Web ya da mobil uygulamalardan sadece birinin olması durumunda ilgili uygulama özelinde yönlendirme yapılması zorunludur. \n \n \n HHSânin mobil uygulamasının bulunması durumunda tarayıcı tabanlı yönlendirmenin y
16anında uygulama tabanlı yönlendirme yapması zorunludur. Uygulama sahiplerinin uygulama tabanlı yönlendirme için uyumlanma son tarihleri 1 Ekim 2023âtür. \n 5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama \n Yönlendirmeli GKD Yönteminde, müÅteri kimlik doÄrulama için YÃS tarafından HHS arayüzüne yönlendirilir. \n MüÅteri HHSâye (app veya web arayüzü vasıtasıyla) yönlendirildikten sonra müÅterinin güçlü kimlik doÄrulaması adım adım ve doÄrudan HHS ile müÅteri arasında yürütülür. GKDânin tamamlanmasından sonra müÅteri tekrar YÃS uygulamasına yönlendirilir. \n Yönlendirmeli GKD Yöntemi için üst düzey örnek iÅ akıÅı aÅaÄıdaki adımlardan oluÅur: \n \n YÃS, GKD için HHS tarafından tanımlanan arayüze (tarayıcı ya da uygulama) yönlendirme yapar. \n MüÅteri, YÃS arayüzünden ayrılır, yönlendirildiÄi HHS arayüzü üzerinde kimlik doÄrulama iÅlemlerini gerçekleÅtirir. \n GKD tamamlandıktan sonra müÅteri, YÃS arayüzüne tekrar yönlendirilir ve iÅlem sonucu görüntülenir. \n \n Yönlendirmeli GKD için temel gereklilikler Åunlardır: \n \n Ãdeme hizmeti (hesap bilgisi veya ödeme emri baÅlatma hizmeti) tarayıcı ya da uygulama tabanlı bir Åekilde sunulabilir. Bu nedenle, YÃS ve HHSâlerin Yönlendirmeli GKD için asgari olarak tarayıcı tabanlı yönlendirme akıÅını desteklemeleri gerekmektedir. Web ya da mobil uygulamalardan sadece birinin olması durumunda ilgili uygulama özelinde yönlendirme yapılması zorunludur. \n \n Tarayıcı Tabanlı Yönlendirme \n Yönlendirmeli GKD Yönteminde; rıza isteÄine baÅarılı yanıt alındıktan sonra, ÃHK, kimlik doÄrulama için YÃS tarafından HHS arayüzüne yönlendirilir.\nYÃS, yönlendirme akıÅını kendi sunucusundan karÅılayacaÄı bir istek ile baÅlatmalıdır. YÃS web arayüzündeki bu yapı, 302 yanıt kodu ve yanıt baÅlıÄındaki Location deÄeri ile ÃHK tarayıcısını HHS adresine yönlendirmelidir. Bu sayede GKD, HHS tarafında baÅlayabilir. \n YÃS tarafındaki yönlendirme servisi için örnek response; \n HTTP/1.1 302 Found\nLocation: {{hhsYonAdr}}\n \n ÃHK, HHSâye (uygulama veya web arayüzü vasıtasıyla) yönlendirildikten sonra ÃHK'nin güçlü kimlik doÄrulaması HHS ile ÃHK arasında yürütülür. GKDânin tamamlanmasından sonra ÃHK tekrar YÃS uygulamasına yönlendirilir. \n HHS, yönlendirme akıÅını kendi sunucusundan karÅılayacaÄı bir istek ile baÅlatmalıdır. HHS web/app arayüzündeki bu yapı, ÃHK'nin oturumunu güvenli bir Åekilde kapatmalıdır. Ardından 302 yanıt kodu ve yanıt baÅlıÄındaki Location deÄeri ile ÃHK tarayıcısını YÃS adresine yönlendirmelidir. \n HTTP/1.1 302 Found\nLocation: {{yosYonAdr}}&rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=O\n \n HHSânin web arayüzüne, \n \n HHSânin mobil uygulamasının olmadıÄı, \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) sunduÄu mobil cihazda HHS uygulamasının yüklü olmadıÄı, \ndurumlarda yönlendirme yapılır. \n \n YÃSâün mobil uygulaması varsa mobil cihazda uygulamadan tarayıcıya, YÃSâün mobil uygulaması yoksa ödeme hizmetinin sunduÄu cihazda (KiÅisel Bilgisayar veya Mobil Cihaz) tarayıcı üzerinden yönlendirme yapılır. \n Uygulama Tabanlı Yönlendirme \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) YÃSâün mobil uygulaması ile kullanıyorsa, aynı mobil cihazda HHSânin mobil uygulamasının yüklenmiÅ olması durumunda, ÃHK doÄrulamasının HHS mobil uygulaması tarafından yapılması için uygulama tabanlı yönlendirme yapılır. Böylece ÃHK, ödeme hizmetine eriÅim için HHSânin mobil kanalına eriÅim sırasında kullandıÄı doÄrulama yöntemini ile doÄrulanabilir. \n HHS'nin mobil uygulaması olması durumunda hhsYonAdr olarak universal link kullanması gerekmektedir. \n Tablo 5: Yönlendirmeli Güçlü Kimlik DoÄrulama Kanalları \n \n \n \n DoÄrulama Yöntemi \n YÃS Olası Ortam \n HHS Olası Ortam \n \n \n \n \n Tarayıcı Tabanlı Yönlendirme \n KiÅisel Bilgisayar (masaüstü, dizüstü)/Mobil Cihaz \n KiÅisel Bilgisayar (masaüstü, dizüstü) / Mobil Cihaz \n \n \n Uygulama Tabanlı Yönlendirme \n Mobil Cihaz \n Mobil Cihaz \n 5.2.\tAyrık Güçlü Kimlik DoÄrulama \n Ayrık Güçlü Kimlik DoÄrulama, bir kullanıcının kimliÄinin, bir iÅlem baÅlatıldıktan sonra ayrı bir Åekilde doÄrulandıÄı yönteme verilen addır. Bu GKD modelinde, kimlik doÄrulama iÅlem sürecinden \"ayrıÅtırılmıÅtır\". Kullanıcılar, baÅka bir arayüze yönlendirilmek yerine ( tarayıcı veya uygulama tabanlı yönlendirme gibi), ayrı bir kanal üzerinden (telefonlarında bir uygulama bildirimi gibi) iÅlemi doÄrulamaları için bildirim alır.\nKullanıcı, iÅlemi tamamen ayrı bir cihaz veya uygulama kullanarak doÄrulayabilir. \n İlk fazda Ayrık GKD'de QRâlı modeller kullanılmayacaktır. \n Ayrık GKD uygulamalarının farklı örnekleri bulunmaktadır. Ancak yaygın olan yaklaÅım, bir web arayüzü ve bir mobil uygulamanın komb
16inasyonunu kullanmayı içerir. \n Mobil uygulaması bulunan HHS'ler için Ayrık GKD desteklenmesi zorunludur. HHSânin web olduÄu durumda Ayrık GKD akıÅı uygulanmayacaktır. Mobil uygulaması bulunup müÅteri özelinde mobil aktiflik kontrol süreci HHS inisiyatifindedir. Ayrık GKD sürecinde HHS tarafında sadece mobil uygulama üzerinden GKD yapılmalıdır. ÃHKânın web uygulamasına yönlendirme yapmaması gerekmektedir. \n YÃS rolünde Ayrık GKD akıÅının ÃHKâya sorularak baÅlatılmasına gerek bulunmamakla beraber bu bilginin ÃHKâya sorulması YÃS inisiyatifindedir. YÃS olarak, Ayrık GKD iÅ akıÅları kapsamında ÃHKâya ayrık GKD öncesi HHS mobil uygulamasının varlıÄı sorularak (bildirim ayarlarının açık olması gerektiÄi bilgisi de verilebilir) ilerlenebilir. Aynı zamanda Ayrık GKD ile rıza sürecinin baÅlatılması zorunlu deÄildir. Rıza süreci baÅlatılırken yetkilendirme yöntemi YÃS inisiyatifindedir. \n Ãrnek bir akıŠÅu Åekildedir: \n \n İÅlem BaÅlatma (YÃS Web/Mobil Arayüzü): ÃHK bir iÅlemi YÃSâün web/mobil arayüzünde baÅlatır. YÃS uygulaması, ÃHK'nın tekil bir kullanıcı kimliÄini rızaya ekleyerek bir rıza baÅlatma iÅlemini HHSâye iletir. HHS, tekil kullanıcı kimliÄini kullanarak ÃHK'nın mobil uygulamasına bir bildirim gönderir. \n Kimlik DoÄrulama İsteÄi (HHS Mobil Uygulama): ÃHK Mobil uygulama bildirimi alır ve mobil uygulama ÃHK'ya kimlik doÄrulama isteÄi sunar. HHSânin BDDK tarafından belirlenmiÅ GKD yöntemlerine uygun davranması beklenmektedir. \n Kimlik DoÄrulama Onayı (HHS Mobil Uygulama): Mobil uygulama, ÃHKânın kimlik doÄrulama giriÅimini doÄrular. BaÅarılı olursa rıza onayı sonrası mobil uygulama, 'Ayrık Yetkilendirme BaÅarılı' olay bildirimini YÃSâe gönderir. \n İÅlem Onayı (YÃS Web/Mobil Arayüzü): YÃS, HHS'den gelen 'Ayrık Yetkilendirme BaÅarılı' olay bildirimine konu olan rızayı kullanarak yetkilendirme koduna eriÅir. Bundan sonraki süreç eriÅim belirteci alınması servisi ile devam eder. \n \n Ayrık Güçlü Kimlik DoÄrulamanın Olay Bildirim Servisleri ile olan BaÄımlılıkları \n Ayrık GKD sürecinde; HHS'nin yetkilendirme kodunu YÃS'e iletmesi için gerekli önkoÅul olan ÃHK doÄrulaması adımının tamamlanmasını olay bildirimi ile YÃS'e yapması gerekmektedir.\nBu nedenle YÃS'lerin eÄer Ayrık GKD sürecini destekleyecek ise; /olay-dinleme endpointini açarak olay bildirimi alması zorunludur. \n Ãzetle: \n Yönlendirmeli GKD \n \n HHS mobil uygulaması olması durumunda yönlendirme adresi olarak universalLink kullanmalı. \n Bu link tanımı uygulama var ise uygulamayı aç yoksa webden devam et Åeklinde olmalı. \n YÃSâün mobilden mi webden mi geldiÄi HHS açısından önemli deÄildir. HHS olarak YÃS hangi adresi yonAdr deÄerinde göndermiÅ ise yetkilendirme süreci bittiÄinde o adrese yönlendirme yapılmalıdır. \n \n Ayrık GKD \n \n Mobil uygulaması bulunan HHS'ler için Ayrık GKD desteklenmesi zorunludur. HHSânin web olduÄu durumda Ayrık GKD akıÅı uygulanmayacaktır. Mobil uygulaması bulunup müÅteri özelinde mobil aktiflik kontrol süreci HHS inisiyatifindedir. Ayrık GKD sürecinde HHS tarafında sadece mobil uygulama üzerinden GKD yapılmalıdır. ÃHKânın web uygulamasına yönlendirme yapmaması gerekmektedir. \n ÃHKânin Mobil uygulamasının olmadıÄını tespit edebildiÄiniz her durum için rıza oluÅturma aÅamasında âTR.OHVPS.Business.CustomerMobileApplicationNotFoundâ hatası döülür. \n HHS, ÃHKânın mobil uygulamasının bulunmadıÄı bilgisine ulaÅamazsa kendisinin belirleyeceÄi bildirim yöntemlerinden biri ile ÃHKâye bilgilendirme yapar. Bildirim yöntemi SMS ise ÃHKâya mobil uygulamasını açtıracak Åekilde adres iletir, Web uygulamayı açtıracak bir link iletilmemelidir. ÃHK bu bildirimi dikkate almazsa/alamazsa veya ÃHKâda mobil uygulama yok ise bu durumda rıza süre aÅımından iptal olur. \n ÃHK mevcut bankacılık iÅlemlerinde bildirimi nasıl gönderiyorsanız (ÃrneÄin: Anlık bildirim gönderildi, alınmadı, SMSâe dönüldü gibi.) aynı Åekilde bildirim göndererek ÃHKânin uygulama üzerinden rızayı onaylaması beklenir. Buradaki akıŠHHSânin diÄer ürünleri için verdiÄi müÅteri deneyimi ile paralel olmalıdır. \n 5.2.1\tStatik Model \n YÃS'ün ÃHK'yı tanıdıÄı ve ÃHK'ya ait tanımlayıcı bilgileri HHS'ye aktarabildiÄi durumda kullanılmaktadır. Buradaki ÃHK'ya ait tanımlayıcı bilgiler TCKN, MNO , YKN, PNO, GSM, IBAN olarak belirlenmiÅtir. \n AkıŠaÅaÄıdaki gibi kurgulanmıÅtır: \n \n \n \n ÃHK, YÃS uygulaması üzerinde iÅlem baÅlatır. \n \n \n ÃHK, YÃS uygulaması içerisinde, farklı bir ortam üzerinden HHS doÄrulamasını gerçekleÅtirmek istediÄini belirtir. ÃHK'yı tanıma tip ve deÄerleri YÃS ÃHK'dan talep edebileceÄi gibi, YÃS sisteminde hali hazırda kayıtlı bilgilerle de akıÅı devam ettirebilir. \n \n \n ÃHK, YÃS'ün müÅterisi ve YÃS uygulamasına login ise tek seferlik ödeme akıÅı baÅlatamaz. \n \n \n YÃS tarafından baÅlatılan tek seferlik bir Ãdeme iÅleminin Ayrık GKD ile onaylanacaÄı durumda;\nYÃSâün ilgili kullanıcıya ait âÃHK Tanım DeÄerâ verisinin yanında iÅleme ait ve ilgili ÃHK ile eÅleÅtirilmiÅ olan ve sadece YÃS ile ÃHKânın bilebileceÄi bir deÄerin daha ÃHK tarafından saÄlanması ve YÃS tarafından kontrol edilerek eÅleÅen Ãdeme emrinin HHSâye iletilmesi gerekmektedir. ÃrneÄin; bu deÄer YÃS tarafında yapılan tek seferlik ödeme iÅlemine ait fatura numarası. \n \n \n YÃS önyüzde ÃHK'dan aldıÄı ohkTanimTip ve ohkTanimDeger deÄ
16erlerini kimlik tür ve kimlik deÄeri alanlarına atamamalıdır. \n \n \n YÃS, ayrık GKD ile iÅlem baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"ayrikGKD\"=\"E\" parametresi ile alabilir. \n \n \n YÃS, ÃHK bilgileri ile rıza oluÅturur. Rıza nesnesi içerisinde yer alan GKD nesnesinde ilgili parametreler aÅaÄıdaki Åekilde doldurulur: \n \n \n ohkTanimTip ve ohkTanimDeger parametreleri \nBu metodda; ayrikGkd nesnesi içerisindeki \"ohkTanimTip\" parametresi TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden TCKN, MNO , YKN, PNO, GSM, IBAN deÄerlerinden birini alabilir. ohkTanimDeger parametresi de seçilen tipe ait ÃHK'ya ait deÄeri içermelidir.Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin olduÄu durumlarda; ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır.Kimlik alanı içermeyen tek seferlik ödeme emri akıÅlarında bu kural geçerli deÄildir. GSM ve IBAN deÄerleri sadece tek seferlik ödemelerde kullanılabilir. \n YÃS'ten ohkTanimTip olarak gelen IBAN bilgisi sadece ÃHK'yı tanımak için kullanılabilir. Tanım tipi IBAN ile baÅlatılan bir iÅlemde ÃHK, baÅka bir IBAN ile ödeme baÅlatabilir. \n Kurumsal müÅteriler için kmlkTur ve kmlkVrs alanları ohkTanimTip ve ohkTanimDeger alanlarında gönderilmelidir. \n \n \n yetYntm parametresi \nyetYntm parametresi Ayrık GKD akıÅını ifade eden \"A\" deÄerini almalıdır. \n \n \n \n \n Ãrnek bir istek : \nPOST/ohvps/obh/s1.1/odeme-emri-rizasi \n RizaNesnesi \n {\n...\n \"gkd\": {\n \"yetYntm\": \"A\",\n \"ayrikGkd\" :{\n \"ohkTanimTip\" : \"TCKN\" \n \"ohkTanimDeger\": \"11232123212\"\n } \n },\n...\n}\n \n \n \n YÃS, ayrık GKD ile iÅlem baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"ayrikGKD\"=\"E\" parametresi ile alabilir.\nYÃS, ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.DecoupledAuthenticationNotSupported hatası iletilmelidir. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n \n \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında hata mesajı vermelidir. HHS tarafından TR.OHVPS.Business.CustomerMobileApplicationNotFound hatası iletilmelidir. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. HHS, ÃHKânın mobil uygulamasının bulunmadıÄı bilgisine ulaÅamazsa kendisinin belirleyeceÄi bildirim yöntemlerinden biri ile ÃHKâye bilgilendirme yapar. Bildirim yöntemi SMS ise ÃHKâya mobil uygulamasını açtıracak Åekilde adres iletir, Web uygulamayı açtıracak bir link iletilmemelidir. \n \n \n HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından TR.OHVPS.Business.EventSubscriptionNotFound hata kodu iletilmelidir. \n \n \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından TR.OHVPS.Resource.InvalidFormat hata kodu iletilmelidir. \n \n \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin olduÄu durumlarda; ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından TR.OHVPS.Business.CustomerInfoMismatch hatası iletilmelidir.\nKimlik alanı içermeyen tek seferlik ödeme emri akıÅlarında bu kural geçerli deÄildir. GSM ve IBAN deÄerleri sadece tek seferlik ödemelerde kullanılabilir. \n \n \n Tek seferlik ödeme iÅlemlerinde \"ohkTanimTip\" = \"GSM\"/\"IBAN\" olarak gönderilmiÅ ise, HHS sisteminde bu GSM/IBAN ile eÅleÅen müÅterileri taramalıdır. GSM/IBAN bilgisi ÃHK bazında tekil bir kullanıcıya eriÅim imkanı saÄlamaz ise TR.OHVPS.Business.InvalidCustomerInfo hatasını iletmelidir. \n \n \n Kontrollerin baÅarılı olması durumunda HHS rızayı oluÅturur ve ÃHK tekil verisi ile ulaÅtıÄı ÃHK'ya bilgilendirme mesajı gönderir. Bilgilendirme mesajı kısa mesaj ya da anlık bildirim mesajı olabilir. ÃHKânın birden fazla cihazda aktivasyonu varsa HHSânin iç süreçlerine göre mevcut durumda nasıl bir bildirim süreci iÅletiliyorsa aynı Åekilde ilerlenebilir. \n \n \n Kurumsal müÅteriler için, hangi kullacıya bildirim gitmesi isteniyor ise, rıza aÅamasında o kiÅi ayrikGkd nesnesinde gönderilir. HHS'nin rıza içerisindeki ohkTur deÄerine göre, gelen bildirime verilen cevaba uygun uygulamasını açmalıdır. Kurumsal ÃHK için rıza geldi ise, kurumsal giriÅ sayfası; bireysel ÃHK için rıza geldi ise bireysel giriÅ sayfası müÅterinin önüne açılmalıdır ve ilgili hesaplara eriÅime izin vermelidir. \n \n \n ÃHK'ya bir bildirim gelmemesi durumunda, HHS kendi sisteminde GKD sürecine devam edemez. 5 dakika sonunda rıza durumu Yetki Bekleniyor'dan Rıza İptal / Süre AÅımı (İptal kod 04) durumuna çeker. \n \n \n \n \n ÃHK, HHS sisteminden gelen bildirim mesajını alır. HHS sistemine login olduktan sonra iÅleme onay verilmezse veya GKD kontrolleri baÅarısız olursa HHS Olay Bildirim servisleri aracılıÄı ile GKD sürecinin sonlandıÄını YÃS'e iletir. Olay tipi \"AYRIK_GKD_BASARISIZ\" olacak Åekilde bir POST /olay-dinleme servis çaÄrısı yapılır.YÃS kendisine gelen olay bildirimi ile\nrıza sorgulaması yaparak iptal detay kodunu öÄrenebilir. \n \n \n ÃHK, HHS sisteminde login olduktan sonra iÅleme onay verirse; HHS tarafından rıza ile iliÅkili yetkod deÄeri üretilir.HHS, YÃS'e ÃHK için \"yetkod\" deÄeri üretildiÄinin bilgisini Olay Bildirim servisleri aracılıÄı ile iletir. Olay tipi \"AYRIK_GKD_BASARILI\" olacak Åekilde bir POST /olay-dinleme servis çaÄrısı yapılır. \n \n \n YÃS kendisine gelen olay bildirimi ile \"yetkod\" deÄerinin HHS'de üretildiÄinin bilgisini alır. \"yetkod\" deÄerini öÄrenebilmek için HHS'yi sorgulaması gerekmektedir. \nHHS'nin açacaÄı GET /yetkilendirme-kodu endpointi ile bu bilgiye eriÅebilir. \n \n \n YÃS, \"yetkod\" ile POST /erisim-belirteci endpointinden eriÅim belirteci alır. Böylelikle ÃHK'nın Ayrık GKD süreci tamamlanmıŠolur. \n 5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi \n CSRF Ataklarından korunmak için ve YÃS uygulamasının bir önceki durumunu restore edebilmesi için; YÃS tarafından iletilen yönlendirme ve bildirim adreslerine , Oauth2 standartlarındaki state parametresine eÅdeÄer, durum ko
16du (drmKod) parametresinin eklenmesi gerekmektedir. Durum kodu parametresi YÃS tarafından üretilen, tekil ve kolay tahmin edilemeyen bir deÄer olmalıdır. Rıza isteÄi gönderimi aÅamasında oluÅturulmalıdır. YÃS uygulamasında uygun bir yerde saklanmalıdır (cookie, session, local storage gibi) . \n Durum kodu, rıza isteÄindeki yönlendirme adresine parametre olarak eklenir. GKD süreci sonrasında yetki kodu ile birlikte bu bilgi, HHS tarafından YÃSâe iletilir. YÃS sakladıÄı deÄer ile parametre olarak gelen deÄerin eÅitliÄini kontrol eder. Aynı ise eriÅim belirteci almak üzere akıÅı ilerletir. Farklı ise iÅlemi keser. \n 5.4 Güçlü Kimlik DoÄrulama Kontrolleri \n ÃHK, GKD için HHS uygulamasına yönlendirildiÄinde, HHSânin çeÅitli kontroller yaparak iÅlemin doÄruluÄunu teyit etmesi gerekmektedir.\nYapılması gereken kontrollere ait temel senaryolar aÅaÄıdaki tabloda belirtilmiÅtir. Bu senaryolar baz alınarak HHSâler tarafından zenginleÅtirilebilir. \n AÅaÄıdaki tabloda yer alan 07-13 arası Rıza İptal Detay Kodlarının oluÅtuÄu senaryolar, HHS uygulamasında yapılan kullanıcı doÄrulama öncesi ve sonrası olarak iki adımda incelenmelidir. \n HHS tarafında, kullanıcı doÄrulama öncesinde yapılan kontroller neticesinde verilemeyen rızalar için â04â : Süre AÅımı : Yetki Bekleniyor iptal kodu atanır. HHS'nin YÃS uygulamasına 04 kodunu iletmesi beklenmez. YÃS zaman aÅımı neticesinde rıza statüsünü sorgulayarak öÄrenir. \nKullanıcı doÄrulandıktan sonra rıza verilemiyorsa ilgili hata kodunun YÃS'e iletilmesi beklenmektedir. Kullanıcı doÄrulama sonrası YÃS'e iletilen rıza iptal detay kodu ile HHS veri modelinde tutulan rıza ile iliÅkili rıza iptal detay kodu, aynı deÄeri alacak Åekilde güncellenmelidir. YÃS, HHS tarafından kendine iletilen rıza iptal detay kodunu kendi veri modelinde güncellemelidir. \n Zorunlu olarak belirtilen hata durumlarının HHSâler tarafından gerçeklenmesi ve uygun hata kodlarının YÃSâe iletilmesi; ileride oluÅabilecek mutabakatlaÅma sorunlarını ortadan kaldırabilecek, yapılacak raporlamalar kapsamında sistem ve süreç iyileÅtirmelerine katkı saÄlayacak, son kullanıcı açısından da alınan hataya yönelik bilgilendirici içerik saÄlayacaktır. \n Hata açıklamaları; hata koduna uygun ya da uyumlu olmak kaydıyla, HHS ve YÃS tarafından farklı Åekillerde sunulabilir. \n GKD Sırasında yapılması gereken kontroller \n \n \n \n Rıza İptal Detay Kodu \n HHS hata açıklaması* \n Yös ekranında listelenecek örnek mesaj metni* \n Ãrnek Senaryo \n Zorunlu / Opsiyonel \n \n \n \n \n 07 \n Rıza mevcut ve durumu \"Yetkilendirildi\" veya \"Yetki Kullanıldı\" \n Yetki Hatası \n ÃHK, kullanıcı doÄrulama iÅlemi tamamlandıktan sonra YÃS ekranında ileri - geri yaparak ya da ÃHK'nın yönlendirme adresini kopyalayarak tarayıcıya yapıÅtırması ile tekrar HHS'ye yönlendirir. Bu durumda HHS bu rıza iptal detay kodunu iletir. HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 08 \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. \n İÅlem gerçekleÅtirilememiÅtir. \n YÃS tarafından baÅlatılan rıza içerisinde yer alan kimlik bilgisi (örn:TCKN) ile HHS'de baÅarılı kimlik doÄrulama yapılan ÃHK'nın bilgilerinin uyuÅmadıÄı durumda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 09 \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) \n Gösterilebilecek hesap/kart bulunamamıÅtır. \n HHS, kullanıcı doÄrulama yaptıktan sonra, ÃHK'nın uygun statülü hesabının olmadıÄı durumda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 10 \n ÃHK'nın Açık Bankacılık kanalı iÅleme kapalı \n ÃHK'nın Açık Bankacılık kanalı iÅleme kapalı \n Açık bankacılıÄı ayrı bir kanal olarak tanımlamıŠHHS'lerde, ÃHK kullanıcı doÄrulama yaptıktan sonra yapılan kontrollerde, ÃHK'nın iÅlemlerini AB kanalına kapatmıŠolması durumunda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Opsiyonel \n \n \n 11 \n ÃHK'nın HHS'deki hesaplarında yeterli yetkisinin olmaması \n Yetki hatası \n 1- Kurumsal firma kullanıcılarının hesaplar üzerinde iÅlem yetkisinin olmaması durumunda 2- Bireysel ortak hesaplarda hesap kısıtı bulunuyorsa (para çıkıÅına izin verilmediÄi durum) HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 12 \n HHSânin, ÃHK özelinde yaptıÄı kontrollerin baÅarısız olması \n Yetki hatası \n HHS'nin, kullanıcı doÄrulama sonrası ÃHK için iç sistemlerinde yaptıÄı kontrollerin baÅarısız olması. ÃrneÄin: MüÅterinin henüz bankacılık hizmet sözleÅmesi gibi Internet Åubesi üzerinde iÅlem yapmasını engelleyen eksikleri olması durumunda veya kurumsal kullanıcıda vekalet süresinin dolması/eksik doküman olması durumunda kanal üzerinde iÅlem yapamadıÄı durum HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Opsiyonel \n \n \n 13 \n ÃHK isteÄi ile GKDâden vazgeçilmesi \n MüÅteri iÅlemden vazgeçmiÅtir. \n HHS ekranında yer alan VAZGEà butonuna basılması durumu (ÃHK,HHS uygulamasında kullanıcı doÄrulama yaptıktan sonra VAZGEà butonu olabilir.) \n Zorunlu \n \n \n 14 \n GKD İptali: Fraud Åüphesi \n İÅlem gerçekleÅtirilememiÅtir. \n HHS Fraud Åüphesi nedeniyle iÅlemin devamına izin vermez. HHS'nin, fraud kontrollerinin ödeme baÅlatma hizmeti için yapması ve â14- GKD İptali: Fraud Åüphesiâ ile rıza iptalini gerçekleÅtirmelidir. HBH servislerinde HHS'nin rıza iptal kodu 14 ile iÅlemi kesmesi HHS'nin kendi insiyatifindedir yani opsiyoneldir. \n KoÅullu \n \n \n 99 \n DiÄer \n İÅlem gerçekleÅtirilememiÅtir. \n OluÅabilecek diÄer senaryolar. \n Zorunlu \n \n \n \n GKD sırasında iletilen rıza no eÄer HHSânin sisteminde bulunamazsa durumu güncellenecek bir rıza no da olmayacaktır. HHS kendi önyüzünde bu duruma uygun bir mesaj gösterebilir. YÃSâe de DiÄer hata kodu ile bu durumu iletebilir. \n"},{frontmatter:{},regularPath:"/v1.1.0/contents/tanim-ve-kisitlamalar.html",relativePath:"v1.1.0/contents/tanim-ve-kisitlamalar.md",key:"v-e8779b46",path:"/v1.1.0/contents/tanim-ve-kisitlamalar.html",content:" 1.\tTanım ve Kısaltmalar \n Tablo 1: Tanım ve Kısaltmalar \n \n \n \n Kısaltma \n Tanım \n Açıklama \n İngilizce Açıklama \n İngilizce Kısaltma \n \n \n \n \n ÃS \n Ãerçeve SözleÅme \n Ãdeme hizmeti saÄlayıcısı ile müÅteri arasında tekil veya süreklilik arz eden ödeme iÅlemlerinin yürütülmesine ve mümkün olan durumlarda ödeme hesabının açılmasına iliÅkin usul ve esasları belirleyen sözleÅme \n \n \n \n \n EPK \n Elektronik Para KuruluÅu \n Kanun kapsamında elektronik para ihraç etme yetkisi verilen tüzel kiÅi \n Electronic Money Institution \n EMI \n \n \n FAST \n Fonların Anlık ve Sürekli Transferi \n TCMB tarafından iÅletilen Fonların Anlık ve Sürekli Transferi Sistemi \n \n \n \n \n FAST TR-Karekod \n FAST-TR Karekod Teknik İlke ve Kurallar Rehberi \n TR Karekodâun FAST Sistemi aracılıÄıyla gerçekleÅecek iÅlemlerde kullanılmasına iliÅkin detaylı teknik ilke ve kurallarını içeren doküman \n \n \n \n \n GEÃİT \n BKM API Geçidi \n Bankalararası Kart Merkezi (BKM) tarafından geliÅtirilen ve taraflara standart Açık Bankacılık iÅlemleri sunulmasını saÄlayan API Geçidi uygulaması \n \n \n \n \n GKD \n Güçlü Kimlik DoÄrulama \n Kimlik doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin bildiÄi, sahip olduÄu veya biyometrik bir karakteristiÄi olan bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntem \n Strong Customer Authentication \n SCA \n \n \n İB \n İÅlem Bilgisi \n GerçekleÅtirilen iÅleme iliÅkin iÅlem zamanını, iÅlemin niteliÄini ve ödeme iÅlemi için ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve ödemenin göndereni ile alıcısını veya toplu ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve göndereni ile alıcılarını içeren bilgi \n \n \n \n \n İDK \n İÅlem DoÄrulama Kodu \n Kimlik doÄrulama yöntemlerinden biriyle kendisini sisteme tanıtan bir müÅterinin gerçekleÅtirmek istediÄi
16iÅleme özgü olmak ve belirli bir geçerlilik süresi içinde iÅlem onayında kullanılmak üzere oluÅturulan, finansal sonuç doÄrunan iÅlemlerde kiÅiye onay anında ilgili iÅlem bilgisi (İB) ile birlikte gösterilen, alıcı veya tutarın deÄiÅmesiyle geçersiz hale gelen bilgi \n Authentication Code \n AC \n \n \n KOLAS \n Kolay Adresleme Servisi \n Fon transferlerinde hesap numarası ile ad soyad yerine kullanılan ve belirli bir hesap ile eÅleÅtirilmiÅ telefon numarası, e-posta adresi, T.C. Kimlik Numarası (TCKN), Vergi Kimlik Numarası (VKN), Yabancı Kimlik Numarası veya Pasaport Numarası gibi Kolay Adres bilgilerinin kaydedilmesini, güncellenmesini ve sorgulamasını saÄlayan katman servis \n \n \n \n \n HBHS \n Hesap Bilgisi Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (g) bendinde tanımlanan ödeme hizmetini (hesap bilgisi hizmetini) sunan tüzel kiÅi \n Account Information Service Provider \n AISP \n \n \n HHS \n Hesap Hizmeti SaÄlayıcısı \n Nezdinde ödeme hesabı bulunan ödeme hizmeti saÄlayıcısı \n Account Servicing Payment Service Provider \n ASPSP \n \n \n ÃBHS \n Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (f) bendinde tanımlanan ödeme hizmetini (ödeme emri baÅlatma hizmetini) sunan tüzel kiÅi \n Payment Initiation Service Provider \n PISP \n \n \n ÃDK \n Ãdeme KuruluÅu \n Ãdeme hizmeti saÄlamak ve gerçekleÅtirmek için Kanun kapsamında yetkilendirilmiÅ tüzel kiÅi \n Payment Institution \n PI \n \n \n ÃH \n Ãdeme Hesabı \n Ãdeme hizmeti kullanıcısı adına açılan ve ödeme iÅleminin yürütülmesinde kullanılan hesap \n Payment Account \n PA \n \n \n ÃHK \n Ãdeme Hizmeti Kullanıcısı (MüÅteri) \n Gönderen, alıcı veya her ikisi sıfatıyla belirli bir ödeme hizmetinden faydalanan gerçek veya tüzel kiÅi \n Payment Service User \n PSU \n \n \n ÃHS \n Ãdeme Hizmeti SaÄlayıcısı \n 5411 sayılı Kanun kapsamındaki bankalar, EPK, ÃDK ve Posta ve Telgraf TeÅkilatı Anonim Åirketi(PTT) \n Payment Service Provider \n PSP \n \n \n ÃHVPS \n Ãdeme Hizmetleri Veri PaylaÅım Servisleri \n Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri \n \n \n \n \n PÃS \n Perakende Ãdeme Sistemi \n TCMB tarafından iÅletilen, iÅlemlerin Türk Lirası üzerinden gerçekleÅtiÄi MüÅteriler Arası Türk Lirası Aktarım Sistemi \n \n \n \n \n TR-Karekod \n TR-Karekod İlke ve Kuralları \n Ulusal karekod (TR Karekod) ilke ve kurallarının belirlendiÄi belge \n \n \n \n \n YÃS \n Yetkili Ãdeme Hizmeti SaÄlayıcısı \n Ãdeme emri baÅlatma hizmeti ve/veya hesap bilgisi hizmeti sunan tüzel kiÅi \n Third Party Payment Service Providers \n TPP \n \n \n \n"},{frontmatter:{},regularPath:"/v1.1.0/deneyalani/genel-bilgiler.html",relativePath:"v1.1.0/deneyalani/genel-bilgiler.md",key:"v-70a6dc4e",path:"/v1.1.0/deneyalani/genel-bilgiler.html",content:" GENEL BiLGİLER: \n ÃHVPS API İlke ve Kuralları dokümanına istinaden geliÅtirmelerini yapan/yapacak olan katılımcılar geliÅtirdikleri sürüme ait APIâlerin nasıl çalıÅtıklarını görmek istediklerinde âDeney Alanıâ üzerinden gözlem yapabilirler. Bu kapsamda, Deney Alanı katılımcılara tarayıcı üzerinden statik verilerle iÅlem baÅlatarak, dönen yanıtı inceleme imkanı sunar. \n Deney Alanı ile sunulan imkanlar Åu Åekildedir: \n \n Servisler durum bilgisi içermeyecek Åekilde (stateless) olarak sunulmaktadır. \n Güçlü Kimlik DoÄrulama akıÅlarında kurum özelinde oluÅturulan yetkilendirme kimlik bilgilerine ihtiyaç duyulmamaktadır. \n Yanıt veri kümesi statiktir. Servislere yapılan istekler, her zaman aynı yanıtı dönmektedir. \n Yeni oluÅturma, güncelleme, silme iÅlemleri kaynak veri üzerinde deÄiÅiklik yapmamaktadır. \n Deney alanı genelin kullanımına açıktır. Ãyelik kaydı olmaksızın Deney Alanı üzerinden API incelemeleri gerçekleÅtirilebilmektedir. \n API dokümanında yapılacak minor deÄiÅiklikler deney alanına yansıtılmayacaktır. \n \n Not: Deney Alanıânın kapsamı geniÅletilmiÅ versiyonu â âBKM ÃHVPS Simülatörâ uygulaması hem HHS hem de YÃS katılımcılarının; test uygulamalarını uçtan uca test edebilebileceÄi bir ortamdır. Simülatör uygulaması üzerinden dinamik veri giriÅi yaparak, geliÅtirilen servisler ile zorunlu senaryoların tümünün simülasyonu gerçekleÅtirilebilir. Simülatör ortamındaki APIâler, üretim ortamının bir kopyası olacak Åekilde oluÅturulmuÅtur ve kurumların üretim ortamına hazır hale gelmelerine aracılık eder. Bu uygulama, pürüzsüz bir üretim ortamı geçiÅi imkanı saÄlar ve ÃHVPS BKM Teknik Sertifikasyonu geçmek için koÅulması gereken sertifikasyon senaryoları BKM ÃHVPS Simülatörâü üzerinden sunulmaktadır. BKM Simülatör kullanımı için ayrı bir süreç iÅletilmekte olup daha fazla detaylı bilgi almak için [email protected] adresine taleplerinizi iletmeniz gerekmektedir. \n Ãdeme Emri BaÅlatma API Deney Alanı \n"},{title:"3. Temel Prensipler",frontmatter:{},regularPath:"/v1.1.0/contents/temel-prensipler.html",relativePath:"v1.1.0/contents/temel-prensipler.md",key:"v-2fcc3a95",path:"/v1.1.0/contents/temel-prensipler.html",headers:[{level:2,title:"3.1 Genel",slug:"_3-1-genel"},{level:2,title:"3.2.\tİstem (ÃaÄrı) ve Oturum",slug:"_3-2-istem-cagrı-ve-oturum"},{level:2,title:"3.3.\tRESTful API",slug:"_3-3-restful-api"},{level:2,title:"3.4.\tSürüm Yönetimi",slug:"_3-4-surum-yonetimi"},{level:2,title:"3.5.\tKaynak URI Yol Yapısı",slug:"_3-5-kaynak-uri-yol-yapısı"},{level:2,title:"3.6.\tKarakter Kodlama",slug:"_3-6-karakter-kodlama"},{level:2,title:"3.7.\tVeri Formatı",slug:"_3-7-veri-formatı"},{level:2,title:"3.8.\tİstemci Sertifika Yönetimi",slug:"_3-8-istemci-sertifika-yonetimi"},{level:2,title:"3.9.\tYetkilendirme Türleri",slug:"_3-9-yetkilendirme-turleri"},{level:2,title:"3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları",slug:"_3-10-istek-cevap-mesajlarında-kullanılan-nesne-yapıları"},{level:2,title:"3.11. Sayfalandırma ve Filtreleme",slug:"_3-11-sayfalandırma-ve-filtreleme"},{level:2,title:"3.12. Mesaj İmzalama",slug:"_3-12-mesaj-imzalama"},{level:2,title:"3.13. Durum Kodu",slug:"_3-13-durum-kodu"},{level:2,title:"3.14. Gereksinimlerinin Sınıflandırılması",slug:"_3-14-gereksinimlerinin-sınıflandırılması"},{level:2,title:"3.15. İstek BaÅlıÄı",slug:"_3-15-istek-baslıgı"},{level:2,title:"3.16. Yanıt BaÅlıÄı",slug:"_3-16-yanıt-baslıgı"},{level:2,title:"3.17. Idempotency Kuralları",slug:"_3-17-idempotency-kuralları"},{level:2,title:"3.18. HTTP Durum Kodları",slug:"_3-18-http-durum-kodları"},{level:2,title:"3.19. Maskeleme Kuralları",slug:"_3-19-maskeleme-kuralları"},{level:2,title:"3.20. Fonksiyonel Olmayan Gereksinimler",slug:"_3-20-fonksiyonel-olmayan-gereksinimler"},{level:2,title:"3.21. Otomatik Sorgular",slug:"_3-21-otomatik-sorgular"}],content:' 3. Temel Prensipler \n Bu bölümde Ãdeme Hizmetleri Veri PaylaÅım Servisleri (Hesap Bilgisi Hizmeti, Ãdeme Emri BaÅlatma Hizmeti) için tanımlanan temel prensipler açıklanmaktadır. \n 3.1 Genel \n \n \n HHSâler YönetmeliÄin 59. maddesinin beÅinci fıkrası ve Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄin (TebliÄ) 23. maddesinin birinci fıkrası uyarınca, ödeme hizmetleri veri paylaÅım servislerini GEÃİT aracılıÄıyla HBHS ve ÃBHSâye sunmakla yükümlüdür. \n \n \n TebliÄin 23. maddesinin ikinci fıkrası uyarınca ödeme emri baÅlatma hizmetinde açık iletiÅim servisinin tarafları ÃBHS ile HHSâdir. \n \n \n TebliÄin 23. maddesinin üçüncü fıkrası uyarınca hesap bilgisi hizmetinde açık iletiÅim servisinin tarafları HBHS ile HHSâdir. \n \n \n YönetmeliÄin 60. maddesinin birinci fıkrası uyarınca müÅteri, ödeme emri baÅlatma hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n YönetmeliÄin 61. maddesinin birinci fıkrası uyarınca müÅteri, hesap bilgisi hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n TebliÄin 25. maddesi uyarınca HHS ve YÃS (ÃBHS ve HBHS) arasında baÄlantı uçtan uca güvenli bir Åekilde saÄlanır. Bu amaçla iletim katmanında TLS (asgari 1.2 sürümü) ile Åifreli iletiÅim saÄlanır. \n \n \n TebliÄin 23. maddesinin dördüncü fıkrası uyarınca HHS tarafından sunulan ödeme hizmetleri veri paylaÅım servislerini kullanan yetkilendirilmiŠödeme hizmeti saÄlayıcılarının TCMB tarafından ilgili ödeme hizmeti için yetkilendirilmiÅ olduÄu kontrol edilir. \n \n \n TebliÄin 25. maddesinin beÅinci fıkrası uyarınca zaman damgası, 15/1/2004 tarihli 5070 sayılı Elektronik İmza Kanunu kapsamında tanımlanan zaman damgasına dayanır. \n \n \n API alan isimleri Türkçe olarak tanımlanmıÅtır. Ancak API baÅlıÄı (header) alanındaki alan isimleri özelinde, API Geçitleri tarafından otomatik olarak tanınabilmesi gözetilerek, İngilizce isimlendirme tercih edilmiÅtir. \n \n \n ÃHK halihazırda ödeme hesaplarına, çevrim içi (mobil bankacılık, internet bankacılıÄı vb.) eriÅebilir durumda ise, HHS\'nin varsa Açık Bankacılık kanal veya yetki tanımını varsayılan deÄeri AÃIK olacak Åekilde sunması gerekmektedir. HHSânin, Bireysel/Kurumsal/Ticari müÅteri ayrımı yapmaksızın tüm müÅterileri için, çevrim içi kanallarda hesap hareketlerine eriÅim ve ödeme yapabilme yetkisi bulunması durumunda, yine aynı Åekilde Açık Bankacılık kanal veya yetki tanımını da varsayılan deÄeri AÃIK olacak Åekilde sunması gerekmektedir. HHS Açık Bankacılık hizmetini kanal/yetki tanımı ile yönetmesi durumunda hizmeti verdiÄi ilgili kanallar(web,mobil) üzerinden müÅterisine Açma/Kapama olanaÄı Åeklinde sunması gerekmektedir. \n \n \n 5411 Sayılı Kanun kapsamındaki bankalar, HHS API içerisinde Aktif durumda listelenmemiÅken, YÃS API içerisinde listelenemezler. \n 3.2.\tİstem (ÃaÄrı) ve Oturum \n \n \n Her istek tekil istek numarası ve ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) içerir. Birden fazla istek içeren iÅlem YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi (istek numarası: X-Request-ID) ve rıza sürecine özgü talep kimliÄi (iÅlem grup numarası: X-Group-ID) deÄerleri kullanılmalıdır. Aynı rıza noâya ait tüm isteklerde aynı X-Group-ID bilgisi deÄeri gönderilmelidir. \n \n \n Oturum takibi ise PSU-Session-ID ile yapılır. Oturum numarası (PSU-Session-ID) ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) ile birlikte ilgili tüm iÅlem verilerini içerecek Åekilde k
16ayıt altına alınır. \n \n \n ÃrneÄin, bir ödeme emri baÅlatma iÅlemi birden fazla istekten oluÅur. Her istek yukarıda belirtildiÄi gibi biricik istek numarası ve ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) içerir. Ancak iÅlemin oturum bütünlüÄü PSU-Session-ID ile saÄlanır. \n \n \n Taraflar açtıkları oturumu iÅlem bütünlüÄünü saÄlayacak süre içerisinde açık tutar ve iÅlem biter bitmez kapatır. \n 3.3.\tRESTful API \n APIâler, dünya ölçeÄinde yaygın bir Åekilde kullanılan Temsili Durum Transferi (Representational State Transfer, REST) mimari tarzı ve JavaScript Nesne Notasyonu (JavaScript Object Notation, JSON) veri formatlarına uygun olarak geliÅtirilir. En üst seviye Veri Tanımlama Dili (Data Description Language) ve en iyi uygulama örnekleri için ^JSON Åeması temel alınır. \n İstek ve yanıt mesajlarında, isteÄe baÄlı veya koÅullu bir alan, deÄer içermiyorsa, bu alan JSON payloadunda yer almamalıdır. \n Ãrnek kod bloÄu. \n "rzBlg":{\n "rizaNo":"aa9bd7e7-0ccd-4edc-9639-5a358dbf2335",\n "olusZmn":"2022-11-28T12:00:21+03:00",\n "gnclZmn":null, --\x3e hatalı\n "rizaDrm":"K",\n "rizaIptDtyKod":"" --\x3e hatalı \n },\n \n Ãrnek kod bloÄu: \n \n "alc":{\n "hspNo": "TR800800004162387689546019",\n "unv": "AHMET YILMAZ", \n "kolas":{} --\x3e nesne gönderimi hatalı\n },\n 3.4.\tSürüm Yönetimi \n API sonraki aÅamalarda doÄabilecek gereksinimleri ve daha karmaÅık kullanım durumlarını karÅılamak için sürümler halinde geliÅtirilir ve bu durum tasarım sırasında göz önünde bulundurulur. \n API v1.0.2 sürümünde ; \n \n Kapsamdaki ödeme hesapları : Vadesiz TL, yabancı para hesapları (gerçek ve tüzel kiÅilere ait ödeme hesapları), Kredili Mevduat Hesabı \n Tekil ödeme (Virman/Havale/FAST/MüÅterilerarası TL Aktarım Sistemi)\n \n Virman ve havale iÅlemleri kapsamında yabancı para transferi yapılabilir. \n \n \n Hesap bilgisi hizmetleri\n \n Temel veya ayrıntılı hesap bilgisi \n Bakiye \n GerçekleÅen iÅlemler için Hesap hareketleri \n \n \n Karekodlu ödemelerdeki 01, 02 ve 03 akıŠtürleri\nyer almaktadır. \n \n API v1.1.0 sürümünde ; \n \n API v1.0.2 sürümüne ek Olay Bildirim ve Ayrık GKD özellikleri eklenmiÅtir. Süreçlerin daha iyi iÅlemesi için çeÅitli güncellemeler yapılmıÅtır. \n \n Her sürüm deÄiÅikliÄinde bir önceki sürüm belirli bir süre desteklenecektir. DiÄer bir ifadeyle, sadece belirli bir süre için mevcut ve bir önceki sürüm aynı anda eriÅilebilir olacaktır. \n 3.5.\tKaynak URI Yol Yapısı \n YÃSâlerin baÅlattıÄı çaÄrılarda URI yolu aÅaÄıdaki yapıyı takip eder: \n [hhs-yol-ön-eki]/ohvps/ [kaynak-grubu]/ [sürüm]/ [kaynak]/[kaynak-no]/[alt-kaynak] \n Bu, aÅaÄıdaki unsurlardan oluÅur: \n \n [hhs-yol-ön-eki] \nİsteÄe baÄlı, HHS\'ye özgü yol ön ekini ifade eder. \nGEÃİT üzerinden yapılan çaÄrılarda BKM tarafından belirlenen sistem adı ve yol ön eki kullanılır. \n ohvps \nSabit metin âohvpsâ (Ãdeme Hizmetleri Veri PaylaÅım Servisleri kısaltması) \n [kaynak-grubu] \nKaynak grubu, APIâye eriÅmek için kullanılan ödeme hizmetine (HBH, ÃBH) göre eriÅim adresi (end point) grubunu tanımlar (âhbhâ veya âobhâ). \n [sürüm] \nAPI sürümünü ifade eder (â/s[ana-sürüm].[alt-sürüm]/â). \n [kaynak]/[kaynak-no] \nKaynak detaylarını ifade eder. \n [alt-kaynak] \nAlt kaynak detaylarını ifade eder. \n \n HHS, tüm kaynakları için aynı katılımcı yolu ön ekini ve sistem adını kullanmalıdır. \n BKM APIâlerine eriÅmek isteyen uygulamaların yetkilerine göre aÅaÄıdaki APIâlere abone olmaları gerekmektedir: \n OBH: \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s1.1/odeme-emri-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s1.1/odeme-emri \nHBH: \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s1.1/hesap-bilgisi-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s1.1/hesaplar \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s1.1/hesaplar/1234/islemler \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s1.1/hesaplar/1234/bakiye \nGKD \n https://gecit-api.bkmtest.com.tr/ohvps/gkd/s1.1/erisim-belirteci \nHHS â YÃS API \n https://gecit-api.bkmtest.com.tr/hhs-api/s1.1/hhs \n https://gecit-api.bkmtest.com.tr/hhs-api/s1.1/hhs/1234 \n https://gecit-api.bkmtest.com.tr/yos-api/s1.1/yos \n https://gecit-api.bkmtest.com.tr/yos-api/s1.1/yos/1234 \n HHSâlerin saÄlayacakları APIâlerdeki URI çevrimi örnekleri aÅaÄıdaki gibidir. \n \n https://xbank.com.tr/api-portal/ohvps/obh/s1.1/odeme-emri \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s1.1/odeme-emri (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.1/hesap-bilgisi-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s1.1/hesap-bilgisi-rizasi (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.1/hesaplar \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s1.1/hesaplar (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.1/hesaplar/1234 \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s1.1/hesaplar/1234 (BKM API) \n \n GEÃİT üzerinden yapılan çaÄrılarda, istek baÅlıÄında bulunan âx-aspsp-codeâ (isteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodu) deÄerine göre HHS APIâde standart olarak tanımlanmıŠolan âbasePathâ bilgisine servis uzantısı eklenerek HHSâye yönlendirme yapılır. \n ÃrneÄin, istek baÅlıÄında xbank âın kodu varsa, YÃS tarafından yapılan \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s1.1/hesap-bilgisi-rizasi \nçaÄrısı GEÃİT tarafından karÅılanarak \n https://xbank.com.tr/api-portal/ohvps/hbh/s1.1/hesap-bilgisi-rizasi \nadresine yönlendirilir. \n Bu örnekte, https://xbank.com.tr/api-portal basePath bilgisi HHS tarafından HHS APIâye girilen deÄerdir. \n ÃNEMLİ : URI Query parametreleri GET ile iletilirken deÄerlerde url-encode yapılmalıdır. Ãrnek bir API isteÄi; \nGET /ohvps/hbh/s1.1/hesaplar/xxx/islemler?hesapIslemBslTrh=2023-02-07T16:42:38%2B03:00&hesapIslemBtsTrh=2023-02-07T17:09:18%2B03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfKytSayi=10&syfNo=1 \n Burada \'+\' karakterinin boÅluk olarak algılanmaması için %2B deÄeri ile iletilmiÅtir. \n 3.6.\tKarakter Kodlama \n API istekleri ve yanıtlarının BaÅlık parametrelerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. 3.15. İstek BaÅlıÄı bölümünde detaylandırılmıÅtır. \n API istekleri ve yanıtlarında Gövde parametrelerinde UTF-8 karakter kodlaması kullanılır. Bu, JSON için varsayılan karakter kodlamasıdır. \n Ancak, bir HHS\'nin kendi uygulamaları ve ödeme baÅlattıÄı ödeme sistemi (Havale vb.) bazı UTF-8 karakterlerini kabul etmeyebilir. HHS, UTF-8 kodlaması içeren bir mesajı iÅleyemez ve reddederse, HTTP 400 (Hatalı İstek) durum ko
16du ile yanıt vermelidir. \n Gövde parametrelerinde desteklenen UTF-8 karakter kümesi aÅaÄıda listelenmiÅtir. \n \n \n \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n \n \n \n \n \n 20 \n = \n 3d \n X \n 58 \n r \n 72 \n \n \n ! \n 21 \n ? \n 3f \n Y \n 59 \n s \n 73 \n\n 23 \n @ \n 40 \n Z \n 5a \n t \n 74 \n \n \n % \n 25 \n A \n 41 \n [ \n 5b \n u \n 75 \n \n \n & \n 26 \n B \n 42 \n \\ \n 5c \n v \n 76 \n \n \n \' \n 27 \n C \n 43 \n ] \n 5d \n w \n 77 \n \n \n ( \n 28 \n D \n 44 \n ^ \n 5e \n x \n 78 \n \n \n ) \n 29 \n E \n 45 \n _ \n 5f \n y \n 79 \n \n \n * \n 2a \n F \n 46 \n a \n 61 \n z \n 7a \n \n \n + \n 2b \n G \n 47 \n b \n 62 \n { \n 7b \n \n \n , \n 2c \n H \n 48 \n c \n 63 \n } \n 7d \n \n \n - \n 2d \n I \n 49 \n d \n 64 \n à \n c3 \n \n \n . \n 2e \n J \n 4a \n e \n 65 \n à \n c3 \n \n \n / \n 2f \n K \n 4b \n f \n 66 \n à \n c3 \n \n \n 0 \n 30 \n L \n 4c \n g \n 67 \n ç \n c3 \n \n \n 1 \n 31 \n M \n 4d \n h \n 68 \n ö \n c3 \n \n \n 2 \n 32 \n N \n 4e \n i \n 69 \n ü \n c3 \n \n \n 3 \n 33 \n O \n 4f \n j \n 6a \n Ä \n c4 \n \n \n 4 \n 34 \n P \n 50 \n k \n 6b \n Ä \n c4 \n \n \n 5 \n 35 \n Q \n 51 \n l \n 6c \n İ \n c4 \n \n \n 6 \n 36 \n R \n 52 \n m \n 6d \n ı \n c4 \n \n \n 7 \n 37 \n S \n 53 \n n \n 6e \n Å \n c5 \n \n \n 8 \n 38 \n T \n 54 \n o \n 6f \n Å \n c5 \n \n \n 9 \n 39 \n U \n 55 \n p \n 70 \n \n \n \n \n : \n 3a \n V \n 56 \n q \n 71 \n \n \n \n \n ; \n 3b \n W \n 57 \n \n \n \n \n \n \n \n Ancak EriÅim belirteci, Yenileme belirteci ve Authorization parametreleri daha dar bir karakter kümesi ile doldurulmalıdır. \n Bearer HTTP Authorization Åeması RFC 6750\'de tanımlanmıÅtır. https://www.rfc-editor.org/rfc/rfc6750#section-2.1 bölümünde izin verilen karakterlerin gönderilmesi beklenmektedir. Buradaki standartın her 3 parametre için de uygulanmasına karar verilmiÅtir. \n RFC 6750 içerisinde bearer token formatı Åu Åekildedir : 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"=" \nAugmented BNF for Syntax Specifications (ABNF) ile ifade edilen bu formatta token en az 1 adet alfanumerik karakter veya özel karakter ("-", "." , "_" , "~" , "+" , "/") içermeli ve 0 ya da daha çok sayıda "=" karakteri ile bitmelidir. \n ALPHA = A-Z / a-z aralıÄındaki harflerdir. \nDIGIT = 0-9 aralıÄındaki rakamlardır. \n 3.7.\tVeri Formatı \n \n Açık bankacılık kapsamındaki zaman damgası, ISO 8601 standartına uygun olarak yerel saat bilgisini ve timezone bilgisini de içerecek Åekilde " yyyy-MM-ddâTâHH:mm:ssXXX " formattaki haliyle hazırlanmalıdır. \n \n Ãrnek: "timestamp": "2021-05-30T20:34:15+03:00" \nyyyy : 4 hane yıl \nMM : BaÅa â0â eklenmiÅ, toplam 2 hane ay \ndd : BaÅa â0â eklenmiÅ, toplam 2 hane gün \nHH : BaÅa â0â eklenmiÅ, toplam 2 hane saat (0-23 arası deÄer alabilir.) \nmm : BaÅa â0â eklenmiÅ, toplam 2 hane dakika \nss : BaÅa â0â eklenmiÅ, toplam 2 hane saniye \nXXX : ISO 8601 Time zone \n \n \n Zaman damgası hesaplamalarında, yeni günün baÅlangıç saatinin 00:00:00 olduÄu kabul edilmiÅtir. \n \n \n JWT veri paketlerinde kullanılan zaman damgaları, 1 Ocak 1970 Saat 00:00:00 (UTC) anından itibaren geçen saniye sayısı deÄerini (Unix Time) kullanmalıdır. \n \n \n Bir HHS, tarihi yanlıŠbiçimlendirilmiÅ bir istek aldıÄında, 400 (Hatalı İstek) durum kodu ve ilgili hata kodu ile yanıt vermelidir. \n \n \n ISO 4217 Standartında para birimleri ve kaç basamak ondalık deÄer içerebilecekleri belirlenmiÅtir. \n https://www.iso.org/iso-4217-currency-codes.html adresinden ücretsiz olarak listeye eriÅilebilir. \nAPI Standartlarında da para birimleri ISO 4217âde tanımlanmıŠolan 3 harfli kodlarla iletilir. Tüm tutar alanları ISO 4217\'de tanımlanmıŠpara birimlerinin ondalık basamak deÄerleri de göz önünde bulundurularak iletilmelidir. Tutar alanları artı ya da eksi deÄer alabileceÄi için API deseninde tanımlanmıŠregular expressionlar dikkate alınmalıdır. \nÃrneÄin; Bakiye API\'sindeki "Kredili Mevduat Hesabı Bakiyesi" alanı "-100.25" ve "Para Birimi" alanı "TRY" olarak
16iletildiÄinde 25 deÄerinin kuruÅ olduÄu anlaÅılmalıdır. \nÃdeme Emri Rızası API\'sinde yer alan "İÅlem Tutarı" alanı "104.75" TRY olarak iletildiÄinde "75" deÄerinin kuruÅ olduÄu anlaÅılmalıdır. \n"12000" Japon Yeni için, ISO 4217âde JPY para biriminin ondalık kısmı olmadıÄından "İÅlem Tutarı" alanında "12000" ve "Para Birimi" alanında "JPY" deÄeri iletilmelidir. \n \n \n Altın para birimi özelinde ISO 4217âye uygun olarak "XAU" cinsinde ve 2 basamak ondalık rakam içerecek Åekilde iletilmelidir. ÃrneÄin içerisinde "13,50 gr" altın olan hesap için bakiye "13.50", para birimi "XAU" olarak gönderilmelidir. \n \n \n DiÄer madenlerde ondalık basamak ISO 4217 standartında tanımlandıÄı gibi olmalıdır. \n \n \n Sıralı veri tipleri büyük küçük harfe duyarlı olmalıdır. \n 3.8.\tİstemci Sertifika Yönetimi \n ÃHVPS kapsamında YÃS ve HHSâlerin güvenli bir Åekilde tanımlanması amacıyla elektronik sertifikalar kullanılır. \n ÃHVPS kapsamında tarafların güvenli bir Åekilde tanımlaması, uçtan uca güvenli iletiÅim, mesaj Åifreleme ve mesaj imzalama iÅlevleri 15/1/2004 tarihli ve 5070 sayılı Elektronik İmza Kanunuânda açıklanan elektronik sertifikalar kullanılarak saÄlanır. Elektronik sertifikada Türkiye Cumhuriyet Merkez Bankası tarafından verilen kuruluÅ kodu ve kuruluÅun türüne dair bilgiler bulunur. \n GEÃİT üzerinden yapılan eriÅimlerde YÃS ve HHSâlere önceden daÄıtılmıŠolan istemci sertifikaları kullanılarak tarafların (sunucu) kimliklerinin doÄrulanması saÄlanacaktır. İstemci sertifikaları hem test hem de üretim ortamında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi sertifikasyon sürecinde de sınanacaktır. Söz konusu sertifikaların daÄıtım prosedürleri ve kullanımlara yönelik açıklamalar EK-3âte yer verilmiÅtir. \n 3.9.\tYetkilendirme Türleri \n GEÃİT üzerinden yapılan çaÄrılarda iki temel yetkilendirme türü kullanılır: \n 1.\tİstemci Kimlik Bilgileri: MüÅteri onayının gerekmediÄi, sadece YÃSâün tanımlanıp doÄrulandıÄı API çaÄrılarında kullanılır. YÃSâün yetkilendirilmiÅ olduÄu ve faaliyet izninin yaptıÄı hizmet çaÄrısına uygun olduÄu kontrol edilir. Bu amaçla, YÃSâlere clientId ve clientSecret tahsis edilecektir. YÃSâler ilgili clientId ve clientSecret ile sadece yetkilendirilmiÅ oldukları servislere eriÅebileceklerdir. YÃSâler kendilerine BKM tarafından sunulacak APIâyi, kendi clientID ve clientSecret deÄerleri ile sorgulayarak âİstemci Kimlik Bilgileriâ belirtecini (access token) elde edeceklerdir.\nHHSâler de GEÃİT üzerindeki YÃS APIâsini sorgulama maksadı ile GEÃİT\'e geldiklerinde, kendilerine atanmıŠolan clientID ve clientSecret bilgileri ile yetki kontrolleri yapılır.\nHHSâler kendilerinden alınacak username ve password deÄerleri kullanılarak oluÅturulacak basic authentication metodu ile servislerini sunacaklardır. \n 2.\tYetkilendirme Kodu: YÃSâün doÄrulanmasının yanısıra müÅterinin GKD ile doÄrulanması gereken API çaÄrılarında kullanılır. MüÅteri doÄrulanarak yetkilendirme kodu oluÅturulması HHSânin yetkilendirme arayüzüne yönlendirilir. GKDânin baÅarıyla tamamlanması sonrasında yetkilendirme kodu YÃSâe dönülür. YÃS daha sonra HHSânin eriÅim belirteci (access token) eriÅim adresini (EK-3: POST /erisim-belirteci) çaÄırmak suretiyle yetkilendirme kodunu bir eriÅim belirteci (access token) ile deÄiÅtirerek ilgili kaynakları kullanabilir. \n Ãdeme emri baÅlatma ve hesap bilgisi hizmetlerinde hangi yetkilendirme türlerinin kullanılacaÄı bilgisi, ilgili baÅlıklardaki eriÅim adresleri (endpoints) tablolarında yer almaktadır. \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir.\nBelirli bir süre için tanımlanan eriÅim belirteci (access token) deÄerinin yenileme belirteci (refresh token) ile yenilenmesi gerekir. \n EriÅim adreslerinde kullanılan yetkilendirme türü ilgili eriÅim adresi tablolarında belirtilmiÅtir. \n 3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları \n İstek ve Cevap mesajlarında kullanılacak olan nesneler tüm elemanlarını kapsayacak Åekilde Ek-1 de listelenmiÅtir. Tüm listelenen elemanlar açısından (Uç nokta mesaj yapılarının belirtildiÄi tablolarda belirtildiÄi üzere) alanın Zorunlu (z) veya İsteÄe BaÄlı (İ) olma durumlarına göre bazı alanlar gönderilebilir veya gönderilmeyebilir. \n 3.11. Sayfalandırma ve Filtreleme \n Sayfalandırma \n ÃaÄrıya dönülen kaynak nesnesi içerisindeki kayıtlar bir sayfalandırma yapısı ile ç
16aÄrılacak Åekilde istek oluÅturulur. \n OluÅturulacak isteÄin içerisinde parametreler ile filtreleme, sayfa baÅına gösterilecek kayıt sayısı ve hangi sayfanın önyüzde gösterileceÄi bilgileri eriÅim noktasına iletilir ve ilgili kayıtlar cevap olarak alınır. \n Filtreleme \n HHS, birden çok kayıt dönülmesi gereken GET çaÄrılarında sınırlı filtreleme desteÄi saÄlamalıdır. Filtre parametreleri her zaman kaynak nesnesinin belirli alanlarına özgüdür ve nesne için tanımlanan kurallara uymalıdır. \n 3.12. Mesaj İmzalama \n Elektronik imzalar, ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini destekler. İmzaların kaynak bazında hangi istek ve yanıtlara uygulandıÄı belirlidir. \n API yalnızca TLS\'ye dayanırsa, dijital kayıtları ve inkâr edilemezlik kanıtlarını tutmak zor olur. Bu nedenle, TLS\'ye dayanmayan bir inkâr edilemezlik çözümü olarak API isteÄinin HTTP baÅlıÄında bir JWS kullanılarak saÄlanabilir. \n HTTP isteÄinin gövdesinin hash fonksiyonu (SHA256) ile özeti alınacaktır. Elde edilen özet, asimetrik anahtarları destekleyen bir algoritma kullanılarak imzalanacak ve JWS elde edilecektir. \n Bir istek, YÃS\'nin özel anahtarı ile imzalanacak ve bu isteÄe karÅılık gelen yanıt, HHS\'nin özel anahtarı tarafından imzalanacaktır. \n Tüm API istekleri ve yanıtları imzalanmaz. Mesaj imzalamanın zorunlu olup olmadıÄı, desteklenip desteklenmediÄi her API özelinde belirlenir. \n Anahtar Deposu \n HHS\'ler ve YÃS\'ler tarafından güvenilen bir Güven Otoritesi (Trust Anchor), taraflar için bir genel anahtar deposu saÄlamaktan sorumludur. \n Güven Otoritesi, taraflardan herhangi birisinin oluÅturduÄu bir anahtar çiftinin açık bölümünü saklayan merkezi bir dizin (BKM tarafından tutulan merkezi kayıt sistemi vb.) olacaktır. \n Mesajları doÄrulamak için tarafların genel anahtarlarının paylaÅılması için BKM bir servis saÄlayacaktır. HHS API olarak adlandırılımıŠolan bu servis ile HHS ve YÃS listelerine ulaÅılabildiÄi gibi doÄrulama iÅlemi için ihtiyaç duyulacak olan genel anahtarlara da bu servis üzerinden eriÅilebilinecektir. \n İlgili Mesaj Åifreleme için genel akıÅ, Ek-5 bölümünde detaylarıyla paylaÅılmaktadır. \n 3.13. Durum Kodu \n APIâler, iki farklı amaca hizmet eden iki durum kodu kullanır: \n \n HTTP Durum Kodu, API çaÄrısının (kaynaktaki HTTP iÅlemi) sonucunu yansıtır. \n Bazı kaynak payloadâlarındaki Durum alanı, kaynakların durumunu yansıtır. \n 3.14. Gereksinimlerinin Sınıflandırılması \n EriÅim adreslerinin ve alanların kullanımı Zorunlu(Z), İsteÄe BaÄlı(İ) veya KoÅullu(K) olabilir. Kullanımlara iliÅkin durumlar ve kullanımın (K) koÅullu olduÄu duruma iliÅkin açıklamalar ilgili tablolarda belirtilmiÅtir. \n ÃHVPS API\'lerinin (HBH,ÃBH,GKD) istek ve yanıtta kullanılacak baÅlık isimleri, ilgili RFC dokümanlarında ve aÅaÄıdaki tabloda yer aldıÄı Åekilde kullanılacaktır. Uygulamaya özelleÅmiÅ baÅlıklar "X-" ile baÅlayacaktır. BaÅlık isimlerinde yer alacak kısaltmalar (örn. PSU, ASPSP gibi) tamamı büyük harfle yazılacak Åekilde tanımlanacaktır. BaÅlık isimleri büyük â küçük harfe duyarlı olmamalıdır. ÃrneÄin x-request-id ya da X-Request-ID olarak gönderilmiÅ olan bir istek baÅlıÄı deÄiÅkeni, sunucu tarafında hata vermeyecek Åekilde iÅlenebilmelidir. \n 3.15. İstek BaÅlıÄı \n \n "BaÅlık isimleri" yorumlanırken küçük büyük harfe duyarlı olmamalıdır. ÃrneÄin "x-ReQuEsT-Id" geçerli bir baÅlık ismidir. \n "BaÅlık deÄerleri" yorumlanırken ise küçük büyük harf duyarlılıÄı olmalıdır. ÃrneÄin "xyz123" ile "XYZ123" deÄerleri farklıdır. \n BaÅlık deÄerlerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. ÃrneÄin "PSU-Device-Data" deÄerinde "İOS12" yazmak, büyük "İ" harfinin ISO-8859-1 içerisinde yer almamasından dolayı, hataya yol açacaktır. \n İstek ve Yanıt baÅlıÄında yer alan alanların;
16 POST GET DELETE methodlarında, OBH,HBH,GKD,OAS,ODS API\'leri bazında Zorunlu/KoÅullu/İsteÄe BaÄlı kullanım durumları aÅaÄıdaki tabloda listelenmiÅtir. \n \n Tablo 2: İstek BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n POST \n GET \n DELETE \n POST \n GET \n DELETE \n \n \n \n \n \n \n \n OBH HBH GKD \n OBH HBH GKD \n OBH HBH GKD \n OAS ODS \n OAS ODS \n OAS ODS \n \n \n X-Request-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası. Ãrnek: Ãdeme emri baÅlatma iÅ akıÅının her adımda farklı âx-request-idâ deÄeri kullanılır. ÃaÄrıların aynı yanıtı dönmesinin beklendiÄi durumlarda (idempotent iÅlemlerde) aynı deÄer ile çaÄrı yapılır. \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. Aynı rıza noâya ait tüm isteklerde aynı x-group-id bilgisi deÄeri gönderilmelidir. Ãrnek: Ãdeme emri baÅlatma/hesap bilgisi iÅ akıÅının her adımında aynı âx-group-idâ deÄeri kullanılır. \n Z \n Z \n Z \n - \n - \n - \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder. Bu deÄerin application/json olarak gönderilmesi gerekmektedir. Hata durumlarında application/problem+json da iletilebilir. (BaÅka bir deÄere ayarlanırsa, HHS, 415 Desteklenmeyen Ortam Türü (Unsupported Media Type) ile yanıt vermelidir) \n Z \n - \n - \n Z \n - \n - \n \n \n X-ASPSP-Code \n AN4 \n Hesap Hizmeti SaÄlayıcısının (HHS) kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-TPP-Code \n AN4 \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n PSU-Auth-Date \n ISODateTime \n ÃHKânın YÃS üzerinde en son oturum açtıÄı saat. [RFC7231] ÃrneÄin: auth-date: Tue, 11 Sep 2012 19:43:31 GMT \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-IP-Address \n AN7..15 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın IP adresi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-IP-Port \n AN1..5 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın Port adresi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-GEO-Location \n AN1..36 \n ÃHKânın iÅlemi baÅlattıÄı cihazın konum bilgisi. RFC2426 standartına uygun olarak paylaÅılmalıdır. ÃrneÄin GEO:"<enlem >, <boylam>GEO:52.506931,13.144558 \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-User-Agent \n AN 1.. 255 \n ÃHKânın iÅlemi baÅlattıÄı cihazın saÄladıÄı user-agent bilgisi. (Tarayıcı, versiyon, iÅletim sistemi bilgileri) \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Timestamp \n ISODateTime \n ÃHKânın iÅlemi baÅlattıÄı cihazın tarih saat içeren zaman bilgisi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Device-ID \n AN5..40 \n ÃHK iÅlemi mobil uygulama aracılıÄıyla baÅlattıysa, kullanılan mobil uygulama ilk yüklendiÄinde oluÅturulan tekil cihaz veya uygulama belirteci. ÃHK cihazının UUID deÄeri kullanılabilir. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Device-Data \n AN1..1024 \n ÃHKânın iÅlemi baÅlattıÄı mobil cihaza ait veriler. Ãrnek alanlar: - Platform - (Android, iOS, Windows 10 Mobile) - Device Model - OS Name - OS Version - Locale - Time zone \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Initiated \n AN1 \n İÅlemin ÃHK tarafından baÅlatılması durumunda E , sistem tarafından baÅlatıldıÄı durumda H deÄerini, olay bildirimine istinaden yapılacak isteklerde O deÄerini alması beklenir. İÅlemler servisinde yapılacak sistemsel sorgulardaki iÅlem limitlerini kontrol amacıyla kullanılır. O deÄerinin gönderilebileceÄi API\'ler Asıl Verinin Elde EdileceÄi API olarak ilgili sayfada yer alan Olay Tipleri ve Kaynak Tipleri İliÅkisi tablosunda yer almaktadır. Asıl verinin elde edileceÄi API\'ler özelinde O gönderimi yapılabilir. O olarak yapılan her isteÄe HHS\'nin yanıt vermesi gereklidir. Otomatik sorgularda uygulanan üst limitler, O gönderimi durumunda geçerli deÄildir. \n Z \n Z \n Z \n - \n
16- \n - \n \n \n PSU-Fraud-Check \n AN1..4096 \n YÃS\'lerin çeÅitli güvenlik kontrollerini gerçekleÅtirerek, önemli görülen aÅaÄıdaki bilgileri HHS\'ler ile paylaÅmaları gerekmektedir. Bu bilgiler ıÅıÄında müÅterinin profili oluÅturulmasına katkı saÄlanacaktır. ÃHKâlı iÅlemlerde (PSU-Initiated = E gönderildiÄi durumlarda) gönderilmesi zorunludur. Sistemsel yapılan API çaÄrımlarımda, Olay Bildirim Servis ÃaÄrımlarında ve HHS-YÃS API çaÄrımlarında gönderilmesine gerek bulunmamaktadır. PaylaÅılacak bilgiler Åu Åekildedir. FirstLoginFlag : ÃHK\'nın, müÅterilik ömründe ilgili YÃS sistemine (mobil ya da web uygulaması) ilk login olma süresini ifade eden deÄer. ÃHK\'nın ilk yaptıÄı HBH ya da ÃBH iÅlemi deÄil, YÃS sisteminde kendini aktifleÅtirme tarih aralıÄı bilgisidir. YÃS, kullanıcının ilk login bilgisini tutarak sonraki iÅlemlerinde bu bilgiyi belirlenen format ile HHS\'ye aktaracaktır. ÃrneÄin; YÃS\'ün 7 aydır müÅterisi olan bir kullanıcı için bu alan "5" olarak YÃS tarafından beslenecektir. Burada amaç; ilgili kullanıcının YÃS\'ün eski bir müÅterisi mi, yoksa yeni bir müÅterisi mi olup olmadıÄını anlamaktır. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. DeviceFirstLoginFlag : ÃHK\'nın, müÅterilik ömründe iÅlem anında kullandıÄı cihazla YÃS uygulamasına (web ya da uygulama tabanlı) ilk login olma süresini ifade eden deÄer. ÃHK cihaz deÄiÅikliÄi yaparsa FirstLoginFlag deÄeri sabit kalmalı ancak DeviceFirstLoginFlag deÄeri deÄiÅmelidir. FirstloginFlag deÄeri ile ÃHKânın YÃS uygulamasına ilk login tarih bilgisi ile ilgili bilgi verilirken, DeviceFirstLoginFlag ile de ÃHKânın YÃS uygulamasına farklı bir cihaz aracılıÄı ile ilk login tarihinin bilgisi verilmektedir. ÃrneÄin; ÃHK 7 aydır YÃS\'ün müÅterisi olabilir, böyle bir durumda FirstLoginFlag deÄeri "5" olacaktır. Ancak son iÅlemini daha önce hiç kullanmadıÄı bir cihazdan yapmıÅtır. Yeni cihazdaki login süre aralıÄı 0-2 saat aralıÄında olduÄu için DeviceFirstLoginFlag deÄeri "1" olacaktır.FirstLoginFlag deÄeri yine "5" olarak kalmaya devam edecektir.Bu bilgi ile YÃS, ilgili HHS\'ye ilk kez geliyor olsa bile; HHS, müÅterinin YÃS\'ü uzun süredir kullandıÄını ama yeni bir cihazla iÅlemlerine devam ettiÄini anlayabilecektir. Bir ÃHK, farklı cihazlar veya platformlar üzerinden YÃS ile etkileÅime girebilir. Kullanıcı ve YÃS arasında bir oturum baÅlatılmıŠise YÃSâün tutarlı ve kalıcı bir kimlik (device id) ataması beklenmektedir. Device ID: Web sitesi veya mobil uygulama kullanıcıları için üretilen, tarayıcı ya da mobil uygulama tabanlı benzersiz (tekil) tanımlayıcı deÄer. Mobil uygulamalar için ÃHKânın ilk defa ilgili cihaza aktivasyon yaptıÄı tarih bilgisi alınmalıdır. Device ID bilgileri YÃS uygulama ortamı (web ya da uygulama tabanlı) ve ÃHK cihazı bazında tutulmalıdır. YÃSâten baÅlatılan iÅlem hangi uygulama ortamına ait ise ilgili ortamala iliÅkili tutulan Device IDânin ilk login tarihine bakılarak güncel flag deÄeri hesaplanmalıdır. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. LastPasswordChangeFlag : ÃHK\'nın, YÃS (cihaz baÄımsız) uygulamasına login olduÄu Åifre bilgisinin en son deÄiÅtirildiÄi süreyi ifade eden deÄer. MüÅterinin en son ne zaman Åifre deÄiÅikliÄi yaptıÄını anlamak için kullanılan alandır. Yeni müÅteri ve hiç Åifre deÄiÅikliÄi yapmamıŠolabilir, böyle bir durumda ilgili alan "0" olarak beslenecektir. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. BlacklistFlag : ÃHK\'nın herhangi bir sebeple YÃS\'ün sakıncalı müÅteriler listesinde bulunup bulunmadıÄını ifade eden deÄer. Burada amaç herhangi bir sebeple YÃS tarafında yasaklı olarak kayıtlı olan ÃHK bilgisinin, dolandırıcılıÄı önceden tespit etmek amaçlı HHS\'ye aktarılması olarak açıklanabilir. ÃrneÄin, YÃS tarafından tespit edilen dolandırıcı kullancılara ait device id bilgisi, bu kara listede tutulur daha sonra aynı cihazla baÅka bir ÃHK iÅlem yapacak olsa bile bu alanda ilgili bilgi "1" deÄeri ile HHS\'ye aktarılır. HHS\'de olmayıp YÃS tarafında olan bu örnekteki sakıncalı müÅteri/cihaz bilgisinin, dolaylı yoldan HHS\'ye aktarılması amaçlanmaktadır. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.VarYok sıralı veri tipinin alabileceÄi deÄerleri alabilir. MalwareFlag : YÃS uygulamasının çalıÅtıÄı cihaz üzerindeki son 21 güne ait zararlı yazılım tespit bilgisini ifade eden deÄer. ÃrneÄin ÃHK\'nın cihazında zararlı yazılım olduÄ
16u ayın 1\'inde YÃS tarafından tespit edildi. Zararlı yazılım tespitinden 2 saat sonra YÃS üzerinden login olan ÃHK\'nın durumu, "1" olarak iletilecektir. Bir gün sonra ayın 2\'sinde, yeni bir zararlı yazılım tespiti yok ancak mevcut zararlı yazılım aktifse alan "2" deÄeri ile iletilecektir. Süreler artarak 21 güne kadar TR.OHVPS.DataCode.ZmnAralik deÄerlerine göre iletilecektir.Son 21 gün içinde yeni bir tespit yoksa ayın 22\'sinden itibaren ilgili alan "0" deÄeri ile beslenecektir. Not: Zararlı yazılım, bankacılık iÅlemlerinin yapıldıÄı uygulamalara giriÅte kullanılan bilgilerin (Åifre, kullanıcı kodu gibi) ele geçirilmesi amacıyla kullanılan bir uygulama ya da kod parçacıÄı olabilir. Bu amaçlar dıÅında kullanılan (bankacılıÄa yönelik bir zararlı yazılım olmayan) yazılım tespitleri iletilmemelidir. YÃS kanallarına her bir loginde, kullanılan cihazda bir zararlı yazılım var mı yok mu kontrolü yapılmalıdır. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. AnomalyFlag : DiÄer Åüpheli durumların varlıÄını ifade eden deÄer. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.VarYok sıralı veri tipinin alabileceÄi deÄerleri alabilir. UnsafeAccountFlag : HHS tarafından aktarılan bilgi ile son 21 gün içinde ÃHK\'nın dolandırıcılık maÄduru olması durumunu ifade eden deÄer. ÃrneÄin; HHS 1, ayın 1\'inde süphe veya sahtekarlık nedeniyle bir ödeme iÅlemine izin vermediÄi durumda, bu bilgiyi rıza iptal detay kodu ile YÃS\'e aktarmıŠolur. Bu bilgiyi tutan YÃS, ilgili müÅterinin 15 dakika sonra HHS 2\'de yaptıÄı iÅlem için ilgili alanı "1" deÄeri ile besler. Böylece HHS 2, ÃHK\'nın farklı bir HHS\'de son 15 dakika içinde Åüpheli veya sahte bir iÅlemi olduÄunu anlayabilecektir. Ayın 22\'sinde yeni bir tespit/kayıt yoksa bu alan YÃS tarafından "0" olarak beslenecektir. Gönderilmesi Opsiyonel alandır.TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. Flaglar JWT claims içine key value Åeklinde eklenerek gönderilecektir. EK-5: Mesaj İmzalama AkıÅı\'nda belirtilen yöntemle imzalanarak oluÅturulan JWT PSU-Fraud-Check alanına konularak YÃS\'ler tarafından HHS\'ye iletilmelidir. \n K \n K \n Z \n - \n - \n - \n \n \n PSU-Session-ID \n AN1..100 \n İsteÄi baÅlatan YÃS tarafından belirlenen oturuma özgü talep kimliÄi. ÃHK\'nın YÃS uygulaması üzerinden kimlik doÄrulama mekanizması ile bilgi sistemlerine dâhil olmalarından iÅlemlerini tamamlayıp sistemden ayrılmalarına kadar geçecek tüm süreci kapsayacak Åekilde aynı deÄeri almalıdır. Tek seferlik ödeme gibi ÃHKânın tanınmadan baÅlatıldıÄı iÅlemlerde bu deÄer boÅ olarak iletilmelidir. \n İ \n İ \n İ \n - \n - \n - \n \n \n Authorization \n AN1..4096 \n Katılımcı ile GEÃİT arasındaki otorizasyon için kullanılan token bilgisidir. Yekilendirme türlerinden İstemci Kimlik Bilgileriâni adresler. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-Access-Token \n AN1..4096 \n ÃHKânın GKD sürecinde doÄrulanması sonrasında kullanılan eriÅim simgesi. Yetkilendirme türlerinden Yetkilendirme Kodu (GKD)ânu adresler. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. \n İ \n İ \n İ \n - \n - \n - \n \n \n X-JWS-Signature \n AN1..4096 \n Payload gövdesinin ayrılmıŠbir JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. Mesaj imzalama kullanılan API ve methoda göre gönderimi zorunludur. \n K \n K \n K \n K \n - \n - \n 3.16. Yanıt BaÅlıÄı \n \n "BaÅlık isimleri" yorumlanırken küçük büyük harfe duyarlı olmamalıdır. ÃrneÄin "x-ReQuEsT-Id" geçerli bir baÅlık ismidir. \n "BaÅlık deÄerleri" yorumlanırken ise küçük büyük harf duy
16arlılıÄı olmalıdır. ÃrneÄin "xyz123" ile "XYZ123" deÄerleri farklıdır. \n BaÅlık deÄerlerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. ÃrneÄin "Link" deÄerinde "İOS12" yazmak, büyük "İ" harfinin ISO-8859-1 içerisinde yer almamasından dolayı, hataya yol açacaktır. \n \n Tablo 3: Yanıt BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n Kullanım Durumu OBH HBH GKD \n Kullanım Durumu OAS ODS \n \n \n \n \n X-Request-ID \n AN1..36 \n YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası İlgili istek baÅlıÄındaki bilgi geri dönülür. \n Z \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. İlgili istek baÅlıÄındaki bu deÄer geri dönülür. \n Z \n - \n \n \n X-ASPSP-Code \n AN4 \n Hesap Hizmeti SaÄlayıcısının (HHS) kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n Z \n \n \n X-TPP-Code \n AN4 \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n Z \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder: application/json \n Z \n Z \n \n \n X-JWS-Signature \n AN1..4096 \n JWS imzasını içeren üstbilgi. Bu baÅlıÄın hangi yanıtlar için kullanılması gerektiÄi ilgili endpoint için belirtilmiÅtir. Hata durumlarında, yanıt gövdesi deÄeri dönülüyor ise imzalanmalı ve imza bilgisi x-jws-signature alanında iletilmelidir. Ancak uygulama katmanı tarafından yakalanamayan dolayısı ile imzalanamayan hata durumlarında x-jws-signature alanı HHS\'ler tarafından boÅ gönderilebilir. \n K \n K \n \n \n X-RateLimit-Limit \n N 1..18 \n İstek kısıtı uygulanan servislerde en fazla kaç adet istek yapılabileceÄini gösterir. Kısıt uygulanan servislerde bu baÅlıÄın dönmesi zorunludur. \n K \n - \n \n \n X-RateLimit-Remaining \n N 1..18 \n İstek kısıtı uygulanan servislerde k
16aç adet istek hakkı kaldıÄını gösterir. Kısıt uygulanan servislerde bu baÅlıÄın dönmesi zorunludur. \n K \n - \n \n \n X-RateLimit-Reset \n AN 1..255 \n İstek kısıtı uygulanan servislerde çaÄrım hakkı bittikten sonra yeniden denemeden önce beklemesi gereken süreyi (saniye cinsinden) gösterir. HTTP 429 durum kodu (Too Many Requests) ile dönülen yanıtların baÅlıÄında dönülmesi zorunludur. YÃS olarak yaptıÄınız sistemsel sorgularda; HTTP 429 durum kodu (Too Many Requests) ile dönülen yanıt aldıÄınızda tekrar sorgu yapmadan önce âX-RateLimit-Resetâ yanıt baÅlıÄını kontrol ederek, bu baÅlıktaki süre kadar bekledikten sonra yeniden sorgulama yapılması gerekmektedir. \n K \n - \n \n \n x-total-count \n N 1..18 \n Hesaplar, İÅlemler, Bakiye, İletilemeyen Olaylar servislerinde sayfalama kullanıldıÄı durumda, sorgu sonucu dönecek toplam kayıt sayısı bilgisi, bu alanda HHS isteÄine baÄlı olarak gönderilebilir. Kayıt sayısı 0 olduÄu durumda gönderimi zorunludur. \n K \n K \n \n \n Link \n 1..4096 \n âLinkâ alanının Hesap Bilgisi Hizmeti için EriÅim Adresleri tablosundaki parametre = Sayfalama olan APIâlerde ve İletilemeyen Olaylar API\'sinde gönderim yapılması zorunludur. Sayfalama yapısı kullanıldıÄında gelen yanıtta birden fazla sayfa var ise; önceki, sonraki, ilk, son sayfalara gitmek için gerekli referanslar link headerında aÅaÄıdaki örnekteki gibi doldurulabilir. x-total-count alanının gönderimi kayıt sayısı 0 olduÄu durum dıÅında isteÄe baÄlı olduÄu için; Link içerisindeki son sayfa bilgisi (last) isteÄe baÄlı hale getirilmiÅtir. âÃncekiâ( prev) ve âSonrakiâ (next) adımlarının uygun olan her durumda yer alması zorunludur. İlk sayfada âÃncekiâ seçeneÄi olmamalı, son sayfada ise âSonrakiâ seçeneÄi olmamalıdır. </ohvps/hbh/s1.1/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=6&syfKytSayi=100>; rel="next", </ohvps/hbh/s1.1/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=4&syfKytSayi=100>; rel="prev", </ohvps/hbh/s1.1/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=14&syfKytSayi=100>; rel="last", </ohvps/hbh/s1.1/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=0&syfKytSayi=100>; rel="first" Hiç hesap hareketinin olmadıÄı durumda dönen yanıt baÅlıÄınızın Åu Åekilde olması beklenmektedir. Response body: [] Response header: Link: </ohvps/hbh/s1.1/hesaplar?srlmKrtr=hspRef&srlmYon=A&syfNo=1&syfKytSayi=100>; rel="last",</ohvps/hbh/s1.1/hesaplar?srlmKrtr=hspRef&srlmYon=A&syfNo=1&syfKytSayi=100>; rel="first" x-total-count alanı da 0 olarak iletilmelidir. \n K \n K \n 3.17. Idempotency Kuralları \n YÃSâün aÅaÄıdaki durumlarda aynı istek numarası (x-request-id) ve aynı veri gövdesiyle çaÄrıyı tekrarlaması; HHSânin de bu durumlarda aynı yanıtı dönmesi gereklidir. \n \n HHSânin yanıtı kesinti/arıza nedeniyle YÃSâe ulaÅmaz ve zaman aÅımı söz konusu olması, \n ÃHK, YÃS uygulaması üzerinden çift tıklama ile mükerrer defa HHS APIâlerini çaÄırılması,\n(API kontrollerinden önce YÃS uygulamasının, çift tıklama kontrolü yapması önerilmektedir.) \n YÃS, yanıt almasına raÄmen iÅleyemeden kaybedilmesi, \n \n durumlarında HHS aÅaÄıdaki kuralları iÅletir: \n \n HHS gelen istek numarasını ve veri gövdesini birleÅtirerek checksum deÄeri üretir. \nchesksum deÄeri x-request-id|request.body ânin hash algoritmalarından (CRC32,MD5 vb) geçirilerek üretilebilir. \n HHS bu checksum deÄeri ile YÃSâe dönmüŠolduÄu yanıtı 5 dk boyunca saklar. Saklama yöntemi olarak veri tabanı veya önbellek araçları kullanılabilir. \n YÃS aynı istek numarası ve aynı veri gövdesi ile yeni bir çaÄrı yaptıÄında, aynı checksum deÄeri üretileceÄi için 5dk boyunca bu deÄere karÅılık gelen yanıtı döner. \n 5 dk sonrasında istek numarası veya veri gövdesi deÄiÅmemiÅ olsa dahi bu HHS tarafından yeni istek olarak kabul edilir. \n \n AÅaÄıdaki Public Post iÅlemleri için bu kural setinin iÅletilmesi gerekmektedir: \n 1- Ãdeme emri rızası oluÅturma \n2- EriÅim belirteci oluÅturma \n3- Ãdeme emri \n4- Hesap bilgisi rızası oluÅturma \n 3.18. HTTP Durum Kodları \n RFC 2616\'da belirlenmiÅ olan durum ko
16dları (status code) gönderilen isteÄin durumunu YÃSâa standart bir Åekilde ifade eder. EÄer bir hata varsa hatayı, gönderilen istek baÅarılı bir Åekilde iÅlem gördüyse ona iliÅkin durumu aktarır. Durum kodları genel olarak 5 kategoridedir. \n \n 1xx Bilgi \n 2xx BaÅarılı \n 3xx Yönlendirme \n 4xx İstemci Hatası \n 5xx Sunucu Hatası \n \n errorCode Alanında Kullanılabilecek Sıralı Hata Tipleri : \n \n TR.OHVPS.Resource \n \n â¨\tInvalidFormat \n â¨\tConsentMismatch \n â¨\tNotFound \n â¨\tInvalidSignature \n â¨\tMissingSignature \n â¨\tMethodNotAllowed \n â¨\tNotAcceptable \n â¨\tUnsupportedMediaType \n â¨\tConsentRevoked \n \n \n \n TR.OHVPS.Business \n \n â¨\tInvalidContent \n â¨\tInvalidAccount \n \n \n \n TR.OHVPS.Connection \n \n â¨\tInvalidCertificate \n â¨\tExceededRate \n â¨\tInvalidTPP \n â¨\tInvalidASPSP \n â¨\tInvalidToken \n â¨\tInvalidTPPRole \n \n \n \n TR.OHVPS.Server \n \n â¨\tInternalError \n â¨\tServiceUnavailable \n \n \n TR.OHVPS.Resource.InvalidFormat hatası alındıÄı durumda; fieldErrors nesnesi içerisinde verilecek hata kodları : \n \n TR.OHVPS.Field \n \n â¨\tMissing \n â¨\tInvalid \n \n \n Veri Tipi ÃrneÄi: \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "d8bd4e5f-f094-48a6-aee1-3a800e2709d9" , \n "timestamp" : "2022-12-22T10:33:15+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.islTtr.prBrm" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } , \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.kmlk.kmlkVrs" , \n "messageTr" : "boyut \'1\' ile \'30\' arasında olmalı" , \n "message" : "size must be between 1 and 30" , \n "code" : "TR.OHVPS.Field.Invalid" \n } \n ] , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" \n } \n \n Tablo 4: HTTP Durum Kodları \n \n \n \n HTTP Durum \n İstek Sonucu ve Açıklamalar \n POST \n GET \n DELETE \n \n \n \n \n 200 OK \n İstek BaÅarıyla Tamamlandı. Kaynak güncellemek için yapılan (örneÄin, GET) ve baÅarıyla tamamlanan isteklerinde kullanılır. \n H \n E \n H \n \n \n 201 Created \n İstek BaÅarılı Oldu. Kaynak yaratma isteÄi (örneÄin, POST /ödeme-emri-rizasi) baÅarıyla sonuçlandı. \n E \n H \n H \n \n \n 204 No Content \n Silme iÅlemi baÅarıyla tamamlandı. Kaynak silme isteÄi (örneÄin, DELETE /hesap-rizasi/{RizaNo} ) baÅarıyla sonuçlandı. \n H \n H \n E \n \n \n 400 Bad Request \n İstekte bozuk, eksik veya uyumlu olmayan JSON gövdesi, URL parametreleri veya baÅlık alanları var. İstekle baÅlatılan iÅlem yapısal bozukluk, eksik veya tutarsız veri veya HHS tarafındaki kontrollerin hatalı sonuçlanması nedeniyle hata ile sonuçlanır ve hataya iliÅkin veriler hata nesnesi içerisinde dönülür. \n E \n E \n E \n \n \n 401 Unauthorized \n Yetkilendirme baÅlıÄı eksik, hatalı veya geçersiz olduÄundan istek yetkilendirilmediÄinde ve eriÅim reddedildiÄinde http 401 kodu dönülmelidir. \n E \n E \n E \n \n \n 403 Forbidden \n EriÅim belirtecinin veya rızanın kapsamı uyuÅmuyor. YÃS bir hesaba/iÅlem kaynaÄına eriÅmeye çalıÅır ve YÃS, istenen kaynaÄa eriÅmek için geçerli izinlere sahip bir rızası yoktur. ÃrneÄin; hesap bilgisi rızası bakiye izni almamıÅtır ancak /bakiyeler adresinden istekte bulunmuÅtur. \n \n \n \n \n \n 404 Not Found \n **HHS geçerli bir API eriÅim adresini saÄlamıyorsa, o URL\'ye gelen istekler için 404 (Bulunamadı) ile yanıt vermelidir.**YÃS, uygulama esaslarında tanımlanmayan bir
16kaynak için bir URL\'ye eriÅmeye çalıÅırsa (örneÄin, GET /yurtdisi-odeme), HHS, 404 (Bulunamadı) ile yanıt vermeyi seçebilir. \n E \n E \n E \n \n \n 405 Method Not Allowed \n YÃS, desteklenmeyen bir yöntemle kaynaÄa eriÅmeye çalıÅtı. \n E \n E \n E \n \n \n 406 Not Acceptable \n İstek, geçersiz bir karakter kümesi içeriyor. \n E \n E \n E \n \n \n 415 Unsupported Media Type \n İstek gövdesi hedef kaynakta bu yöntem tarafından desteklenmeyen bir biçimde oluÅturulduÄu için iÅlem reddedildi \n E \n H \n H \n \n \n 429 Too Many Requests \n Belirli bir süre içinde çok fazla talepte bulunulduÄu için iÅlem reddedildi. HHSâler adil kullanım politikalarını aÅan talepleri kısıtlayabilir. \n E \n E \n E \n \n \n 500 Internal Server Error \n API sunucu / servis katmanında sorun oluÅtu. İÅlem baÅarısız. 5XX hata durumlarında yanıt gövde deÄeri olmadıÄı için mesaj imzalama yapılamaz ve x-jws-signature alanı boÅ olarak iletilir. Bu durumda x-jws-signature kontrolü yapılmamalıdır. \n E \n E \n E \n \n \n 503 Service Unavailable \n Hizmet sürümü kullanımdan kaldırıldı. Bir API\'nin kullanımdan kaldırıldıÄı ve artık bir HHS tarafından operasyonel olarak desteklenmediÄi durumlarda, URI yolu hala etkin olabilir ve API isteklerini kabul edebilir. Bu durumda, YÃS\'ün API sürümünün çevrimdıÅı olduÄunun farkında olması için 503 Hizmet Kullanılamıyor dönmesi önerilir. \n E \n E \n E \n \n \n \n Hata Ãrnekleri: \n 400 Bad Request \n TR.OHVPS.Business.InvalidContent hatası HHS tarafından yapılacak iÅ kuralı kontrollerinin baÅarısız olduÄu durumda verilmelidir. \n TR.OHVPS.Resource.InvalidFormat hatası Åema validasyonu, alan uzunluk ve varlık kontrollerinin baÅarısız olduÄu durumda verilmelidir. \n \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "7f115b9c-d7c2-4a2a-bc45-5a9891c79072" , \n "timestamp" : "2022-12-22T10:47:57+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.alc.unv" , \n "messageTr" : "boyut \'3\' ile \'140\' arasında olmalı" , \n "message" : "size must be between 3 and 140" , \n "code" : "TR.OHVPS.Field.Invalid" \n } , \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.islTtr.ttr" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } \n ] , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" \n } \n\n \n Zorunlu header alanlarından biri ya da birkaçı eksik olarak gönderilirse aÅaÄıdaki gibi bir hata dönüÅü gerçekleÅebilir. \n HHS uygulaması tarafından dönülebilecek hata örnekleri: \n \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "2005515d-f0e6-4a07-a439-0ef3b0f56011" , \n "timestamp" : "2022-12-22T10:39:26+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" , \n "fieldErrors" : [ \n { \n "field" : "X-Request-ID" , \n "messageTr" : "X-Request-ID deÄeri boÅ olamaz." , \n "message" : "X-Request-ID cannot be null." , \n "code" : "TR.OHVPS.Field.Invalid" \n } \n ] \n } \n\n \n Business hata örneÄi - 1: \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "677cfd9d-77c1-4ea3-8bdf-74a6e9887177" , \n "timestamp" : "2022-12-22T11:05:59+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "gonUnvan wrong" , \n "moreInformationTr" : "Gönderen Ãnvan hatalı" , \n "errorCode" : "TR.OHVPS.Business.InvalidContent" \n } \n \n Business hata örneÄi - 2: \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "5df3b402-3aca-4305-a35b-5af0f3184b40" , \n "timestamp" : "2022-12-22T11:06:47+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Sender account is disabled or not found." , \n "moreInformationTr" : "Gonderen hesap aktif deÄil veya bulunamadı." , \n "errorCode" : "TR.OHVPS.Business.InvalidAccount" \n } \n \n GEÃİT\'te yapılan zorunlu header kontrollerinde aÅaÄıdaki hatalar dönebilir: \n \n { \n "timestamp" : "2022-12-22T10:40:28+03:00" , \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "d4375748-6fc7-4f7e-94f3-6411cab1d59f" , \n "moreInformationTr" : "Geçersiz HHS kodu." , \n "errorCode" : "TR.OHVPS.Connection.InvalidASPSP" , \n "moreInformation" : "Invalid ASPSP Code" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" \n } \n \n GEÃİT tarafından dönülecek hata örneÄi: \n \n { \n "timestamp" : "2022-12-22T10:40:28+03:00" , \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "d4375748-6fc7-4f7e-94f3-6411cab1d59f" , \n "moreInformationTr" : "Geçersiz HHS kodu." , \n "errorCode" : "TR.OHVPS.Connection.InvalidTPP" , \n "moreInformation" : "Invalid TPP Code" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" \n } \n \n GEÃİT tarafından dönülecek hata örneÄi: \n \n { \n "timestamp" : "2022-12-22T11:14:05+03:00" , \n "path" : "/ohvps/hbh/s1.1/hesap-bilgisi-rizasi" , \n "id" : "ee1e3ea7-a5e5-468b-bb02-314148f84e6a" , \n "moreInformationTr" : "Geçersiz yös rolü. İlgili api çaÄrısı için yetkisi yok." , \n "errorCode" : "TR.OHVPS.Connection.InvalidTPPRole" , \n "moreInformation" : "Invalid TPP Role" , \n "httpCode" : 403 , \n "httpMessage" : "Forbidden" \n } \n\n \n 401 Unauthorized \n YÃS, süresi dolmuÅ bir eriÅim belirteci kullandıÄında, HHS 401 (Yetkisiz) http kodu ile aÅaÄıdaki hata kodunu dönmelidir. AÅaÄıdaki nedenlerden herhangi biri nedeniyle bir EriÅim Belirtecinin süresi dolduÄunda bu durum ortaya çıkabilir: \n \n Rızanın süresi doldu (Son Kullanma Tarihi geçti) \n EriÅim Belirtecinin Åüpheli kullanımı veya sahtekarlık Åüphesi \n Rızada belirlenen gün s
16ayısının aÅımı\nBu hata, müÅteriden doÄru izinlerle yeniden kimlik doÄrulaması isteyerek çözülebilir. \n \n \n { \n "path" : "/ohvps/gkd/s1.1/erisim-belirteci" , \n "id" : "ed3fd667-fc58-40ad-a982-e8937faccd15" , \n "timestamp" : "2022-12-22T11:17:33+03:00" , \n "httpCode" : 401 , \n "httpMessage" : "Unauthorized" , \n "moreInformation" : "Refresh token expired or not found in database" , \n "moreInformationTr" : "Yenileme belirteci zaman aÅımına uÄramıŠveya veri tabanında yok" , \n "errorCode" : "TR.OHVPS.Connection.InvalidToken" \n } \n \n\n \n 403 Forbidden \n Ãrn; YÃS yetkisi olmayan rol(ÃBH/HBH) ile iÅlem yapmaya çalıÅtıÄı durumda 403 hatası alarak iÅleme devam edemez. \n { \n "path" : "/ohvps/hbh/s1.1/bakiye" , \n "id" : "3e48ea98-f889-48b9-aa6e-28aabc6cfb14" , \n "timestamp" : "2022-12-22T11:20:05+03:00" , \n "httpCode" : 403 , \n "httpMessage" : "Forbidden" , \n "moreInformation" : "Forbidden" , \n "moreInformationTr" : "Bakiye Bilgileri için ÃHK izni bulunmamaktadır." , \n "errorCode" : "TR.OHVPS.Resource.Forbidden" \n } \n \n 404 Not Found \n Ãrn; GET /odeme-emri-rizasi/123456 çaÄrısı durumunda 123456 geçerli bir ödeme kaynaÄı deÄilse, HHS, 404 koduyla cevap vermelidir. \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi/123456" , \n "id" : "22f52b2d-d442-4a6a-8f39-d23eba45a34b" , \n "timestamp" : "2022-12-22T10:53:53+03:00" , \n "httpCode" : 404 , \n "httpMessage" : "Not Found" , \n "moreInformation" : "Resource not found" , \n "errorCode" : "TR.OHVPS.Resource.NotFound" , \n "moreInformationTr" : "Kaynak bulunamadı" \n } \n\n \n 405 Method Not Allowed \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "3e5c6b28-7ee4-4469-b541-843fb4a94eec" , \n "timestamp" : "2022-12-22T11:35:10+03:00" , \n "httpCode" : 405 , \n "httpMessage" : "Method Not Allowed" , \n "moreInformation" : "Method not allowed" , \n "errorCode" : "TR.OHVPS.Resource.MethodNotAllowed" , \n "moreInformationTr" : "İstek yapılan URL için izin verilmeyen metot" \n } \n \n 406 Not Acceptable \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "3e5c6b28-7ee4-4469-b541-843fb4a94eec" , \n "timestamp" : "2022-12-22T11:35:10+03:00" , \n "httpCode" : 406 , \n "httpMessage" : "Not Acceptable" , \n "moreInformation" : "Not Acceptable" , \n "errorCode" : "TR.OHVPS.Resource.NotAcceptable" , \n "moreInformationTr" : "Kabul edilmedi" \n } \n \n 415 Unsupported Media Type \n İstek baÅlıÄında content-type, JSON dıÅında bir veri iletilirse bu hata verilebilir. \n \n { \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "id" : "63cc94b6-1b51-4648-9671-95e6e2e7e03d" , \n "timestamp" : "2022-12-22T11:37:12+03:00" , \n "httpCode" : 415 , \n "httpMessage" : "Unsupported Media Type" , \n "moreInformation" : "Content type not supported" , \n "errorCode" : "TR.OHVPS.Resource.UnsupportedMediaType" , \n "moreInformationTr" : "Desteklenmeyen içerik tipiâ" \n } \n \n 429 Too Many Requests \n { \n "path" : "/ohvps/hbh/s1.1/hesaplar/aef6061f-2978-4bb4-980d-b4c634c8055b/islemler" , \n "id" : "20473c5f-2f4f-4b2e-8b66-7978aec442f7" , \n "timestamp" : "2022-12-22T00:21:07+03:00" , \n "httpCode" : 429 , \n "httpMessage" : "Too Many Requests" , \n "moreInformation" : "Exceeded rate" , \n "moreInformationTr" : "EriÅim sıklıÄı limiti aÅımı" , \n "errorCode" : "TR.OHVPS.Connection.ExceededRate" \n } \n \n 500 Internal Server Error \n { \n "id" : "1b90c6dc-0277-4755-8b05-9297ddfab743" , \n "path" : "/ohvps/obh/s1.1/odeme-emri-rizasi" , \n "timestamp" : "2022-12-22T11:41:34+03:00" , \n "httpCode" : 500 , \n "httpMessage" : "Internal Server Error" , \n "moreInformation" : "Unexpected condition was encountered." , \n "moreInformationTr" : "Beklenmeyen bir durumla karÅılaÅıldı." , \n "errorCode" : "TR.OHVPS.Server.InternalError" \n } \n\n \n 503 Service Unavailable \n \n "timestamp" : "2022-12-20T23:18:56+03:00" , \n "path" : "/ohvps/hbh/s1.1/hesap-bilgisi-rizasi/2a72678ee3d24de2be47887e4903a8c6" , \n "id" : "e76315b7-09f4-4295-b6d8-1f7fec632159" , \n "moreInformationTr" : "HHS Åu anda hizmet veremiyor." , \n "errorCode" : "TR.OHVPS.Server.ServiceUnavailable" , \n "moreInformation" : "HHS is currently unavailable" , \n "httpCode" : 503 , \n "httpMessage" : "Service Unavailable" \n 3.19. Maskeleme Kuralları \n Maskeli olarak iletilmesi gereken verilerin maskeleme kuralları Åu Åekildedir: \n \n IBAN verileri Hesap Numarası : İlk 4 ve son 4 karakteri açık, diÄer karakterler maskeli olmalıdır. Ãrnek: TR54******************4812 \n Ad-Soyadı / Ticari Unvan : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet â â karakteri konumlandırılmalıdır.\nÃrneÄin: âFATİH SERKAN ERENâ ifadesi âFA *** SE**** ER****â Åeklinde gösterilmelidir. \n Tabela Unvanı : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet \' \' karakteri konumlandırılmalıdır. ÃrneÄin âBANKALARARASI KART MERKEZİ ANONİM ÅİRKETİâ ifadesi âBA *** KA**
16** ME**** AN**** Åİ****â Åeklinde gösterilmelidir. \n YÃSâten girilen alıcı unvan ve IBAN bilgileri ödeme emri rızası ve ödeme emri yanıtında açık dönülür, Kolas akıÅında ödeme emri rızası yanıtı ve ödeme emri istek ve yanıtında maskeli taÅınır. \n 3.20. Fonksiyonel Olmayan Gereksinimler \n \n \n HHSâlerin sunuyor oldukları servisleri en fazla 3000 ms içinde yanıt dönecek Åekilde tasarlamalıdır. \n \n \n HHS\'ler mevcut online iÅlem kanallarından sundukları eriÅilebilirlik ve performans kriterlerinden daha düÅük bir hizmet kalitesi sunmamalıdır. \n \n \n HHSâlerin sunuyor oldukları servislere sistemin güvenlik ve sürekliliÄini saÄlamak adına rate limit koyma ihtiyaçları olur ise, standartlar ve ihtiyaçlara uygun Åekilde bir konfigürasyon yapabilirler. \n \n \n HHS rate limit tanımı uyguluyor ise; YÃS\'ler arasında ayrım yapmadan, adil ve makul sınırlar dahilinde uygulamalıdır. \n \n \n YÃS tarafından kullanıcının baÅlatmadıÄı otomatik sorgu limitleri 3.21 Otomatik Sorgular bölümünde detaylandırılmıÅtır. HHS\'lerin bu servisler için minimumda cevap vermesi gereken sorgu sayıları belirlenmiÅtir. Bu sayıların üzerinde yapılan servis çaÄrısına yanıt dönmek HHS inisiyatifindedir. DiÄer taraftan kullanıcının baÅlattıÄı istekler için uygulanacak limitler, HHS\'nin online iÅlem kanallarından sunulan sorgu limitlerinden daha az olmamalıdır. \n \n \n HHS\'ler, çaÄrım limitlerini aÅan istekler için HTTP 429 - Too Many Request hatasını dönmelidir. Ãrnek hata mesajı 3.18 HTTP Durum Kodları bölümünde bulunmaktadır. Rate Limit özelinde tanımlanmıŠparametreler olan X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset alanları da 3.16 Yanıt BaÅlıÄı bölümünde açıklanmıÅtır. YÃS\'ler de HHS\'nin belirlediÄi rate limit kurallarına uymakla yükümlüdür. \n 3.21. Otomatik Sorgular \n YÃS uygulaması, ÃHK\'nın baÅlattıÄı iÅlemler neticesinde API çaÄrımı yapabileceÄi gibi, sistemsel bir Åekilde otomatik API çaÄrımı da yapabilir. \nHHS, API çaÄrımının ÃHK\'lı ya da ÃHK\'sız olduÄunu istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n ÃHK YÃS uygulamasına giriÅ yaptıÄı andan çıkıŠyaptıÄı ana kadar yani ÃHK oturumu boyunca yapılan API çaÄrımlarında, PSU-Initiated deÄerinin "E" olması gerekmektedir. YÃS uygulamasında ÃHK oturumu boyunca, ÃHK\'nın bilgilerinden minimumda "bakiye" bilgisinin, uygulama arayüzlerinde güncel deÄeri ile online sorgularla gösterimi YÃS\'ün insiyatifindedir. \n ÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \n YÃS, aÅaÄıdaki API\'leri sistemsel bir Åekilde çaÄırabilir. \nHHS\'lerin bu servisler için minimumda cevap vermesi gereken sorgu sayıları belirlenmiÅtir. Bu sayıların üzerinde yapılan servis çaÄrısına yanıt dönmek HHS inisiyatifindedir. \nHHS tarafından izin verilen sorgu sayısının üzerinde yapılan bir sorgu için HTTP 429 durum kodu (Too Many Requests) hatası dönülmelidir. Yanıt gövdesinde tekrar hata nesnesinin oluÅturulması HHS inisiyatifindedir. HHS yanıt headerı alanında iletilecek X-RateLimit-Reset (saniye cinsinden) deÄeri kadar süre sonunda\nYÃS\'ün tekrar sorgulama yapması beklenmektedir. \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Otomatik Sorgu Sayısı \n \n \n \n \n 1 \n erisim-belirteci \n POST \n /erisim-belirteci \n --- \n \n \n 2 \n odeme-emri-rizasi \n GET \n /odeme-emri-rizasi/{rizaNo} \n Rıza bazında günde 4 \n \n \n 3 \n odeme-emri \n GET \n /odeme-emri/{odemeEmriNo} \n Rıza bazında günde 24 \n \n \n 4 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Rıza bazında günde 4 \n \n \n 5 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n --- \n \n \n 6 \n hesaplar \n GET \n /hesaplar \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 7 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 8 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 9 \n bakiye \n GET \n /bakiye \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 10 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Bireysel günde 4 Kurumsal ÃHK - saatte 12 \n \n \n \n YÃS ve HHS son 24 saat içerisindeki sorgu sayılarını toplayarak elde ettiÄi sonuçlarla limit kontrolü yapmalıdır (Pencere yöntemi). \n İÅlemler servisinin çaÄrım detaylarına ^Bölüm 7.8 üzerinden ulaÅılabilir. \n Hesap bilgisi rızasının YÃS tarafından otomatik bir Åekilde iptal edilmesi durumu ^Bölüm 9\'da açıklanmıÅtır. \n'},{frontmatter:{},regularPath:"/v1.1.0/deneyalani/hesap-bilgisi-api.html",relativePath:"v1.1.0/deneyalani/hesap-bilgisi-api.md",key:"v-3637769d",path:"/v1.1.0/deneyalani/hesap-bilgisi-api.html",content:" \n \
16n "},{frontmatter:{},regularPath:"/v1.1.0/deneyalani/hhs-yos-api.html",relativePath:"v1.1.0/deneyalani/hhs-yos-api.md",key:"v-3ee390dd",path:"/v1.1.0/deneyalani/hhs-yos-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v1.1.0/deneyalani/olay-bildirim-api.html",relativePath:"v1.1.0/deneyalani/olay-bildirim-api.md",key:"v-642a7506",path:"/v1.1.0/deneyalani/olay-bildirim-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v1.1.0/deneyalani/test.html",relativePath:"v1.1.0/deneyalani/test.md",key:"v-68ac6685",path:"/v1.1.0/deneyalani/test.html",content:" \n \n "},{frontmatter:{},regularPath:"/v1.1.0/deneyalani/odeme-emri-api.html",relativePath:"v1.1.0/deneyalani/odeme-emri-api.md",key:"v-6480bcc7",path:"/v1.1.0/deneyalani/odeme-emri-api.html",content:" \n \n "},{title:"8.\tDüzenli Ãdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v2.0.0/contents/duzenli-odeme-emri-hizmeti.html",relativePath:"v2.0.0/contents/duzenli-odeme-emri-hizmeti.md",key:"v-f0a9c5f2",path:"/v2.0.0/contents/duzenli-odeme-emri-hizmeti.html",headers:[{level:2,title:"Düzenli Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"duzenli-odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"8.1.\tADIM 0 - Düzenli Ãdeme Emri Rızası BaÅlatma IsteÄi",slug:"_8-1-adim-0-duzenli-odeme-emri-rızası-baslatma-istegi"},{level:2,title:"8.2.\tADIM 1 - Düzenli Ãdeme Emri Rızasının Hazırlanması",slug:"_8-2-adim-1-duzenli-odeme-emri-rızasının-hazırlanması"},{level:2,title:"8.3.\tADIM 2- Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_8-3-adim-2-duzenli-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"8.4.\tADIM 2.1 â Düzenli Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_8-4-adim-2-1-duzenli-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"8.5.\tADIM 3- Duzenli Ãdeme Emrinin OluÅturulması",slug:"_8-5-adim-3-duzenli-odeme-emrinin-olusturulması"},{level:2,title:"8.6.\tADIM 3.1- Duzenli Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_8-6-adim-3-1-duzenli-odeme-emri-sorgusu-istege-baglı"},{level:2,title:"8.7.\tADIM 4- Düzenli Ãdeme Planı Sorgulama",slug:"_8-7-adim-4-duzenli-odeme-planı-sorgulama"},{level:2,title:"8.8.\tADIM 5- Düzenli Ãdeme Emri Rıza İptali",slug:"_8-8-adim-5-duzenli-odeme-emri-rıza-iptali"}],content:" 8.\tDüzenli Ãdeme Emri BaÅlatma Hizmeti \n Ãdeme hizmeti kullanıcısının düzenli tekrar eden bir ödeme talimatı gerçekleÅtirmek istediÄi ödeme emirlerinde bu hizmeti kullanabilir. Ãdemenin Havale / PÃS / FAST ödeme sistemlerinden hangisi ile gerçekleÅeceÄine, ödeme günü geldiÄinde HHS karar verir. \n Düzenli ödeme hizmetini online bankacılık sistemlerinde sunan HHS'lerin, ÃHVPS üzerinden bu hizmetleri sunması zorunludur. Mevcutta online kanallarından bu hizmeti sundukları müÅteri segmentine (bireysel,kurumsal vb.), ÃHVPS üzerinden hizmet sunmaya devam etmeleri gerekmektedir. YÃS, bireysel müÅteri özelinde düzenli ödeme hizmeti vermeyen HHS'ye düzenli ödeme talimatı rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.IndividualCustomerNotSupported hatası , kurumsal müÅteri özelinde düzenli ödeme talimatı rızası isteÄi yapıldıÄında HHS tarafından TR.OHVPS.Business.CorporateCustomerNotSupported hatası verilmelidir. \n HHS'ler düzenli ödeme hizmetini sunuÅ bilgilerini HHS API aracılıÄı ile yayınlayacaklardır. YÃS, düzenli ödeme hizmeti baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\":\"03\" parametresi ile alabilir. YÃS, düzenli ödeme hizmeti sunmayan HHS'ye düzenli ödeme talimat rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.RegularPaymentOrderNotSupported hatası iletilmelidir. \n Düzenli ödeme emri hizmetinde TRY dıÅındaki yabancı para birimleri için HHS tarafından destek verilmemesi durumunda TR.OHVPS.Business.InvalidCurrencyCode hataası verilmelidir. \n Düzenli ödeme talimatı güncelleme hizmeti YÃS üzerinden yapılamayacaktır. ÃHK aktif olan düzenli ödeme talimat rızasını iptal ederek, yeniden oluÅturabilecektir. \n HHS üzerinden ilgili güncelleme hizmeti saÄlanabilir. Ãdeme planında yapılan güncelleme sonucunda olay bildirim ile YÃS'e bildirim saÄlanacaktır. HHS üzerinden güncelleme yapılırken son ödeme günü için ileri bir tarihe güncelleme adımı olmamalıdır. Sadece ilk oluÅturulan düzenli ödeme emri içerisindeki son ödeme gününden öncesi olacak Åekilde güncelleme yapılmasına izin verilmelidir. \n Düzenli Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n Düzenli Ãdeme Emri Rızası BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden düzenli ödeme emri rızasını baÅlatır. \n Düzenli Ãdeme Emri Rıza Hazırlanması: ÃBHS, âDüzenli Ãdeme Emri Rızası BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve düzenli ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n Düzenli Ãdeme Emrinin BaÅlatılması: ÃBHS, âdüzenli ödeme emriâni HHSâye iletir. \n Düzenli Ãdeme Emri Rıza Durumu, Düzenli Ãdeme Emri Durumu, Düzenli Ãdeme Emri Detayı Sorguları: ÃBHS, Düzenli Ãdeme Emri Rıza Durumu, Düzenli Ãdeme Emri Durumu, Düzenli Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n Düzenli Ãdeme Planı Sorguları: ÃBHS, Düzenli Ãdeme Emri için oluÅturulan talimata dair ödeme planını sorgulayabilir. \n \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin hem HBH hem de ÃBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini(önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n YÃS'ler gönderen hesap seçimini aÅaÄıdaki yöntemlerden biri ya da birkaçı ile saÄlayabilirler: \n \n YÃS, müÅterisinin ödeme hesabını HHS ekranından seçtirebilir. \n YÃS, müÅterisinden Hesap Bilgisi rızası alır. Rıza aldıÄı hesaplar üzerinden hesap referansı aracılıÄı ile düzenli ödeme emri baÅlatabilir. \n YÃS, müÅterisinin ödeme hesabını elle girmesine olanak tanıyabilir. IBAN'ı olmayan HHS'ler düzenli ödeme emri rızası adımında TR.OHVPS.Business.IBANNotSupported hatasını vermelidir. IBAN'ı olan HHS'lerin bu akıÅı desteklemesi zorunludur. \n YÃS; müÅterisinin hesap referansını elle girmesini saÄlayabilir. Hesap Referansı bilgisi ile baÅlatılan düzenli ödeme emri iÅlemlerinde HHS seçimi zorunludur. \n \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN sunmadıkları için, YÃS'ler hesap referansı ile ödeme baÅlatabilirler. Bu
16nların dıÅındaki HHS'lerin, gönderen IBAN veya hesap referansı ile ödeme akıÅını desteklemesi zorunludur. \n Düzenli Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n Düzenli Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. Ãdeme Emri Hizmeti ile aynı etki alanı(scope) kullanılmaktadır. \n Tablo : Düzenli Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n duzenli-odeme-emri-rizasi \n POST \n /duzenli-odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n DuzenliOdemeEmriRizasiIstegi \n DuzenliOdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 3 \n duzenli-odeme-emri-rizasi \n GET \n /duzenli-odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n DuzenliOdemeEmriRizasi \n \n \n 4 \n duzenli-odeme-emri \n POST \n /duzenli-odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı İstek ve Yanıt \n DuzenliOdemeEmriIstegi \n DuzenliOdemeEmri \n \n \n 5 \n duzenli-odeme-emri \n GET \n /duzenli-odeme-emri/{talimatNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n DuzenliOdemeEmri \n \n \n 6 \n duzenli-odeme-emri-rizasi-iptal \n DELETE \n /duzenli-odeme-emri-rizasi/{rizaNo}
16 \n Z \n İstemci Kimlik Bilgileri \n - \n - \n - \n \n \n 7 \n duzenli-odeme-talimat-plani \n GET \n /duzenli-odeme-emri/{talimatNo}/odeme-plani \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n DuzenliOdemeEmriPlani \n 8.1.\tADIM 0 - Düzenli Ãdeme Emri Rızası BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) düzenli ödeme emri rızası sürecini baÅlatır. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 8.2.\tADIM 1 - Düzenli Ãdeme Emri Rızasının Hazırlanması \n \n Åekil : Düzenli Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak düzenli ödeme emri rıza kaynaÄının oluÅturulmasını (DuzenliOdemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ olduÄu geçit tarafından kontrol edilir. \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahipliÄi geçit tarafından kontrol edilir. \n HHS tarafından, istek baÅlıÄındaki x-aspsp-code ile katilimciBlg içerisinde yer alan hhsKod deÄeri ile aynı olduÄunu kontrol edilir. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n \n \n \n POST baÅarılı olursa, HHS, düzenli ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren DuzenliOdemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1 HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /duzenli-odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir DuzenliOdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, düzenli ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n YÃS, düzenli ödeme hizmeti sunmayan (HHS API'de yer alan \"hizmetTipi\":\"03\" yok ise) HHS'ye düzenli ödeme talimat rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.RegularPaymentOrderNotSupported hatası dönülür. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hata kodu iletilmeli ve fieldErrors dolu olacak Åekilde hatalı alanı belirten detaylı açıklama gönderilmelidir. InvalidFormat hata kodlarında fieldErrors içeriÄi gönderilmeli ve anlaÅılır açıklama ile message, messageTr alanları doldurulması zorunludur. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n YÃS, bireysel müÅteri özelinde düzenli ödeme hizmeti vermeyen HHS'ye düzenli ödeme talimatı rızası isteÄi yapması durumunda HHS tarafından \"TR.OHVPS.Business.IndividualCustomerNotSupported\" hatası , kurumsal müÅteri özelinde düzenli ödeme talimatı rızası isteÄi yapıldıÄında HHS tarafından \"TR.OHVPS.Business.CorporateCustomerNotSupported\" hatası dönülür. \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme adresleri ile düzenli ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini y
16apar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.TPPRedirectionAddressMismatch\" hatası dönülür. \n HHS; kimlik bilgileri nesnesinde yer alan kimlik bilgileri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerNotFound\" hatası dönülür. \n Düzenli Ãdeme Emri BaÅlatma Hizmeti rıza isteÄinde bulunan ÃHKânın âAçık Bankacılık Kanal Yetkiâ tanımı yok ise \"TR.OHVPS.Business.OpenBankingChannelClosed\" hatası dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n Ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapılması durumunda HHS tarafından \"TR.OHVPS.Business.DecoupledAuthenticationNotSupported\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından \"TR.OHVPS.Business.EventSubscriptionNotFound\" hatası dönülür. \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin, ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından \"TR.OHVPS.Business.CustomerInfoMismatch\" hatası dönülür. \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS tarafından \"TR.OHVPS.Business.CustomerMobileApplicationNotFound\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n HHS kimlik bilgisi ile gönderen ünvanının uyumlu olduÄunu kontrol eder. HHS'ler EFT/FAST iÅlemlerinde kabul ettikleri kontrol kriterleri ile iÅleme izin verebilirler. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.IncorrectSenderTitle\" hatası dönülür. \n Gönderen Hesap Numarası ÃBHS tarafından iletildiÄi durumda;\n \n IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.InvalidAccount\" hatası dönülür. \n IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountCodeMismatch\" hatası dönülür. \n Hesap numarasının ÃHKâya ait olduÄu kontrol edilir.Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerAccountMismatch\" hatası dönülür. \n HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. (İlgili hesabın para transfer iÅlemine yetkisi olmaması) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountUnauthorized\" hatası dönülür. \n HHSâde gönderen hesabın aktifliÄi kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountInactive\" hatası dönülür. \n \n \n Gönderen hesap numarası için, Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile düzenli ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise \"TR.OHVPS.Business.ActiveConsentNotFound\" hatası verilmelidir. \n Düzenli ödeme emri rızasında alıcı hesap bilgileri Karekod ya da Kolas ile belirlenebilir. HHS online kanallarında düzenli ödeme hizmetini Karekod ve Kolas aracılıÄı ile kabul ediyorsa, ÃHVPS servisleri ile de kabul etmek zorundadır. YÃS tarafından düzenli ödeme emri rızası isteÄi içerisinde alıcı bilgisi için karekod ya da kolas kompleks alanları yer alması durumunda , destek vermeyen HHS'ler tarafından \"TR.OHVPS.Business.RecipientAccountTypeNotSupported\" hatası verilmelidir. \n Alıcı ve gönderen hesabın aynı olması durumunda âTR.OHVPS.Business.SenderRecipientSameâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n MüÅterinin kendi hesapları arasında talimat veremeyeceÄi durumların kontrolü için âTR.OHVPS.Business.SameAccountTransferRestrictedâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, DuzenliOdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n Bu aÅamada ÃHKânın HHS tarafından tanımlanmıŠve isteÄin veri alanında gönderen hesaba (borçlandırılacak hesaba) iliÅkin bir bilgisinin olması gerekmez. \nHesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK düzenli ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n POST /duzenli-odeme-emri-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âDuzenliOdemeEmriRizasiIstegiâ nesnesi (Tablo) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âDuzenliOdemeEmriRizasiâ (Tablo) nesnesi oluÅturulur. \n BAÅARILI İSTEK: \n Tablo : âDuzenliOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından düzenli ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n >
16 Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda düzenli ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile düzenli ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, HspRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının ünvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n Talimatın gerçekleÅeceÄi ana kadar KOLAS tanımınında deÄiÅiklik olabileceÄi için, KOLAS ile yapılan düzenli ödeme emri iÅlemleri, talimatın verildiÄi anda çözülen IBAN'a yapılacaktır. \n Kolas ile düzenli ödeme emri hizmeti desteklenmiyorsa; HHS tarafından hata dönülmelidir. \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n Karekod ile yapılan düzenli iÅlemler, talimatın verildiÄi anda çözülen IBAN'a yapılacaktır. \n Karekod ile düzenli ödeme emri hizmeti desteklenmiyorsa; HHS tarafından hata dönülmelidir. \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n HHS, YÃS'ün API deseninde \"O\" kodunu ilettiÄini kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarında: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tİÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n YÃS bu deÄeri ÃHKâyı HHSâye yönlendirmeden önceki ekranda göstermeli, ve HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak yine ÃHKâya göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âDuzenliOdemeEmriRizasiâ nesnesi Tabloâda parametrelerden oluÅur: \n Tablo : âDuzenliOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n DuzenliOdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n DuzenliOdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n DuzenliOdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n >
16 Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen ünvanını göndermesi zorunludur. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n 8.3.\tADIM 2- Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil : Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın düzenli ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, düzenli ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=D&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, düzenli ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=D&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=D&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın düzenli ödeme emri rızasını baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK, bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, düzenli ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, düzenli ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 8.4.\tADIM 2.1 â Düzenli Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âDuzenliOdemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp Düzenli Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda düzenli ödeme emri isteÄinde gönderen hesap bilgilerinin zorunlu olması nedeniyle, DuzenliOdemeEmriRizasi nesnesi sorgulanarak bu bilgiler alınmalıdır. HHS, â ADIM 2 -Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin DuzenliOdemeEmriRizasi nesnesine iÅler. \n \n Sorgulama yapılan Düzenli Ãdeme Emri HHS tarafında bulunmuyor ise \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n \n GET /duzenli-odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir DuzenliOdemeEmriRizasi k
16aynaÄının durumunu isteÄe baÄlı olarak alabilir. \n Durum \n DuzenliOdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine/Talimata DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n Düzenli Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /duzenli-odeme-emri-rizasi/{rizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âDuzenliOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-8âde yer alan parametreleri içeren âDuzenliOdemeEmriRizasiâ oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âDuzenliOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /duzenli-odeme-emri-rizasi/{rizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âDuzenliOdemeEmriRizasiâ nesnesini çekmelidir. \n 8.5.\tADIM 3- Duzenli Ãdeme Emrinin OluÅturulması \n \n Åekil 8: Duzenli Ãdeme Emrinin OluÅturulması \n POST /duzenli-odeme-emri \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS DuzenliOdemeEmri kaynaÄını oluÅturur.\nDuzenli Ãdeme emri (DuzenliOdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır. \n \n EriÅim Belirteci kontrolü yapılır. Geçerli bir EriÅim Belirteci yok ise \"TR.OHVPS.Connection.InvalidToken\" hatası dönülür. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor, Y: Yetkilendirildi ya da E: Yetki Ãdeme Emrine DönüÅtü ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n POST /duzenli-odeme-emri-rizasi ile POST /duzenli-odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır. Düzenli Ãdeme Emri rızasında gönderilen deÄerlerden farklı bir deÄer gönderildiÄi durumda âTR.OHVPS.Business.FieldMismatchâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra POST baÅarılı olursa, içerisinde tlmtNo deÄiÅkeni bulunan DuzenliOdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine/Talimata DönüÅtüâ olarak güncellenir. \n BAÅARILI İSTEK: \n Tablo 9: âDuzenliOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından düzenli ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n >Yönlendirme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n >Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. yetYntm = Y için bu nesne iletilmemelidir. \n \n \n \n >>OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >>OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n \n \n >Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. Duzenli Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Duzenli Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde, 1. HHS, Gönderen Adı ve Gönderen Hesap Numarasını düzenli ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Duzenli Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Duzenli Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. Duzenli Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n >
16 Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n Duzenli Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n Duzenli Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda düzenli ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi düzenli ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Duzenli Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Duzenli Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n KolasRef ( hem FAST hem de PÃS için aynı) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n Duzenli Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n Duzenli Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n Duzenli Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n Duzenli Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n Duzenli Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. \n RefBlg (Hem FAST hem de PÃS için aynı) \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n FAST/PÃS Acklm \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âDuzenliOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âDuzenliOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanıdır. \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n Z \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n Talimat Bilgileri \n tlmtBlg \n Kompleks: TalimatBilgileri \n
16- \n \n \n \n > Talimat Numarası \n tlmtNo \n AN1..128 \n Z \n Düzenli Ãdeme Emri nesnesinin UID'sidir. Düzenli Ãdeme Emri kaydı'na dair İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Talimat OluÅma Zamanı \n tlmtOlsZmn \n ISODateTime \n Z \n duzenliOdemeEmri nesnesinin oluÅturulma zamanı, talimatın HHS'de oluÅturulduÄu zaman bilgisidir. \n \n \n > Talimat Tutarı \n tlmtTtr \n AN1..24 \n Z \n ÃBHS'nin HHS'de belirlediÄi tutar bilgisidir. Talimata ait ilk ödeme emri kaydının tutar bilgisi iletilmelidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n > İlk Ãdeme Günü \n ilkOdmGn \n ISODate \n Z \n ÃBHS'nin HHS'de belirlediÄi ilk ödeme günü bilgisidir. AlabileceÄi minimum tarih deÄeri düzenli ödemenin verildiÄi tarihin 1 gün sonrası olabilir. Maksimum deÄer ise 30 gün olacak Åekilde seçilebilir. \n \n \n > Son Ãdeme Günü \n sonOdmGn \n ISODate \n Z \n ÃBHS'nin HHS'de belirlediÄi son ödeme günü bilgisidir. AlabileceÄi minimum gün deÄeri ilk ödeme gününün 1 gün sonrası olabilir. Maksimum deÄer ise 2 yıl olmalıdır. \n \n \n > Ãdeme Sayısı \n odmSayi \n N3 \n Z \n ÃBHS'nin HHS'de belirlediÄi ödeme sayısıdır. Minimum deÄer 2 adet olmalıdır. \n \n \n > Ãdeme Periyodu \n odmPryt \n AN1 \n Z \n ÃBHS'nin HHS'de belirlediÄi ödeme periyot bilgisidir. TR.OHVPS.DataCode.OdemePeriyodu sıralı veri deÄerlerinden birini alır. \n \n \n > Talimat Rumuzu \n tlmtRmz \n AN1..180 \n İ \n ÃBHS'nin HHS'de belirlediÄi talimata dair rumuz açıklamasıdır. İlgili alan isteÄe baÄlı olup HHS'lerin inisiyatifindedir. \n 8.6.\tADIM 3.1- Duzenli Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: Duzenli Ãdeme Emri Sorgusu \n GET /duzenli-odeme-emri/{tlmtNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla düzenli ödeme emrini sorgulayabilir. Maksimum talimata dair son ödeme gününün 5 gün sonrasına kadar sorgulama yapılabilir. Sonrasında yapılacak sorgulamalarda eriÅim belirtecinin yetki süresi sonlandıÄı için HHS TR.OHVPS.Resource.ConsentRevoked  hatasını dönmelidir.\nİptal edilmiÅ talimatın bilgileri sorgulanmak istendiÄinde de yine TR.OHVPS.Resource.ConsentRevoked  hatası verilmelidir. \n YÃS sadece kendi uygulaması üzerinden verilmiÅ düzenli ödemeleri sorgulayabilir. EriÅim izni olmayan bir ödeme emri numarası ile sorgulama yaptıÄında HHS'den TR.OHVPS.Resource.NotFound hatasını alır. \n BAÅARILI YANIT: \n GET /duzenli-odeme-emri/{tlmtNo} yanıtının (RESPONSE) gövdesinde (BODY) âDuzenliOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âDuzenliOdemeEmriâ nesnesi döner. \n 8.7.\tADIM 4- Düzenli Ãdeme Planı Sorgulama \n \n Åekil 10: Düzenli Ãdeme Planı Sorgulama \n GET /duzenli-odeme-emri/{talimatNo}/odeme-plani \n ÃBHS, bu eriÅim adresi aracılıÄıyla düzenli ödeme planını görüntüleyebilir. İptal edilen bir ödeme emri rızasına dair talimat ödeme planı görüntülenemeyecektir. İptal edilmiÅ bir talimata ait istek geldiÄinde HHS tarafından \"TR.OHVPS.Resource.ConsentRevoked\" hatası dönülmelidir. \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan \"DuzenliOdemeEmriPlani\" nesnesi Tablo-11âdeki parametrelerden oluÅur: \n Tablo 11: DuzenliOdemeEmriPlani nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Ãdeme Sıra Numarası \n odmSiraNo \n AN1..999 \
16n Z \n Ãdeme planı içerisindeki sırayı belirten deÄerdir. \n \n \n Ãdeme Tutarı \n odmTtr \n AN1..24 \n Z \n Ãdeme planı içerisinde ödeme numarası kaydına ait ödenecek tutar bilgisi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n GerçekleÅen Ãdeme Tutarı \n grckOdmTtr \n AN1..24 \n K \n Ãdeme planı içerisinde ödeme numarası kaydına ait ödenmiÅ tutar bilgisi. Kısmi ödeme yapılan iÅlemlerde kısmi ödeme tutar bilgisi eklenmelidir. Kısmi ödeme yerine ödenecek tutarın tamamı ödenmesi durumunda ilgili tutar bilgisi iletilmelidir. Ãdeme Durumu 01, 02 ve 06 olan kayıtlar için bu alanın gönderilmesi zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n Ãdeme Tutarı Para Birimi \n prBrm \n AN3 \n Z \n Tutara ait Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n Ãdeme Talimat Tarihi \n odmTlmtTrh \n ISODate \n Z \n Ãdeme planı içerisindeki ilgili ödemenin gerçekleÅmesi beklenen tarih bilgisidir. \n \n \n Ãdeme GerçekleÅme Zamanı \n odmGrckZmn \n ISODateTime \n K \n Ãdeme planı içerisindeki ilgili ödemenin gerçekleÅtiÄi tarih bilgisidir. Ãdeme durumu 01, 02 ve 06 olan kayıtlar için bu alanın gönderilmesi zorunludur. \n \n \n Ãdeme Durumu \n odmDrm \n AN2 \n Z \n Ãdeme planı içerisindeki ödemelere ait durumu belirten deÄerdir. TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. \n 8.8.\tADIM 5- Düzenli Ãdeme Emri Rıza İptali \n \n Åekil 10: Düzenli Ãdeme Emri Rızası İptali \n DELETE /duzenli-odeme-emri-rizasi/{rizaNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla düzenli ödeme emri rızasını iptal edebilir. \n DELETE /duzenli-odeme-emri-rizasi çaÄrısı, bir ÃBHS'nin önceden oluÅturulmuÅ bir düzenli ödeme emri rızasını silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, ÃBHS üzerinden bu rızasını kaldırmak isteyebilir. \n \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rıza, iptal edilen rizaNo bilgisi ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İptal edilmek istenen Düzenli Ãdeme Emri Rızası HHS tarafında bulunmuyor ise âTR.OHVPS.ResourceNotFoundâ hatası dönülür. \n Rıza durumu I ve S olmayan kayıtlar için rıza iptali saÄlanacaktır. I ve S olan kayıtlar için rıza iptal edilmek istendiÄinde HHS'ler tarafından TR.OHVPS.Resource.ConsentRevoked hatası dönülecektir. \n \n Yukarıda kontroller baÅarıyla tamamlandıktan sonra sırasıyla aÅaÄıdaki iÅlemler yapılır. \n \n Düzenli ödeme talimat planı içerisinde yer alan odmDrm deÄeri 04 ve 05 olan kayıtlar 07 durum kodu ile güncellenecektir. DiÄer durum kodları için 07 durum ko
16d güncellemesi yapılmayacaktır. \n İliÅkili düzenli ödeme emri talimatı iptal edilmelidir. \n Rıza iptal edilmelidir. \n \n Bu API çaÄrısı, müÅterinin ÃBHS üzerinden düzenli ödeme emri rızasını iptal etmesine ve HHS nezdindeki düzenli ödeme emri rızası nesnesinin silinmesini saÄlar.\nMüÅterinin ÃBHSânin veri eriÅim iznini iptal etmesi durumunda ÃBHS, HHSâde mevcut olan DuzenliOdemeEmriRizasi'na dair rıza ve talimat bilgilerini pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa\nDELETE /duzenli-odeme-emri-rizasi/{RizaNo}\nçaÄrısı aracılıÄı ile yerine getirilir. \n Servis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır.\nÃHK rızası baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ olarak ve gnclZmn zaman damgası vurularak güncellenir.\nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir:\nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (ÃBHS) \n"},{title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",frontmatter:{},regularPath:"/v2.0.0/contents/ekler.html",relativePath:"v2.0.0/contents/ekler.md",key:"v-e89e9b86",path:"/v2.0.0/contents/ekler.html",headers:[{level:2,title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",slug:"ek-1-istek-cevap-mesajlarında-kullanılacak-nesne-yapıları"},{level:2,title:"EK-2: Sıralı Veri Türleri",slug:"ek-2-sıralı-veri-turleri"},{level:2,title:"EK-3: İstemci Sertifikalarının Tanım ve Yönetimi",slug:"ek-3-istemci-sertifikalarının-tanım-ve-yonetimi"},{level:2,title:"EK-4: Sunucu Sertifikaları",slug:"ek-4-sunucu-sertifikaları"},{level:2,title:"EK-5: Mesaj İmzalama AkıÅı",slug:"ek-5-mesaj-imzalama-akısı"},{level:3,title:"İmzalama Kuralları (YÃS)",slug:"imzalama-kuralları-yos"},{level:2,title:"EK-6: HHS/YÃS API Mimarisi",slug:"ek-6-hhs-yos-api-mimarisi"}],content:' EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları \n Açık Bankacılık simülatör uygulaması üzerinde swagger dökümanlarının güncel sürümlerine eriÅim saÄlanabilir. \n EK-2: Sıralı Veri Türleri \n \n \n \n Kod \n Açıklama \n \n \n \n \n TR.OHVPS.DataCode.BrcAlc \n İÅlemin hesabı borçlandırdıÄı ya da alacaklandırdıÄı bilgisidir. B : Borç A : Alacak N : Finansal Olmayan \n \n \n TR.OHVPS.DataCode.EvetHayir \n E : Evet H : Hayır \n \n \n TR.OHVPS.DataCode.GkdTur \n GKD yapılmasını gerekli bulduÄu durumda HHS, YÃSâün belirlediÄi yöntemi dikkate alarak kendi belirlediÄi GKD yöntemini bildirir: Y: Yönlendirmeli GKD A: Ayrık GKD \n \n \n TR.OHVPS.DataCode.HHSDurumu \n A : Açık. Ãretim Ortamında HHSânin aktif bir Åekilde hizmet vermesi durumu. Y : YaygınlaÅtırma. Ãretim Ortamında HHSânin kendisi tarafından tanımlanmıŠkısıtlı ÃHKâya hizmet vermesi durumu. G : Geçici Hizmet Veremiyor. HHS servislerinde teknik bir sorun olması nedeniyle HHSânin hizmet verememesi durumu. K: Kapalı. HHSânin hizmet vermeme durumu. \n \n \n TR.OHVPS.DataCode.HHSYOSSrlmKrtr \n âkodâ : Kod âunvâ : Unvan \n \n \n TR.OHVPS.DataCode.HspDrm \n Hesabın durumunu belirtir: AKTIF PASIF KAPALI \n \n \n TR.OHVPS.DataCode.HspTip \n Hesap çeÅidini belirtir: VADESIZ KREDILI_MEVDUAT_HESABI POS CEK YATIRIM \n \n \n TR.OHVPS.DataCode.HspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.IslemAmaci \n 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aid
16at ödemesi 12: Gayrimenkul alım ödemesi 13: Motorlu taÅıt alım ödemesi 14: Borç verme/Borç ödeme 15: Hediye/baÄıÅ/yardım 16: Vergi/resim/harç ödemesi 17: Tazminat/sigorta ödemesi 18: Avukatlık/DanıÅmanlık/MüÅavirlik Ãdemesi 19: SaÄlık ödemesi 20: Kripto/dijital varlık 21: Åans oyunları/bahis ödemesi 22: EÄlence/sosyal medya ödemesi 99: DiÄer \n \n \n TR.OHVPS.DataCode.IslemTuru \n Hesap hareketleri (iÅlemler) sorgusunda dönülen İÅlem Türü (islTur) parametresi aÅaÄıdaki deÄerlerden birini alabilir: HAVALE EFT FAST PARA_YATIRMA PARA_CEKME YABANCI_PARA_HAVALE YATIRIM_HESABINA_AKTARIM YATIRIM_HESABINDAN_AKTARIM KURUM_FATURA_ODEMESI CEK SENET SIGORTA_ODEMESI UCRET_KOMISYON_FAIZ SGK_ODEMESI VERGI_ODEMESI DOVIZ_ALIM DOVIZ_SATIM KREDI_ODEMESI KREDI_KULLANIM KK_ODEMESI KK_NAKIT_AVANS SANS_OYUNU UYE_ISYERI_ISLEMLERI HGS_OGS_ISLEMLERI DOGRUDAN_BORCLANDIRMA_SISTEMI DIGER \n \n \n TR.OHVPS.DataCode.IzinTur \n 01: Temel Hesap Bilgisi 02: Ayrıntılı Hesap Bilgisi 03: Bakiye Bilgisi 04: Temel İÅlem (Hesap Hareketleri) Bilgisi 05: Ayrıntılı İÅlem Bilgisi 06: Anlık Bakiye Bildirimi 07: Temel Kart Bilgisi 08: Detaylı Kart Bilgisi 09: Ayrıntılı Kart İÅlem Bilgisi \n \n \n TR.OHVPS.DataCode.KareKodAksTur \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. 01: FAST katılımcısından dinamik doÄrulamalı hizmet alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulamalı iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n TR.OHVPS.DataCode.KaynakTip \n HESAP_BILGISI_RIZASI ODEME_EMRI_RIZASI ODEME_EMRI ILERI_TARIHLI_ODEME_EMRI_RIZASI ILERI_TARIHLI_ODEME_EMRI DUZENLI_ODEME_EMRI_RIZASI DUZENLI_ODEME_PLANI DUZENLI_ODEME_EMRI BAKIYE COKLU_ISLEM_TALEBI HHS YOS KART_BILGILERI \n \n \n TR.OHVPS.DataCode.KimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) Y , YKN , N11 P , PNO , AN7..9 \n \n \n TR.OHVPS.DataCode.KolasHspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.KolasTur \n MüÅterinin sorgulama istediÄi Kolay Adres Tipi deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır: T: Telefon Numarası E: E-Posta K: TCKN V: VKN Y: YKN P: Pasaport Numarası \n \n \n TR.OHVPS.DataCode.KurumKimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) V , VKN , AN10 \n \n \n TR.OHVPS.DataCode.LogoArkaPlan \n B : Logoların arka planının beyaz olması (Erkek Logo) K : Logoların arka planının renkli/koyu olması (DiÅi Logo) \n \n \n TR.OHVPS.DataCode.LogoFormat \n SVG : Logonun svg formatında olmasını ifade eder. Logonun 1:2 oranında olması gerekmektedir. PNG : Logonun png formatında olmasını ifade eder. Logonun 500 X 1000 px olması gerekmektedir. \n \n \n TR.OHVPS.DataCode.LogoTur \n FULL_LOGO : Yazı ve ikon Åekillerin bir arada olduÄu logo ICON_LOGO : İkon Åekillerin olduÄu ( Sadece görsel olan-yazısız ) logo \n \n \n TR.OHVPS.DataCode.OdemeAmaci \n Ãdemenin Amacına yönelik olarak aÅaÄıdaki deÄerlerden birini alır: 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aidat ödemesi 12: Gayrimenkul alım ödemesi* 13: Motorlu taÅıt alım ödemesi* 14: Borç verme/Borç ödeme* 15: Hediye/baÄıÅ/yardım* 16: Vergi
16/resim/harç ödemesi* 17: Tazminat/sigorta ödemesi* 18: Avukatlık/DanıÅmanlık/MüÅavirlik Ãdemesi* 19: SaÄlık ödemesi* 20: Kripto/dijital varlık* 21: Åans oyunları/bahis ödemesi* 22: EÄlence/sosyal medya ödemesi* Liste içerisinde * ile iÅaretlenen \'Ãdeme Amacı\' deÄiÅiklikleri, TCMB geçiÅ süreciyle senkronize Åekilde, 02 Nisan 2026 gün sonu ile birlikte devreye alınacaktır. \n \n \n TR.OHVPS.DataCode.OdemeDurumu \n Ãdemenin durumunu gösterir. AlabileceÄi deÄerler: 01: GerçekleÅti (Ãdeme ilgili ödeme sistemine iletildi ve alıcı hesabına ulaÅtı.) 02: Gönderildi (Ãdeme ilgili ödeme sistemine iletildi ancak alıcı hesabına ulaÅtıÄına dair teyit alınmadı.)İÅlemin son durumunun teyidi için YÃS sorgulama yapmalıdır. 03- GerçekleÅmedi (Ãdemenin ilgili ödeme sistemine iÅletiminde veya iÅlenmesi sırasında hata, zaman aÅımı, sistemin gün sonu iÅlemlerine baÅlaması vb. durum oluÅtu ve ödeme gereçeklemedi veya iade edildi.) 04- Onayda bekliyor (Ã
16deme emri veya ileri tarihli ödeme emri alındı. Ãoklu onay akıÅının tamamlanması bekleniyor.) 05- Ãdeme Bekleniyor ( Ãdeme Sistemine gönderilmeden önceki statüdür.) 06- Kısmen GerçekleÅti ( İleri tarihli ve düzenli ödeme talimatlarında kısmi ödeme yapılan iÅlemler için geçerli statüdür.) 07- İptal Edildi ( Ãdeme sistemine gönderilmeden önce müÅteri ya da herhangi bir sebepten iptal edilen durumlarda kullanılabilir.) \n \n \n TR.OHVPS.DataCode.OdemeKaynak \n I: İnternet bankacılıÄından gönderilen ödemelerde kullanılır. A: Otomatik para makineleri (ATM) ile gönderilen ödemelerde kullanılır. T: Telefon bankacılıÄı ile gönderilen ödemelerde kullanılır. K: Kiosklar aracılıÄıyla gönderilen ödemelerde kullanılır. S: Åubeden girilen ödemelerde kullanılır. M: Mobil uygulamadan gönderilen ödemelerde kullanılır. D: Yukarıdakiler dıÅındaki ödeme kaynaklarından gönderilen ödemelerde kullanılır. O: Açık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır. \n \n \n TR.OHVPS.DataCode.OdemeSistemi \n İÅlemin yönlendirildiÄi Ãdeme Sistemine göre aÅaÄıdaki deÄerlerden birini alabilir: H: Havale F: FAST E: EFT (PÃS) deÄerlerinden birini alabilir. \n \n \n TR.OHVPS.DataCode.OhkTur \n B: Bireysel K: Kurumsal \n \n \n TR.OHVPS.DataCode.OhkTanimTip \n TCKN: TCKN  (ohkTanimDeger N11 olarak gönderilmelidir.) MNO:   HHSâye özel bireysel veya kurum müÅteri numarası (OHKTanimDeger AN1..30 olarak gönderilmelidir. ) YKN:   Yabancı Kimlik Numarası (OHKTanimDeger N11 olarak gönderilmelidir.) PNO:   Pasaport numarsı (ohkTanimDeger AN7..9 olarak gönderilmelidir.) GSM:   Cep telefonu numarası (ohkTanimDeger N10 olarak gönderilmelidir.) IBAN:  IBAN numarası (OHKTanimDeger AN26 olarak gönderilmelidir.) \n \n \n TR.OHVPS.DataCode.OlayTip \n KAYNAK_GUNCELLENDI AYRIK_GKD_BASARILI AYRIK_GKD_BASARISIZ HHS_YOS_GUNCELLENDI \n \n \n TR.OHVPS.DataCode.YOSDurumu \n A : Açık. Ãretim Ortamında YÃSâün aktif bir Åekilde hizmet vermesi durumu. G : Geçici Hizmet Veremiyor. YÃS servislerinde teknik bir sorun olması nedeniyle YÃS\'ün hizmet verememesi durumu. K: Kapalı. YÃS\'ün hizmet vermeme durumu. \n \n \n TR.OHVPS.DataCode.PSUInitiated \n âEâ : Evet âHâ : Hayır âOâ : Olay Bildirim \n \n \n TR.OHVPS.DataCode.RizaDurumu \n B: Yetki Bekleniyor Y: Yetkilendirildi K: Yetki Kullanıldı E: Yetki Ãdeme Emrine/Talimata DönüÅtü S: Yetki Sonlandırıldı I :Yetki Iptal \n \n \n TR.OHVPS.DataCode.RizaIptDtyKod \n â01â :Yeni Rıza Talebi ile İptal â02â :Kullanıcı İsteÄi ile HHS üzerinden İptal â03â :Kullanıcı İsteÄi ile YÃS üzerinden İptal â04â :Süre AÅımı : Yetki Bekleniyor â05â :Süre AÅımı : Yetkilendirildi â06â :Süre AÅımı : Yetki Ãdemeye DönüÅmedi â07â :GKD iptali : Aynı rıza no ile mükerrer çaÄrımı â08â :GKD iptali : Rızano ile TCKN uyuÅmaması â09â :GKD iptali : Uygun ürünü bulunmuyor â10â :GKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı â11â :GKD iptali : Hesap Yetki Sorunu â12â :GKD iptali : ÃHK HHS kontrollerini aÅamadı â13â :GKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi â14â :GKD iptali : Fraud Åüphesi â15â :Hesap Rıza Güncelleme Talebi ile İptal â99â :GKD iptali : DiÄer \n \n \n TR.OHVPS.DataCode.RizaTip \n H: Hesap Bilgisi Rızası O: Ãdeme Emri Rızası I: İleri Tarihli Ãdeme Emri Rızası D: Düzenli Ãdeme Emri Rızası \n \n \n TR.OHVPS.DataCode.SrlmYon \n âAâ: Azalan deÄerle sıralama âYâ: Artan deÄerle sıralama \n \n \n TR.OHVPS.DataCode.VarYok \n 0 : Kayıt Yok 1 : Kayıt Var \n \n \n TR.OHVPS.DataCode.YetTip \n AlabileceÄi deÄerlere göre hangi belirtecin döneceÄine karar verilir. yet_kod yenileme_belirteci \n \n \n TR.OHVPS.DataCode.ZmnAralik \n 0 : Kayıt Yok 1 : 0-2 saat 2 : 2 saat 1 dakika-24 saat 3 : 1-3 gün 4 : 4-15 gün\t 5 : 16 gün ve üstü \n \n \n TR.OHVPS.DataCode.HizmetTipi \n 01 : Ayrık GKD 02 : İleri Tarihli Ãdeme 03 : Düzenli Ãdeme \n \n \n TR.OHVPS.DataCode.OdemePeriyodu \n G : Günlük H : Haftalık A : Aylık D : DiÄer \n \n \n TR.OHVPS.DataCode.KartTip \n B
16: Banka Kartı K : Kredi Kartı P : Ãn Ãdemeli(Prepaid) Kart \n \n \n TR.OHVPS.DataCode.AltKartTip \n A : Asıl E : Ek Kart S : Sanal Kart \n \n \n TR.OHVPS.DataCode.KartStatu \n A : Açık/Aktif P : Pasif I : İptal \n \n \n TR.OHVPS.DataCode.IslemPuanDurumu \n 01 : Puan Kazanımı 02: Puan Kullanımı 03: Puan İade 04: Puan İptal \n \n \n TR.OHVPS.DataCode.KartSema \n T : TROY M : Mastercard V : Visa U : UnionPay A : American Express J : JCB \n \n \n TR.OHVPS.DataCode.KartTuru \n B : Bireysel T :Ticari \n \n \n TR.OHVPS.DataCode.KartFormu \n F : Fiziksel D :Dijital \n \n \n TR.OHVPS.DataCode.EkstreStatu \n A : Aktif P : Pasif \n EK-3: İstemci Sertifikalarının Tanım ve Yönetimi \n Tüm katılımcıların GEÃİT\'e eriÅebilmesi için, BKM tarafından yapılan istemci sertifika doÄrulamasından geçmesi gerekmektedir. İstemci sertifikası üretilmeden önce katılımcıların CSR üretme akıÅını tamamlaması gerekmektedir. \n OpenSSL ile CSR (Certificate Signing Request) OluÅturma \nAÅaÄıdaki komut ile 2048-bit RSA private key ve CSR oluÅturulur. \nopenssl req -new -newkey rsa:2048 -nodes -keyout PRIVATEKEY.key -out CSR.csr \n CSR ile ilgili detay bilgilerin giriÅinde; \nCommon Name (CN) olarak 4 karakterli hhsKod ya da yosKod deÄeri ile, \ndiÄer alanlar için de kurum bilgileriniz ile giriÅ yapılır. \n Tüm bilgilerin girilmesinden sonra oluÅan private key dosyası kurumunuzda saklanır.\nCSR dosyası ise istemci sertifika üretmek üzere kullanılır. Bu aÅamada takip edilmesi gereken adımlar Åu Åekildedir: \n Katılımcıların, TRIP ortamı üzerinden, BKM Tarafından yetki verilmiÅ kullanıcılarının görebileceÄi "İstemci Sertifika Talebi" menü adımına giriÅ yapmaları beklenir. Açılan ekranda,"CSR Dosyası Yükleme" alanı içerisine, katılımcının üretmiÅ olduÄu csr dosyası yüklenir. YaklaÅık 1 dakika içerisinde kuruma özel olarak üretilmiÅ olan client sertifikası indirilmeye hazır hale gelecektir. "İndir" butonu ile client sertifika indirilir. İstemci tarafında web isteÄinin ilgili sertifika ile iliÅkilendirilerek oluÅturulması gerekmektedir. \n Uzun dönemli olarak hazırlanacak olan sertifikalar sertifikasyon ve üretim ortamlarında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi bu aÅamalarda sınanacaktır. \n GEÃİT\'in test ve üretim ortamları ayrımında istemci sertifikaları, HHS Listeleme API eriÅimleri ve Sertifikasyon baÄlantıları Åekil 15-HHS/YÃS API Mimarisi Diagramında resmedilmiÅtir. \n EK-4: Sunucu Sertifikaları \n Sunucu sertifikalarının endpoint bilgisini (Fqdn) içerecek ve global bir Certification Authority tarafından imzalanmıŠolarak sunulması gerekmektedir.\nÃrneÄin; entegrasyon formu içerinde yer alan URL bilgisinin (test.xbank.com.tr) sertifika içerisinde tanımlı olması ve bu sertifikanın global bir CA örneÄin Verisign tarafından imzalanmıŠolarak sunulması gerekmektedir. \n Hizmet saÄlayıcı olan HHS\'ler tarafından sunucu sertifikaları uygulanmalıdır. \n EK-5: Mesaj İmzalama AkıÅı \n Dijital imzalama yapısı, ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini saÄlamak amacıyla kurgulanmıÅtır. İmzaların kaynak bazında hangi istek ve yanıtlara uygulandıÄı belirlidir. \n API yalnızca TLS\'ye dayanırsa, dijital kayıtları ve inkâr edilemezlik kanıtlarını tutmak zor olur. Bu nedenle, TLS\'ye dayanmayan bir inkâr edilemezlik çözümü olarak API isteÄinin HTTP baÅlıÄında bir JWS kullanılarak saÄlanabilir. \n HTTP isteÄinin gövdesinin hash fonksiyonu (SHA256) ile özeti alınacaktır. Elde edilen özet, asimetrik anahtarları destekleyen bir algoritma kullanılarak imzalanacak ve JWS elde edilecektir. İsteÄin kendinize geldiÄi durumda body üzerinde hiç bir deÄiÅikliÄe tabi tutmadan (serialize/deserialize, minify, trim, vb yapmadan) doÄrulama yapmanız gerekmektedir. Aynı Åekilde isteÄin kendinizden çıktıÄı aÅamada da response body üzerinde hiç bir deÄiÅikliÄe tabi tutmadan (serialize/deserialize, minify, trim, vb yapmadan) mesaj imzalama yapılmalıdır. \n Bu kapsamda imzalama akıÅı aÅaÄıdaki gibi olmalıdır: \n \n HHS ve YÃS öncelikle özel ve açık anahtarlarını oluÅturmalıdır. Bu anahtarları oluÅturmak için aÅaÄıda âopensslâ kullanılarak oluÅturma örneÄi paylaÅılmıÅtır. Bu anahtarlardan özel olan anahtar mesajı imzalamak için kullanılacak olup, açık anahtar ise mesajı doÄrulamak amacıyla mesajın alıcısı tarafından kullanılacaktır. \n \n Ãzel anahtarın oluÅturulması. private.pem => Ãzel anahtar \n openssl genrsa -out private.pem 2048 \n Ãzel anahtardan açık anahtarın oluÅturulması. public_key.pem => Açık anahtar (BKM ile paylaÅılacak açık anahtar) \n openssl rsa -in private.pem -pubout -outform PEM -out public_key.pem \n Opsiyonel olarak özel anahtarın PCKS8 formatına çevrilmesi (Java açısından PCKS8 formatında olma ihtiyacı nedeniyle). private_key.pem => Ãzel anahtarın formatlanmıŠhali. \n openssl pkcs8 -topk8 -inform PEM -in private.pem -out private_key.pem ânocrypt \n \n \n Açık ve Ãzel anahtarlar oluÅturulduktan sonra Açık Anahtar BKM ile paylaÅılır. BKM bu açık anahtarı diÄer katılımcıların ulaÅabilmesi ve alabilmesi için bir Anahtar Deposu yaklaÅımı ile bünyesinde tutar. İlgili anahtarı iletebilmek ve alabilmek için kullanılacak HHS/YOS API ye eriÅim detayları EK-6 bölümünde detaylı olarak paylaÅılmıÅtır. EÄer kurumun ilgili anahtar çiftinin yenilenme durumu söz konusu ise yenilemenin hemen ardından açık anahtar yeni bir imzalama yapılmadan önce mutlaka BKM ile paylaÅılmalıdır. \n \n \n İmzalı mesajı açacak olan kurum mesajı imzalayan kurumun açık anahtarını her sorguda yeniden almak durumunda deÄildir. Belirli periyodlarda kendi ortamındaki anahtarı yenileyerek sistemi iÅletebilir. Ancak imzalayan kurum anahtar çifti yenilemesi yaptıÄında BKM ile açık anahtarını paylaÅsa dahi
16imzalı mesajı doÄrulayacak taraf eski açık anahtar ile doÄrulama yapmaya çalıÅtıÄı için hata alacaktır. Bu ilk hata durumunda hızlıca BKM üzerinden yeni anahtarı alıp mesajı tekrar doÄrulamayı denemelidir. EÄer yine hata alıyor ise doÄrulama iÅlemini hata statüsüne almalıdır. Bu sebeple anahtar yenileyen kurum yeni açık anahtarını yeni bir mesaj imzalama yapmadan önce mutlaka BKM ile paylaÅmalıdır. \n \n \n PSU-Fraud-Check alanı için de JWT formatında çıktı hazırlanması beklenmektedir. Ãrnek bir PSU-Fraud-Check payload deÄeri aÅaÄıdaki gibidir; \n {"AnomalyFlag": "0", \n"LastPasswordChangeFlag": "1", \n"FirstLoginFlag": "1", \n"DeviceFirstLoginFlag": "1", \n"BlacklistFlag": "0", \n"MalwareFlag": "0", \n"UnsafeAccountFlag": "0", \n"exp": 1663424479, \n"iat": 1663338079, \n"iss": "[https://apigw.bkm.com.tr|https://apigw.bkm.com.tr/]" } \n İmzalama Kuralları (YÃS) \n Bir YÃS üzerinden baÅlayan akıŠörnek olarak paylaÅılmıÅtır. \n \n \n YÃS, mesaj imzalama gerektiren her API isteÄinin HTTP gövdesini (request body) kendi özel anahtarı ile Åifreleyerek imza bilgisini oluÅturur. \n \n \n Ardından bu imza verisini, göndereceÄi mesajın istek baÅlıÄında yer alan X-JWS-Signature alanında göndermelidir. \n \n \n X-JWS-Signature alanında gönderilecek olan bilgi aÅaÄıdaki yöntem ile oluÅturulmalıdır. \n \n \n Bu alana yazılacak olan bilgi JWT formatında oluÅturulmalıdır. \n \n \n Bir JWT, header-payload-signature alanlarından oluÅmaktadır. \n \n Header alanında JWTâyi imzalamak için kullanılacak algoritma belirtilmelidir. Standartlar kapsamında RS256 kullanılacaktır. \n Payload kısmında özel olarak oluÅturulacak olan âbodyâ claim alanına istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı yazılmalıdır. \n JSON payload oluÅturulurken RFC 7519 baz alınmalıdır. "iss" (Issuer) Claim, "exp" (Expiration Time) Claim, "iat" (Issued At) Claim, âbodyâ Claim alanlarının gönderilmesi zorunludur. ^RFC7519 \na.\t"iss" (Issuer) Claim : Kurumunuza özel bilgidir. \nb.\t"exp" (Expiration Time) Claim: Saniye cinsinden (Unix time) imzanın son geçerli olduÄu tarih. Bu tarih mevcut sunucu saatinizden 60 dakika sonra olacak Åekilde kullanılmalıdır. \nc.\t"iat" (Issued At) Claim : Saniye cinsinden (Unix time) imzanın oluÅturulduÄu tarih. Bu tarih mevcut sunucu saatinizden 5 dakika önce olacak Åekilde kullanılmalıdır. \nd.\tâbodyâ Claim : istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı. \n Signature alanında da özel anahtar ile imzalanmıŠolan imza içeriÄi yer alacaktır. \n \n X-JWS-Signature: JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. \n Ãrnek X-JWS-Signature Payload DeÄeri \n { \n"iss": "https://apigw.bkm.com.tr", \n"exp": 1646832405, \n"iat": 1646746005, \n"body": "c543072f97a761a1d891dc81acc380bc1e6f61ca6541bd93ebfdece338457922" \n} \n \n \n \n \n YÃS, isteÄi gönderir. Sadece mesajın bütünlüÄünü ve doÄruluÄunu teyit amacı ile istek gövdesi (request body) SHA256 hash deÄeri imzalanarak X-JWS-Signature alanında bu imza iletilir. İsteÄin gövde (request body) kısmı açık ve Åifresiz olarak gönderilmektedir. \n \n \n HHS, isteÄi alır, talebi gerçekleÅtirmeden önce aldıÄı API isteklerinin imzasını doÄrulamalıdır. X-JWS-Signature alanındaki JWT aÅaÄıdaki adımlarla doÄrulanmalıdır. \n \n Header kısmındaki algoritmanin RS256 olduÄu kontrol edilir. \n Gönderen kurumun açık anahtarı ile JWT verify (doÄrulama) iÅlemi yapılır. \n Yukarıdaki iÅlemlerin doÄruluÄunun ardından JWTânin payload kısmındaki âbodyâ claim alanındaki bilginin, isteÄin gövde verisinin SHA256 hash deÄerlerinin aynı olduÄu kontrol edilir. \n Ãrnek checksum deÄeri "a64b19f95eeb1fb0a0a3e2dbbc6e3d8472c52184d4543417ddc6d156fc5c5571" veya "A64B19F95EEB1FB0A0A3E2DBBC6E3D8472C52184D4543417DDC6D156FC5C5571" Åeklinde olabilir. İki hali de aynı deÄere sahiptir. Kontrollerde buna dikkat edilmesi gerekmektedir. \n \n \n \n Yukarıdaki iÅlemler ile doÄruluÄu teyit edilmiÅ olan isteÄin talebi gerçekleÅtirir. \n \n \n EÄer istek doÄrulanamıyor ise gönderen kurumun açık ve özel anahtar çifti yenilenmiÅ olabilir. \n \n \n BKM HHS API üzerinden ilgili kurumun bilgilerini (kurum ko
16du vs) kullanarak kurumun detay bilgileri çeker ve kendi ortamında yeniler. \n \n \n Ardından imzayı tekrar açık anahtar ile doÄrulayarak kontroller gerçekleÅtirilir. (EÄer halen doÄrulama iÅlemi baÅarısız ise bu istek için hata akıÅı çalıÅtırılır. TR.OHVPS.Resource.InvalidSignature kodu ile hata üretilebilir.) \n \n \n İmza bilgisinin beklendiÄi (x-jws-signature) servislerde, bu bilginin iletilmediÄi durumlarda TR.OHVPS.Resource.MissingSignature hatası üretilebilir. \n \n \n HHS isteÄi iÅledikten sonra cevabı oluÅtururken de yukarıdaki akıÅlar ile göndereceÄi cevabı imzalamalıdır. \n \n \n İstek yanıt gövdesinin SHA256 checksum deÄeri için hexadecimal çıktı kullanılacaktır. OluÅacak çıktının 64 karakter olması beklenmektedir. Kontrol için "^[A-Fa-f0-9]{64}$" RegEx tarifini kullanabilirsiniz. \n \n \n Ãrnek bir gövde: \n {"katilimciBlg":{"hhsKod":"8000","yosKod":"8000"},"gkd":{"yetYntm":"Y","yonAdr":"https://boss-test.bkm.com.tr/boss/ab/yosSimulator/8000?drmKod=6021de9f-55e7-454a-94be-2044866b22e1"},"kmlk":{"kmlkTur":"M","kmlkVrs":"123456","ohkTur":"B"},"hspBlg":{"iznBlg":{"iznTur":["01","02","03","04","05"],"erisimIzniSonTrh":"2022-10-12T23:59:59+03:00","hesapIslemBslZmn":"2021-10-10T00:00:00+03:00","hesapIslemBtsZmn":"2023-10-10T23:59:59+03:00"}}}\n \n Bu gövdenin checksum\'ı: \n a64b19f95eeb1fb0a0a3e2dbbc6e3d8472c52184d4543417ddc6d156fc5c5571\n \n Bu checksum\'ın iletildiÄi x-jws-signature baÅlık deÄeri: \n eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwaWd3LmJrbS5jb20udHIiLCJleHAiOjE2NjU0NzU1NjIsImlhdCI6MTY2NTM4OTE2MiwiYm9keSI6ImE2NGIxOWY5NWVlYjFmYjBhMGEzZTJkYmJjNmUzZDg0NzJjNTIxODRkNDU0MzQxN2RkYzZkMTU2ZmM1YzU1NzEifQ.Q65PI_1fTEzzBMirvmJvXgVX3orhhZ4_UqujtGdHkU7me-1ymIjvPrzy3kfyER1pedFb7HDCBuPvYoqjX8eUnpiiZsxfzCiEa0McIhoFeUOggq-O8VihItp8bLr2DWwQ9JHN1-WXB2mL31KAKFAL1VY9-DXuAdT-RfE_SLYsl2ycmNy4ti4XvfDvvlE56ZsieFZ727VuwR8wi7F0kKDc6UhjaMF9xcUeAM1fxX-bmcOaOo1NZGC0vvgjNZKz_OJrN-q8VhWYnQPiJ7wY7S9IG8bHIkBImKSVf8LuOEvl8u0BZzADLH1iOBd9x2l1plyI_NLPTrnOqhWhKlljkkJBCg\n \n EÄer PSU-Fraud-Check için baÅlık gönderilecekse, yine JWT formatında imza üretilmelidir. Ãrnek bir psu-fraud-check baÅlık deÄeri: \n eyJhbGciOiJSUzI1NiJ9.eyJBbm9tYWx5RmxhZyI6IjAiLCJMYXN0UGFzc3dvcmRDaGFuZ2VGbGFnIjoiMSIsIkZpcnN0TG9naW5GbGFnIjoiMSIsIkRldmljZUZpcnN0TG9naW5GbGFnIjoiMSIsIkJsYWNrbGlzdEZsYWciOiIwIiwiTWFsd2FyZUZsYWciOiIwIiwiVW5zYWZlQWNjb3VudEZsYWciOiIwIiwiZXhwIjoxNjY1NDc1NTU2LCJpYXQiOjE2NjUzODkxNTYsImlzcyI6Imh0dHBzOi8vYXBpZ3cuYmttLmNvbS50ciJ9.DhUh_nsXDuNIrvsQ3KOhOXdVcJg6fTDVW8K1oea8kLtmb7n-_hJHY3mWX5zzobu-Vh2VvFzIxPhHtol6gLHFktmIMiQ9TDHb_mRZFXgJB4ToNfqc3Fy9mi5bS8By2IYi1HxDaCStstaZDaunzXfHCtqybfZXyk6teDrf-iIf6lqX9Keo7GZO-Y7mP7C13-c_QwyNKrZK4TZwUQbecRqXYn1DcEHM7kukQHTar_hKBWkXPmNpScY0J2rKksr4ejR1uLhdQm-Pdwoe9y6qrNEB79vMLBkRNtbuV0vc1GYHp_YKkzBKBI_58uuB2GD9877CsrcRnHMQb88xpxiPKh6-ew\n EK-6: HHS/YÃS API Mimarisi \n HHS/YÃS API Uygulama Mimarisinde Test ve Ãretim ortamlarında aÅaÄıdaki alanda yer almaktadır. \n \n Åekil 15: HHS/YÃS API Mimarisi \n'},{title:"Güçlü Kimlik DoÄrulama",frontmatter:{},regularPath:"/v2.0.0/contents/erisim-belirteci.html",relativePath:"v2.0.0/contents/erisim-belirteci.md",key:"v-14ad9962",path:"/v2.0.0/contents/erisim-belirteci.html",headers:[{level:2,title:"Yetkilendirme Kodu API",slug:"yetkilendirme-kodu-api"},{level:2,title:"EriÅim Belirteci API",slug:"erisim-belirteci-api"}],content:' Güçlü Kimlik DoÄrulama \n \n ÃHK\'nın YÃS uygulamasından HHS uygulamasına yönlendirilmesi ile baÅlanan güçlü kimlik doÄrulama süreci, Oauth 2.0 standartları gereÄi öncelikle yetkod deÄerinin YÃS\'e iletilmesi ile baÅlar ve eriÅim belirtecinin alınması sonucunda baÅarı ile sonuçlanmıŠolur. \n Güçlü Kimlik DoÄrulama için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âhesap_bilgisiâ "odeme_emri" \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n yetkilendirme-kodu \n GET \n /yetkilendirme-kodu \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n \n yetkilendirmeKodu \n \n \n 2 \n erisim-belirteci \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n ErisimBelirteciIstegi \n ErisimBelirteci \n Yetkilendirme Kodu API \n GET /yetkilendirme-kodu \n Ayrık GKD sürecinde kullanılacak olan Yetkilendirme Kodu API\'nin HHS tarafından sunulması gerekmektedir. \n Ayrık GKD akıÅında; HHS, YÃS\'ün olay dinleme servisine "AYRIK_GKD_BASARILI" olay tipi ile olay bildirimi yapar. Böylece ÃHK\'nın kendi sistemine baÅarı ile login olduÄunu ve yetKod deÄerinin ÃHK ile iliÅkilendirildiÄinin bilgisini Y
16ÃS\'e iletmiÅ olur. \nHHS olay bildirimi için retry policy süreçleri kapsamında 1 dakikada 3 kez deneme yapabilir. YÃS\'e olay bildirimi yapılmamıŠise, kendisine gelmeyen olay bildirimi için yetkod\'un geçerli olduÄu 5 dakika boyunca yetkilendirme-kodu endpointi ile sorgulama yaparak yetkod deÄerini alabilir. \n YÃS, "ODEME_EMRI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=O \n YÃS, "ILERI_TARIHLI_ODEME_EMRI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=I \n YÃS, "DUZENLI_TEKRARLI_ODEME_EMRI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=D \n YÃS, "HESAP_BILGISI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=H \n İSTEK: \n YÃS, rıza numarasını ve isteÄin ÃBH ya da HBH olmasına göre deÄiÅen rıza tipini parametre olarak istek talebine ekler. Rıza tipinin alabileceÄi deÄerler TR.OHVPS.DataCode.RizaTip sıralı veri tiplerinde belirtilmiÅtir. \n HHS\'nin, yetkilendirme yöntemi "Ayrık Gkd" ise rıza numarası ile yetki kodu deÄerini dönmesi beklenmektedir. Yönlendirmeli GKD için bu endpoint "yetKod" deÄerini dönmemelidir. Yönlendirmeli GKDâye ait bir rıza no ile yetkilendirme kodu API kullanılarak yet_kod alınmak istendiÄinde HHS tarafından TR.OHVPS.Resource.NotFound hatası verilmelidir. \n YANIT: \n HHS yanıt nesnesi içerisinde, ÃHK\'ya ait yetki kodunu, rıza no ve rıza durumu ile birlikte YÃS\'e iletir. \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Yetki Kodu \n yetKod \n AN1..255 \n Z \n GKD sürecinde üretilen yetkilendirme kodudur. Tek kullanımlık olup, aynı yetKod ile birden fazla token alınamaz. yetKod Parametresinin yaÅam ömrü 5 dakika olmalıdır. \n \n \n RızaNo \n rizaNo \n AN1..128 \n Z \n Rıza nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n Ayrık GKD sürecinde, yetkod deÄerini alan YÃS; eriÅim belirteci API ile GKD sürecini tamamlar. \n EriÅim Belirteci API \n POST /erisim-belirteci \n İSTEK: \n YÃS erisim-belirteci eriÅim adresini 2 amaçla kullanır: \n \n \n Bir önceki adımdan aldıÄı rizaNo, rizaTip (ödeme emri baÅlatma hizmetinde âOâ, hesap bilgisi hizmetinde âHâ, ileri tarihli ödeme emri baÅlatma hizmetinde "I") ve GKD sonrası dönülen yetKod bilgilerini kullanarak HHS nezdinde ErisimBelirteci nesnesi oluÅturmak üzere istekte bulunur. YÃSâün istekte bulunabilmesi için GKD adımının baÅarılı bir Åekilde tamamlanması rizaDrm bilgisinin âyetkilendirildiâ olması gerekir. EriÅim Belirteci nesnesi ile rızası nesnesi (Ãdeme Emri Rızası, Hesap Bilgisi Rızası veya İleri Tarihli Ãdeme Emri Rızası) arasındaki iliÅki rıza numarası üzerinden saÄlanır. \n \n \n AldıÄı eriÅim belirtecinin Geçerlilik Süresinin dolduÄu durumda, yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alması gerekmektedir. \n \n \n POST /erisim-belirteci isteÄinin (REQUEST) gövdesinde (BODY) âErisimBelirteciIstegiâ nesnesi (Tablo-23) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âErisimBelirteciâ nesnesi (Tablo 24) oluÅturulur veya (Yenileme Belirteci için) güncellenir. Rıza durumu âYetki Kullanıldıâ olarak güncellenir. \n EriÅim Belirteci POST iÅlemi sonucunda HTTP 200 dönülmesi gerekmektedir. \n âErisimBelirteciIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n RızaNo \n rizaNo \n AN1..128 \n Z \n Rıza nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Rıza Tipi \n rizaTip \n AN1 \n Z \n O,H,I,D (TR.OHVPS.DataCode.RizaTip) \n \n \n Yetki Tipi \n yetTip \n AN1..50 \n Z \n âyet_kodâ yada âyenileme_belirteciâ deÄerini alabilir. (TR.OHVPS.DataCode.YetTip) \n \n \n Yetki Kodu \n yetKod \n AN1..255 \n K \n GKD iÅleminden dönen yetkilendirme kodudur. Tek kullanımlık olup, aynı yetKod ile birden fazla token alınamaz. yetKod Parametresinin yaÅam ömrü 5 dakika olmalıdır. yetTip = âyet_kodâ ise zorunludur. \n \n \n Yenilenme Belirteci \n yenilemeBelirteci \n AN1..4096 \n K \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. yetTip = âyenileme_belirteciâ ise kullanımı zorunludur. \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âerisimBelirteciâ nesnesinde bulunan eriÅim belirteci deÄeri ödeme emrinin baÅlatılması esnasında kullanılır. \n "
16ErisimBelirteci" nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n EriÅim Belirteci \n erisimBelirteci \n AN1..4096 \n Z \n Yetkilendirme Kodu karÅılıÄında HHS tarafından dönülen ve sonraki hesap bilgisi ve ödeme emri servislerine eriÅimde kullanılan bilgidir. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. Yenileme belirteci ile birden fazla eriÅim belirteci alınması durumunda verilen tüm eriÅim belirteçlerinin süreleri bitene kadar geçerli olmalıdır. \n \n \n Geçerlilik Süresi \n gecerlilikSuresi \n N1..9 \n Z \n EriÅim Belirtecini saniye cinsinden geçerlilik süresidir. EriÅim belirteci geçerli olduÄu son tarih ; Hesap Bilgisi Rızası için en fazla 30 gün en az ise 1 gün olmalıdır. EriÅimin Geçerli OlduÄu Son Tarih(erisimIzniSonTrh); EriÅim Belirteci Geçerlilik Süresi\'nden küçük ise EriÅimin Geçerli OlduÄu Son Tarih deÄeri ile sınırlıdır. Ãdeme Emri Rızası ,İleri Tarihli Ãdeme Emri Rızası ve Düzenli Tekrarlı Ãdeme Emri Rızası için 5 dakika olmalıdır. \n \n \n Yenileme Belirteci \n yenilemeBelirteci \n AN1..4096 \n Z \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. Yenileme Belirteci ile EriÅim Belirteci isteÄi yapıldıÄında HHS\'nin döndüÄü yanıt içerisindeki yenilemeBelirteci deÄerini kesinlikle deÄiÅtirmemesi gerekmektedir.Yenileme belirteci rıza süresi boyunca güncellenmemelidir. \n \n \n Yenileme Belirteci Geçerlik Süresi \n yenilemeBelirteciGecerlilikSuresi \n N1..9 \n Z \n Yenileme belirtecinin saniye cinsinden geçerlilik süresidir. Yenileme belirtecinin geçerli olduÄu son tarih ; Hesap Bilgisi için EriÅimin Geçerli OlduÄu Son Tarih ile sınırlı olmalıdır. Bu tarih geldiÄi zaman Hesap Bilgisi Rıza Durumunu âYetki Sonlandırıldıâ statüsüne çekilmesi gerekir. Ãdeme BaÅlatma için Rıza OluÅturma Zamanından 15 gün sonrası olmalıdır. 15 gün süresi sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. Ãdeme emri 5 dakika içinde gerçekleÅtirilmelidir. GerçekleÅmediÄinde 4.2.8 bölümünde aktarılan rıza statü güncellemesi yapılmalıdır. Yenileme belirteci geçerlilik süresi, İleri Tarihli Ãdeme Emri BaÅlatma için talimatın gerçekleÅeceÄi zamandan 15 gün sonrası olmalıdır. Talimat gerçekleÅtikten sonrası için 15 gün süreyle sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. Yenileme belirteci geçerlilik süresi, Düzenli Tekrarlı Ãdeme Emri BaÅlatma için talimatın gerçekleÅeceÄi son ödeme günü zamanından 5 gün sonrası olmalıdır. Son talimat gerçekleÅtikten sonrası için 5 gün süreyle sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. \n \n \n \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci, iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir. \n Yenilenme Belirteci (refreshToken) kullanılarak EriÅim Belirteci (accessToken) alındıÄında, dönen yanıttaki Yenileme Belirteci Geçerlik Süresi (yenilemeBelirteciGecerlilikSuresi) geçen süre eksiltilerek, kalan zamanın saniye cinsinden hesaplanmasıyla iletilmelidir. \n EriÅim Belirteci API çaÄrımı sırasında rıza durumları kontrol edilmelidir. Bu kontrollerin nasıl yapılması gerektiÄi 4-Rıza Durumları bölümünde aktarılmıÅtır. \n Yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alınması sırasında HHS\'nin döndüÄü hata yanıtında httpCode = 401 ve errorCode = "TR.OHVPS.Connection.InvalidToken" gelirse YÃS önce rızanın durumu sorgulamalıdır. \nEÄer geçerli bir rıza ise; HHS veya YÃS tarafında bir sorun olduÄu anlaÅılmalıdır. Sistem tarafından hata üretilmeli ve sorun incelenmelidir. \nEÄer geçerli bir rıza deÄil ise YÃS tarafındaki rıza durumu güncellenmelidir. \n'},{title:"HHS ve YÃS API",frontmatter:{},regularPath:"/v2.0.0/contents/hhs-yos-api.html",relativePath:"v2.0.0/contents/hhs-yos-api.md",key:"v-2b71dd9d",path:"/v2.0.0/contents/hhs-yos-api.html",headers:[{level:2,title:"HHS API",slug:"hhs-api"},{level:2,title:"YOS API",slug:"yos-api"}],content:" HHS ve YÃS API \n HHS API, HHSâlerin detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. HHS API için âhhs_readâ scope bilgisi kullanılır. \n Production ortamında HHS / YOS API içerisinde sisteme dahil olmuÅ, sertifikasyonu baÅarı ile tamamlamıŠpaydaÅlar listelenecektir. HHS tarafından desteklenen API sürümleri listelenecektir. \n YÃSâler HHS APIâsini sorgulayabilir ancak YÃS APIâsini sorgulayamazlar. \nBenzer Åekilde HHSâler YÃS APIâsini sorgulayabilir, HHS APIâsini sorgulayamazlar. \n HHS API \n GET /hhs/{hhsKod} \n İÅlem Sorgu ÃrneÄi = /hhs ⨠bu sorgu yöntemi ile tüm HHSâlerin dizi Åeklinde verileri listelenir. \nİÅlem Sorgu ÃrneÄi = /hhs/2001 ⨠bu sorgu yöntemi ile gönderilmiÅ olan hhsKoduâna ait bilgiler listelenir. Ya da â404 Not Foundâ hatası alır. \nHHS ve YÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir. \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hhs?srlmKrtr=kod&srlmYon=A \n Tablo 20: HHS ve YÃS API Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âkodâ, âunvâ
16} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, sıralama kriteri âunvâ olarak belirlenmelidir. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 21: HHS Bilgileri Sorgulama Yanıtı âHhsâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n hhs kodu \n kod \n AN4 \n Z \n HHS nin kod bilgisi \n \n \n hhs unvanı \n unv \n AN3..140 \n Z \n HHS nin unvan bilgisi \n \n \n hhs markası \n marka \n AN1..140 \n Z \n ÃHK'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. HHS tarafından belirlenecektir. \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n HHSânin mesaj imzalama için paylaÅtıÄı açık anahtar \n \n \n HHS Api Bilgileri \n apiBilgileri \n Kompleks: HhsApiBilgi[Array][0..N] \n Z \n Desteklenen Api ve sürüm bilgileri dönülecektir. \n \n \n > api \n api \n AN1..20 \n Z \n Api İsmi Ãrnek :obh, hbh,gkd \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s1.0, s2.0 \n \n \n HHS Hizmet Bilgileri \n hizmetBilgileri \n Kompleks: HhsHizmetBilgi[Array][0..N] \n Z \n Desteklenen hizmet ve sürüm bilgileri dönülecektir. \n \n \n > hizmetTipi \n hizmetTipi \n AN1..20 \n Z \n Hizmet Tipi bilgileri.TR.OHVPS.DataCode.HizmetTipi sıralı veri türü deÄerlerinden birini alır. \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s1.1, s2.0 \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n HHS'ye ait logo bilgileri. \n \n \n > logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n HHS tarafında tutulan ve YÃS'lerle paylaÅılacak olan url adres bilgisidir. Ãrnek: https://via.placeholder.com/150?text=0001 \n \n \n > logoArkaPlan \n logoArkaPlan \n AN1 \n Z \n TR.OHVPS.DataCode.LogoArkaPlan sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoFormat \n logoFormat \n AN3 \n Z \n TR.OHVPS.DataCode.LogoFormat sıralı veri türü deÄerlerlerinden birini alır. \n \n \n Durum \n durum \n AN1 \n Z \n HHS'nin durum bilgisidir. TR.OHVPS.DataCode.HHSDurumu sıralı veri tipinde alabileceÄi deÄerler belirtilmiÅtir. \n \n \n \n HHS API'de; Açık, YaygınlaÅtırma, Geçici Hizmet Veremiyor, Kapalı durumlarındaki HHS'ler listelenecektir. \nSertifikasyon onayı alan HHS'ler, üretim ortamına geçiÅte \"YaygınlaÅtırma\" durumuna sahip olabilir. HHS'nin, hangi YÃS'ler ile \"YaygınlaÅtırma\" kontrollerini yapacaÄı, HHS yönetiminde olacaktır. Böylece Ãretim Ortamında HHSânin kendisi tarafından tanımlanmıŠkısıtlı ÃHKâya hizmet vermesi ve servislerini test etmesi saÄlanabilir olacaktır. HHS'ler kendi kurum kontrollerini yapana kadar, \"YaygınlaÅtırma\" durumunda kalabilirler. HHS'nin BKM'ye yapacaÄı talep ile, HHS \"YaygınlaÅtırma\" durumundan \"Açık\" durumuna geçebilecektir. \n AÅaÄıdaki durumlarda HHS'nin statüsü Geçici Kapalı olarak güncellenebilecektir: \n \n HHS'nin talebi ile uzun süreli (minimum 1 saati aÅan) yaÅanan teknik sorunlarda ve BKMâye en az 3 iÅ günü öncesinde bildirilen planlı kesintilerde G statüsüne alınabilecektir. \n İlgili resmi kurumlardan gelen talep üzerine HHS G statüsüne alınabilir. \n \n YÃS'ler hem A hem G statüsünde olan HHS'leri listeleyebilir. Ancak YÃS uygulamasında G statüsünde olan bir HHS müÅteri tarafından seçilirse müÅteriye gerekli hata mesajının verilmesi ve ilgili HHS'ye istek atılmaması saÄlanmalıdır. \n Hem YOS hem de HHS API için geçerli olacak; logo gönderiminde dikkat edilmesi gerekenler Åu Åekilde tariflenmiÅtir: \n \n Logoların ham dosya yerine kurumun yayınlayacaÄı bir URL üzerinden sunulması gerekmektedir. (Ãrn: logoURL = https://kurumadi.com.tr/logo.png) Logo BKM tarafında host edilmeyecektir. \n Logo urlâin public eriÅilebilir url olması gereklidir. \n Logo, yatayda veya dikeyde taÅma paysız tam oturacak, sınır boyutlarını geçmeyecek ve ortalanmıŠyerleÅime sahip olmalıdır. \n YÃS uygulamasında gösterim esnasında logoların hızlı yüklenmesi ve düÅük veri tüketmesi açısından; logo boyutu 250 KBâın altında olmalıdır. \n HHS ve YÃSâlerin tüm logo türlerini (8 farklı tipte logoyu) zorunlu olarak dönmesi beklenmektedir. \n Circle logo kullanılması gerektiÄinde ICON_LOGO logo türü kullanılmalıdır. \n Logolarını güncellemek isteyen kurumların en az 3 iÅ günü öncesinde BKMâye bu deÄiÅikliÄi GEÃİT Test/Ãretim Ortamı Entegrasyon formu ile bildirmesi gereklidir. BKM de katılımcılara HHS/YÃS API aracılıÄı ile güncel logonun çekilmesi gerektiÄine dair bilgilendirme yapar. \n Logoları anlık çeken katılımcıların, herhangi bir teknik nedenden dolayı güncel logoyu alamadıÄı durum olabilir. Bu durumda sistemlerine kaydetmiÅ olduÄu kuruma ait ikon logoyu göstermesi gereklidir. \n HHS ve YÃSâler API aracılıÄı ile almıŠoldukları logoların formatı üzerinde deÄiÅiklik (kare, yuvarlak hale getirip resize etmek gibi) yapabilirler. Ancak logonun görsel ve yazılarını etkileyecek bir deÄiÅiklik yapmamalıdırlar. \n YÃS/HHS mobil uygulamasındaki dark mode ve light mode kullanımlarında, hangi logonun kullanılacaÄına uygulama sahibi karar verecektir. \n YOS API \n YÃS API, YÃS statüsundeki kurumların detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. YÃS API için âyos_readâ scope bilgisi kullanılır. \n YÃS API yanıtında, listelenen yönlendirme ve bildirim adresleri bulunmaktadır. HHS, iÅlem anında iletilen yonAdr ya da bldrAdr alanlarında gönderilen adreslere yetKod deÄerini iletmelidir. YÃS API içerisinde yer alan adresleri, rıza isteÄinde gönderilen adreslerin doÄruluÄunu kontrol etme amacıyla kullanılmalıdır. Bu nedenle YÃS API içerisinde listelenen adreslerin hostname seviyesinde yer alması yeterlidir. \n YÃS API içerisinde yer alan YÃS rol bilgileri ve aktiflik/pasiflik durumları birbiriyle iliÅkili deÄildir. \n YÃS'ün sahip olduÄu öbhs,hbhs rolleri için herhangi bir fraud ya da teknik sebeplerden ötürü geçici süreyle geri alınabilir. \n YÃS'lerin hizmet verememesi durumunda rollerinin ger
16i alınması yapılmayacaktır. YÃS rolleri sadece ilgili resmi kurumlardan gelen talep üzerine alınabilecektir. \n YÃS aktifliÄini korurken problem çözülene kadar geçici olarak alınan roller(öbhs,hbhs) tekrardan aktif hale getirilir. \n GET /yos/{yosKod} \n İÅlem Sorgu ÃrneÄi = /yos ⨠bu sorgu yöntemi ile tüm YÃS'lerin dizi Åeklinde verileri listelenir. \n İÅlem Sorgu ÃrneÄi = /yos/2501 ⨠bu sorgu yöntemi ile gönderilmiÅ olan yosKoduâna ait bilgiler listelenir ya da â404 Not Foundâ hatası alır.\nYÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir.\nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /yos?srlmKrtr=kod&srlmYon=A \n Tablo 22: YOS Bilgileri Sorgulama Yanıtı âYosâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Yös kodu \n kod \n AN4 \n Z \n YÃS'ün kod bilgisi \n \n \n Yös unvanı \n unv \n AN3..140 \n Z \n YÃS unvan bilgisi \n \n \n Yös markası \n marka \n AN1..140 \n Z \n ÃHK'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. YÃS tarafından belirlenecektir. \n \n \n YÃS rolleri \n roller \n Array[AN4] \n Z \n YÃSâun rollerini belirten deÄer. Ãrnek: [ \"obhs\", \"hbhs\" ] - obhs - Ãdeme Bilgisi Hizmet SaÄlayıcı Rolü - hbhs - Hesap Bilgisi Hizmet SaÄlayıcı Rolü \n \n \n Adresler \n adresler \n Kompleks:Adres[Array] [1..N] \n Z \n --- \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerlerinden birini alır. Adres detaylarının hangi GKD türüne ait olduÄunu belirtir. \n \n \n > Adres Detayları \n adresDetaylari \n adresDetaylari\tKompleks: AdresDetayi[Array] [1..N] \n Z \n \n \n \n >> Temel Adres \n tmlAdr \n AN1..1024 \n Z \n yetYntm deÄeri âYâ olarak iletildiÄinde Yönlendirmeli GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. yetYntm deÄeri âAâ olarak iletildiÄinde Ayrık GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. Riza isteklerinde bu deÄer ile uyumluluÄu kontrol edilmelidir. Ãrnek: https://example.com https://example2.com/path deepLink://example/test deepLink://example2/test \n \n \n >> Açıklama \n aciklama \n AN1..1024 \n İ \n YÃSâün gönderdiÄi adrese yönelik vermek istediÄi açıklama Ãrnek: WEB bireysel , WEB kurumsal , APP \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n YÃSâün mesaj imzalama için paylaÅtıÄı açık anahtar \n \n \n YÃS Api Bilgileri \n apiBilgileri \n Kompleks: YosApiBilgi[Array][0..N] \n Z \n Desteklenen Api ve sürüm bilgileri dönülecektir. \n \n \n > api \n api \n AN1..20 \n Z \n Api İsmi Ãrnek :ods \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s2.0 s1.0 \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n YOSâe ait logo bilgileri. \n \n \n > logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n YÃS tarafında tutulan ve HHSâlerle paylaÅılacak olan url adres bilgisidir. Ãrnek: https://via.placeholder.com/150?text=0001 \n \n \n > logoArkaPlan \n logoArkaPlan \n AN1 \n Z \n TR.OHVPS.DataCode.LogoArkaPlan sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoFormat \n logoFormat \n AN3 \n Z \n TR.OHVPS.DataCode.LogoFormat sıralı veri türü deÄerlerlerinden birini alır. \n \n \n Durum \n durum \n AN1 \n Z \n YÃS'ün durum bilgisidir. TR.OHVPS.DataCode.YOSDurumu sıralı veri tipinde alabileceÄi deÄerler belirtilmiÅtir. \n \n \n \n"},{title:"9.\tHesap Bilgisi Hizmeti",frontmatter:{},regularPath:"/v2.0.0/contents/hesap-bilgisi-hizmeti.html",relativePath:"v2.0.0/contents/hesap-bilgisi-hizmeti.md",key:"v-2c81f446",path:"/v2.0.0/contents/hesap-bilgisi-hizmeti.html",headers:[{level:2,title:"Genel Bilgiler",slug:"genel-bilgiler"},{level:2,title:"Hesap Bilgisi Hizmeti İçin EriÅim Adresleri",slug:"hesap-bilgisi-hizmeti-icin-erisim-adresleri"}
16,{level:2,title:"ADIM 0: ÃHK'nın hesap/kart bilgilerine eriÅim için talepte bulunması:",slug:"adim-0-ohk-nın-hesap-kart-bilgilerine-erisim-icin-talepte-bulunması"},{level:2,title:"9.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması",slug:"_9-1-adim-1-hesap-bilgisi-rızasının-hazırlanması"},{level:3,title:"POST /hesap-bilgisi-rizasi",slug:"post-hesap-bilgisi-rizasi"},{level:3,title:"BaÅarılı İstek:",slug:"basarılı-istek"},{level:3,title:"BaÅarılı Yanıt:",slug:"basarılı-yanıt"},{level:2,title:"İzinler",slug:"izinler"},{level:2,title:"9.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi",slug:"_9-2-adim-2-hesap-bilgisi-hizmeti-rızasının-tesisi"},{level:2,title:"9.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması",slug:"_9-3-adim-2-1-hesap-bilgisi-rızasının-sorgulanması"},{level:2,title:"9.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali",slug:"_9-4-adim-2-2-hesap-bilgisi-rızasının-iptali"},{level:2,title:"9.5 ADIM 3: Hesap Bilgilerinin Alınması",slug:"_9-5-adim-3-hesap-bilgilerinin-alınması"},{level:2,title:"9.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması",slug:"_9-6-adim-3-1-ve-3-2-hesap-bilgilerinin-sorgulanması"},{level:2,title:"9.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması",slug:"_9-7-adim-3-3-ve-3-4-hesap-bakiyesinin-sorgulanması"},{level:2,title:"9.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması",slug:"_9-8-adim-3-5-ve-3-6-islemlerin-sorgulanması"},{level:2,title:"9.9 ADIM 4: Kart Bilgilerinin Sorgulanması",slug:"_9-9-adim-4-kart-bilgilerinin-sorgulanması"},{level:2,title:"9.10 ADIM 4.1: Kart Detay Bilgilerinin Sorgulanması",slug:"_9-10-adim-4-1-kart-detay-bilgilerinin-sorgulanması"},{level:2,title:"9.11 ADIM 4.2: Kart Hareket Bilgilerinin Sorgulanması",slug:"_9-11-adim-4-2-kart-hareket-bilgilerinin-sorgulanması"}],content:" 9.\tHesap Bilgisi Hizmeti \n Genel Bilgiler \n Bu dokümanda belirtilen \"Hesap Bilgisi Hizmeti\" ibaresi hem hesap hem de kart rıza süreçlerini kapsamaktadır. \n Hesap bilgisi sorgulama için HBHS tarafından müÅteri rızası tesisinin HHS tamamlanmıŠolması gerekir. MüÅteri rızası tesisi tamamlandıktan sonra, HBHS sorgulamak istediÄi hesaba ait verileri ilgili eriÅim adresi üzerinden sorgular. \n \n \n Åekil 10: Hesap Bilgisi Hizmeti Ãst Düzey AkıÅı \n Åekil-10âda sunulan hesap bilgisi hizmeti 5 temel akıÅtan oluÅur: \n 0.\tMüÅterinin hesap bilgilerine eriÅim için talepte bulunması: ÃHK ÃBHS mobil uygulama ya da web sitesinden hesap bilgilerine eriÅim iÅlemini baÅlatır. \n 1.\tHesap Bilgisi müÅteri rızasının hazırlanması: \n HBHS, âhesap/kart bilgilerine eriÅimâ için müÅteri rızası tesisi amacıyla HHSâdeki hesap bilgisi rızası eriÅim adresine bir POST isteÄinde bulunur ve bir hesap bilgisi rızası nesnesi oluÅturur. HHS hesap bilgisi rızası nesnesi için biricik tanımlayacı döner (RızaNo). Hesap bilgisi rızası, müÅterinin HBHSânin hesap/kart bilgilerine eriÅim izin verdiÄi alanları için 9.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması baÅlıÄında incelenebilir. \n 2.\tHesap bilgisi hizmeti müÅteri rızasının tesisi: \n HHS, Hesap Bilgisi Rızası servisi ile ÃHK özelinde âYetki bekleniyorâ statüsünde bir rıza nesnesi hazırlar. HHS, GKDânin baÅarıyla tamamlanması sonrasında hesap bilgisi rızası nesnesinin yetkilendirildiÄini belirtmek için Rıza Durumunu âRıza Yetkilendirildiâ olarak günceller. Nesne yetkilendirildikten sonra HHS nesne ile bir eriÅim belirteci (access token) iliÅkilendirir, Rıza Durumunu âYetki Kullanıldıâ yapar ve bu belirteci HBHSâye geri döner. Böylece müÅteri rıza tesisi saÄlanmıŠolur. \n Hesap bilgisi rızasına iliÅkin temel ilkeler Åunlardır: \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de Yetki Bekleniyor, Yetkilendirildi, Yetki Kullanıldı statüsünde 1 rızası olabilir. \n MüÅteri rızasının ayrıntıları ÃHK ile HBHS arasında belirlenir. Bu nedenle müÅteri rızasının ayrıntıları HHS ekranında deÄiÅtirilmemelidir. \n ÃHK, hesap ve kart eriÅim izni ayrıntılarını yalnızca bir bütün olarak yetkilendirebilir veya geri alabilir. \n MüÅteri rızası tesisi esnasında, müÅteri HHS arayüzünde eriÅim için yetkilendirecek hesapları ve kartları seçer. \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN hizmeti sunmayabildikleri için hesap referansı ile akıÅlarını kurgulayabilirler. YÃS önyüzlerinde yapılan bilgilendirmelerde, IBAN harici hesap referansı ile iÅlem yapılabilmesine dikkat edilmelidir. \n \n 2.1\tHesap bilgisi rızasının sorgulanması: MüÅteri rızası GET/hesap-bilgisi-rizasi/{RizaNo} çaÄrısı yapılarak sorgulanır. \n 2.2\tHesap bilgisi müÅteri rızasının iptali: MüÅteri rızası DELETE/hesap-bilgisi-rizasi/{RizaNo}
16 çaÄrısı yapılarak iptal edilir. \n 3.1\tHesap bilgilerinin alınması: Hesap bilgileri ilgili kaynaÄa (hesaplar, bakiye, iÅlemler) GET isteÄi yapılarak gerçekleÅtirilir. HBHS, müÅteri rızasının tesisinden sonrasında (geçerli bir eriÅim belirticine sahip olduÄunda) öncelikle GET/hesaplar çaÄrısı yapacaktır. \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin HBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini (önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n 4.\tKart bilgilerinin alınması: Kart bilgileri ilgili kaynaÄa (kartlar, kart detayı, kart hareketleri) GET isteÄi yapılarak gerçekleÅtirilir. HBHS, müÅteri rızasının tesisinden sonrasında (geçerli bir eriÅim belirticine sahip olduÄunda) öncelikle GET/kartlar çaÄrısı yapacaktır. \n Hesap Bilgisi Hizmeti İçin EriÅim Adresleri \n Etki Alanı (Scope) =âhesap_bilgisiâ \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n hesap-bilgisi-rizasi \n POST \n /hesap-bilgisi-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n HesapBilgisiRizasiIstegi \n HesapBilgisiRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n \n HesapBilgisiRizasi \n \n \n 2.2 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD-KoÅullu) \n \n \n \n \n \n \n 3.1 \n hesaplar \n GET \n /hesaplar \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n HesapBilgileri(birden çok hesap) \n \n \n 3.2 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n HesapBilgileri(tek hesap) \n \n \n 3.3 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n BakiyeBilgileri(tek hesap) \n \n \n 3.4 \n bakiye \n GET \n /bakiye \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n BakiyeBilgileri(birden çok hesap) \n \n \n 3.5 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n IslemBilgileri (tek hesap) \n \n \n 4 \n kartlar \n GET \n /kartlar \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n KartBilgileri(birden çok kart) \n \n \n 4.1 \n kartlar \n GET \n /kartlar/{kartRef} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n KartBilgileri(tek kart) \n \n \n 4.2 \n kart-detay \n GET \n /kartlar/{kartRef}/kart-detay \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Filtreleme \n \n KartDetayBilgileri \n \n \n 4.3 \n kart-hareketleri \n GET \n /kartlar/{kartRef}/kart-hareketleri \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n KartHareketleri \n \n \n \n Tablo 11: Hesap/Kart Bilgisi Hizmeti İçin EriÅim Adresleri \n ADIM 0: ÃHK'nın hesap/kart bilgilerine eriÅim için talepte bulunması: \n ÃHK, HBHS uygulamasında (web arayüzü/mobil uygulama) hesap/kart bilgilerine eriÅim için talepte bulunur. \n 9.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması \n Bu dokümanda belirtilen hesap bilgisi hizmeti ibaresi hem hesap hem de kart rıza süreçlerini kapsamaktadır. \n Bu API çaÄrısı HBHS'nin HHS'de yeni bir âHesapBilgisiRizasiâ nesnesi oluÅturmasını ve nesneye eriÅmek için benzersiz bir rıza numarası ({rizaNo}) dönülmesini saÄlar. \n API çaÄrısının baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması yeterlidir.\nBaÅarıyla oluÅturulan hesap bilgisi rıza kaynaÄının rıza durumu âYetki Bekleniyorâ olarak düzenlenir.\nÃHK daha önce aldıÄı rızaya iliÅkin er
16iÅim tarihleri, izin türlerini ve hesap bilgilerini güncellemek isterse, HBHS önce HHS nezdindeki rızayı iptal etmeli ve sonrasında yeni bir rıza talebinde bulunmalıdır.\n \n \n Åekil 11: Hesap/Kart Bilgisi MüÅteri Rızasının Hazırlanması \n \n POST /hesap-bilgisi-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âHesapBilgisiRizasıIstegiâ nesnesi (Tablo-12) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âHesapBilgisiRizasiâ (Tablo-13) nesnesi oluÅturulur. \n POST /hesap-bilgisi-rizasi \n Bu dokümanda belirtilen hesap bilgisi rızası ibaresi hem hesap hem de kart rıza süreçlerini kapsamaktadır. \n BaÅarılı İstek: \n İSTEK: \n HBHS, bu API eriÅim adresinden HHSâye yeni bir HesapBilgisiRizasi oluÅturulması için istekte bulunur: \n \n HBHS, ÃHKânın hesap/kart bilgilerine yönelik rıza baÅlatma isteÄi olduÄunu HHSâye bildirir. YÃS'ler sürüm 2.0 için Hesap Bilgisi Rızası isteÄi gönderdiÄinde HHS'nin ÃHK'yı yönlendireceÄi mobil uygulama içerisinde sürüm 2.0 deÄiÅikliklerini içeren, kart bilgilerinin seçimini yapacakları sürümün yüklü olmaması durumunda HHS'ler tarafından TR.OHVPS.Business.CustomerMobileApplicationHasOlderVersion hatası verilebilir. \n HBHS, ÃHKânın, HBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların API dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk ve uzunluk kontrollerini yapar.(Zorunlu) Kontrollere istinaden hata oluÅması durumunda âTR.OHVPS.Resource.InvalidFormatâ hata kodu iletilmeli ve fieldErrors dolu olacak Åekilde hatalı alanı belirten detaylı açıklama gönderilmelidir. InvalidFormat hata kodlarında fieldErrors içeriÄi gönderilmeli ve anlaÅılır açıklama ile message, messageTr alanları doldurulması zorunludur. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n HHS; YÃS API ile alınan temel adres bilgilerinde yer alan yönlendirme adresleri ile hesap bilgisi rızası nesnesi içerisinde yer alan YÃS adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda âTR.OHVPS.Business.TPPRedirectionAddressMismatchâ hatası dönülür. \n HHS; kimlik bilgileri nesnesinde iletilen kimlik bilgileri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır.(Zorunlu) Kontrollere istinaden hata oluÅması durumunda âTR.OHVPS.Business.CustomerNotFoundâ hatası dönülür. Kurumsal müÅteri ile baÅlatılan rızada yer alan müÅteri bilgisinin karÅı kurumda Kurumsal müÅteri deÄil; bireysel müÅteri olduÄu durumda âTR.OHVPS.Business.BusinessCustomerMismatchâ hatası dönülür. \n Bir ÃHK'nın 1 YÃS için aktif tek bir rızası olabilir. ÃHKânın âYetkilendirildiâ ve âYetki Kullanıldıâ statüsünde rızası varken yeni bir rıza isteÄi gönderdiÄinde HHS tarafından TR.OHVPS.Business.ConsentAlreadyExists hatası dönülür. Güncelleme isteÄi göndermesi durumunda ise iÅletilmesi gereken akıÅlar âRıza Durumlarıâ baÅlıÄından kontrol edilmelidir. \n Hesap bilgi hizmeti rıza isteÄinde bulunan ÃHKânın âAçık Bankacılık Kanal Yetkiâ tanımı yok ise âTR.OHVPS.Business.OpenBankingChannelClosedâ hatası dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n Hesap bilgi hizmeti rıza isteÄinde 01 ya da 07 izin türü olmak zorundadır. HHS tarafından izin türü içerisinde 01 ya da 07 varlık durumu kontrol edilir. Olmaması durumunda \"TR.OHVPS.Business.IncorrectPermissionTypeâ hatası dönülür. \n Hesap bilgi hizmeti rıza isteÄinde 01 izin türü bulunmuyor ise 02, 03, 04, 05 ya da 06 izin türü olmamalıdır. 01 izin türü bulunmadıÄında 02, 03, 04, 05 ya da 06 izin türlerinden biri ya da birkaçı gönderildiÄinde \"TR.OHVPS.Business.IncorrectPermissionTypeâ hatası dönülür. \n Hesap bilgi hizmeti rıza isteÄinde 07 izin türü bulunmuyor ise 08 ya da 09 izin türü olmamalıdır. 07 izin türü bulunmadıÄında 08 ya da 09 izin türlerinden biri ya da ikisi gönderildiÄinde \"TR.OHVPS.Business.IncorrectPermissionTypeâ hatası dönülür. \n ÃHK, HHS'de olacak bakiye deÄiÅikliklerinden anlık haberdar olmak istiyor ise 06-Anlık Bakiye Bildirimi izin türü seçimi ile rıza baÅlatması gereklidir. 03-Bakiye Bilgisi izin türü ile birlikte seçilmesi gereklidir. 06 izin türü seçilip 03 izin türü seçilmediÄi durumda âTR.OHVPS.Business.IncorrectPermissionTypeâ hatası dönülür. \n İzin türü â06: Anlık Bakiye Bildirimiâ seçilmiÅ ise HHS, YÃS'ün KAYNAK_GUNCELLENDI olay tipinde olay aboneliÄinin varlıÄını kontrol eder. Olay abonelik kaydı bulunmuyor ise âTR.OHVPS.Business.EventSubscriptionNotFoundâ hatası dönülür. \n Hesap bilgi hizmeti rıza isteÄinde bulunan ÃHKânın izin verecek hesap ya da kartı yok ise âTR.OHVPS.Business.ProductNotSuitableâ hatası dönülür. İki üründen biri var ise baÅarılı yanıt dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n EriÅimin Geçerli OlduÄu Son Tarih bilgisi müÅteri baÄımsız alabileceÄi minimum deÄer : Rıza tarihi + 1 gündür. Maksimum rıza süresi bireysel müÅteriler için 6 ay, Kurumsal/Tüzel müÅteriler için 12 ay olacaktır. Bireysel müÅteriler için 6 aydan fazla, kurumsal müÅteriler için ise 12 aydan fazla iletildiÄi durumda âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; İÅlem Sorgulama BaÅlangıç Zamanı, hesap bilgisi rızası verilmesinden geçmiÅe dönük en fazla 12 ay olabilmektedir. 12 aydan fazla gönderilmesi durumunda âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; İÅlem Sorgulama BaÅlangıç Zamanı, hesap bilgisi rızası verilmesinden geleceÄe dönük en fazla 12 ay sonrası olabilmektedir. 12 aydan fazla gönderilmesi durumunda âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n Ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapılması durumunda HHS tarafından âTR.OHVPS.Business.DecoupledAuthenticationNotSupportedâ hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n Ayrık GKD ile baÅlatılan hesap bilgi hizmeti rıza isteÄinde HHS, YÃSâün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından âTR.OHVPS.Business.EventSubscriptionNotFoundâ hatası dönülür. \n ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından âTR.OHVPS.Business.CustomerInfoMismatchâ hatası dönülür. \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında hata mesajı vermelidir. HHS tarafından âTR.OHVPS.Business.CustomerMobileApplicationNotFoundâ hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, benzersiz âRizaNoâ ile âHesapBilgisiRizasiâ nesnesi oluÅturur ve HBHSâye döner. \n HHS, HesapBilgisiRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n Tablo 12: âHesapBilgisiRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Ãnceki Rıza No \n oncekiRizaNo \n AN1..128 \n K \n HesapBilgisiRızasiIstegi nesnesinin güncelleme sebebiyle oluÅturulması esnasında ÃHK'nın güncelleme yapmak istediÄi mevcut rıza no bilgisi. Rıza güncelleme yapılmak istendiÄinde gönderilmesi zorunludur. \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, HBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.OHKTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n \n Hesap/Kart Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n \n >İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih. MüÅteri YÃS ekranından bu deÄeri belirleyebilir. Bireysel müÅteriler için rıza süresi 6 ay, Kurumsal/Tüzel müÅteriler için 12 ay olacaktır. Bireysel MüÅteriler için varsayılan deÄer : Rıza verilen tarih + 6 ay Kurumsal MüÅteriler için varsayılan deÄer : Rıza verilen tarih + 12 ay Bireysel MüÅteriler için alabileceÄi maksimum deÄer : Rıza tarihi + 6 ay Kurumsal MüÅteriler için alabileceÄi maksimum deÄer : Rıza tarihi + 12 ay MüÅteri baÄımsız alabileceÄi minimum deÄer : Rıza tarihi + 1 gün ÃrneÄin 04/02/2023âde minimum 05/02/2023 seçilebilir. Bu durumda yeni günün baÅlangıç saati 00:00:00 olduÄu kabul edildiÄi için; erisimIzniSonTrh deÄeri 2023-02-06T00:00:00+03:00 olmalıdır. HHS rıza onay ekranlarında YÃS'ten iletilen eriÅim izni son tarihi yeni günün baÅlangıç saati olarak iletildiÄinden ÃHK'ya gösterilecek tarih eriÅim izninin biteceÄi gün olarak gösterilmelidir. ÃrneÄe istinaden; ÃHK YÃSâde 05/02/2023 seçmiÅ ise HHS rıza onay ekranında 06/02/2023 görmemeli, bu iki tarihin aynı, yani 05/02/2023 olacak Åekilde gösterilmesi gerekmektedir. Ãrnek rıza oluÅ zamanı : 2023-02-04T21:20:20+03:00 1 günlük rıza verildiÄinde erisimIzniSonTrh deÄeri: 2023-02-06T00:00:00+03:00 (26 saat 40 sakikalık rıza vermiÅ oluyor.) 7 günlük rıza verildiÄinde erisimIzniSonTrh deÄeri: 2023-02-12T00:00:00+03:00 1 aylık rıza verildiÄinde erisimIzniSonTrh deÄeri : 2023-03-05-T00:00:00+03:00 \n Bu alanda bir deÄer bulunmadıÄı durumda HHS hata dönmelidir. \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geçmiÅe dönük en fazla 12 ay olabilir, daha eski olmaması gerekir. Varsayılan deÄeri rıza verilen tarih (iÅlem zamanı) â 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamıŠise zaman bilgisi üretilirken ekrandan girilen tarihe 00:00:00 zaman bilgisi eklenmelidir. ÃHK deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi - 12 ay Maksimum tarih: Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BaÅlangıç Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geleceÄe dönük en fazla 12 ay sonrası olabilir, daha ileri bir tarih olmaması gerekir. Varsayılan deÄeri: Rıza verilen tarih + 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamıŠise girdiÄi tarihe 1 gün eklenir ve yeni günün ilk saati kabul edilen 00:00:00 saat bilgisini ekler. ÃHK bu alana bir deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi â 12 ay Maksimum tarihi : Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. EÄer dolu gönderilirse HHS tarafından uygun hata mesajı iletilmelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BitiÅ Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n BaÅarılı Yanıt: \n Tablo 13: HesapBilgisiRizasi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Ãnceki Rıza No \n oncekiRizaNo \n AN1..128 \n K \n HesapBilgisiRızasiIstegi nesnesinin güncelleme sebebiyle oluÅturulması esnasında ÃHK'nın güncelleme yapmak istediÄi mevcut rıza no bilgisi. Rıza güncelleme yapılmak istendiÄinde gönderilmesi zorunludur. İstekte gönderilen deÄer aynı Åekilde yanıtta dönülmelidir. \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. Ãrn; hesap bilgi rızasının tesisine dair ilk istek mesajına dönüÅte âB: Yetki Bekleniyorâ deÄerini alması beklenir. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄ
16u durumda zorunludur. \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe\tGKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Hesap/Kart Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n > İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HBHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi baÅlangıç zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi bitiÅ zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n > Ayrıntı Bilgi \n ayrBlg \n Kompleks: AyrintiBilgi \n İ \n \n \n \n > ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n İzinler \n Bir hesap bilgisi rızası kaynaÄı çaÄrısına yanıt olarak döndürülen verileri sınırlamak için izin kodları kullanılır. \n Hesap ve karta dair tüm bilgiler hesap bilgisi rızası altında alınacaktır. İzin türleri hesap ve karta göre ayrıÅmaktadır. \n \n Temel Hesap Bilgisi \n Ayrıntılı Hesap Bilgisi \n Bakiye Bilgisi \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n Ayrıntılı İÅlem Bilgisi \n Anlık Bakiye Bildirimi \n Temel Kart Bilgisi \n Detaylı Kart Bilgisi \n Ayrıntılı Kart İÅlem Bilgisi \n \n ÃHKâya sunulacak seçimler ve kuralları aÅaÄıdaki gibi olmalıdır. \n \n \n \n Seçim \n Kural \n \n \n \n \n Temel Hesap Bilgisi \n ÃHK seçim yapabilir. Temel Kart Bilgisi seçilmediyse bu izin türünün seçimi zorunludur. \n \n \n Ayrıntılı Hesap Bilgisi \n ÃHK seçim yapabilir. \n \n \n Bakiye Bilgisi \n ÃHK seçim yapabilir. \n \n \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n ÃHK seçim yapabilir. \n \n \n Ayrıntılı İÅlem Bilgisi \n ÃHK seçim yapabilir. Ayrıntılı İÅlem Bilgisi seçimi Temel İÅlem Bilgisi seçimini kapsar. (Ayrıntılı İÅlem bilgisi seçildiÄinde Temel İÅlem Bilgisi de seçili olmalıdır.) \n \n \n Anlık Bakiye Bildirimi \n Bakiye Bilgisi izin türü ile birlikte seçilmesi gereklidir. ÃHK, HHS'de olacak bakiye deÄiÅikliklerinden anlık haberdar olmak istiyor ise bu izin türü seçimi ile rıza baÅlatması gereklidir. \n \n \n Temel Kart Bilgisi \n ÃHK seçim yapabilir. Temel Hesap Bilgisi seçilmediyse bu izin türünün seçimi zorunludur. \n \n \n Detaylı Kart Bilgisi \n ÃHK seçim yapabilir. \n \n \n Ayrıntılı Kart İÅlem Bilgisi \n ÃHK seçim yapabilir. \n \n \n \n AÅaÄıdaki durumlarda, izin kombinasyonlarına izin verilmez. HHS, bu hesap eriÅim onaylarını 400 (Hatalı İstek) yanıt ko
16duyla reddetmelidir: \n \n İzin dizisinin herhangi bir izin türü içermemesi durumu, \n İzin dizisinde HHS tarafından desteklenmeyen bir izin kodunun yer alması durumu \n 9.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi \n \n \n Åekil 12: Hesap Bilgisi ÃHK Rızasının Tesisi \n Rıza tesisinin baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması ve ardından müÅterinin HHS tarafından yönlendirmeli veya ayrık GKD ile doÄrulanması gerekir. HHS'de oluÅturulan ve rıza durumu âYetki Bekleniyorâ olan bir hesap bilgisi rızası, GKD sonrası âYetkilendirildiâ statüsüne güncellenir. HBHS, eriÅim saÄlayacaÄı hesapları ve kartları hesap bilgisi rızasının tesisinden önce seçer. \n \n \n Yönlendirmeli doÄrulama akıÅında, HBHS ÃHKâyı HHSâye yönlendirir. \n \n \n HBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n \n \n HHS, ÃHK için GKD sürecini iÅletir. \n ÃHKâyı doÄrularsa, \n \n \n ÃHK HBHS üzerinden iÅlem yapılmasına izin vereceÄi hesap/kart seçimini y
16apar. HBHS üzerinden ÃHKânın verdiÄi izin bilgilerini ve eriÅim izninin baÅlangıç/bitiÅ tarihi bilgilerini, HHS'ler bilgilendirme amaçlı ÃHKâya gösterir. \n \n \n Rıza güncelleme akıÅı ile baÅlatılan rıza isteklerinde mevcut rıza içerisinde seçili olan hesap/kart bilgileri ÃHK'ya HHS ekranlarında aynı Åekilde seçili olarak getirilmelidir. ÃHK'lar mevcut rıza içerisinde izin vermiÅ olduÄu hesap/kart bilgilerini seçili olarak görüntüleyip yeni rıza için izin vermek istediÄi hesap/kartların seçimini güncelleyebilmelidir. \n Rıza güncelleme sürecinde; ÃHKânın HHSâdeki mevcut rızası kapsamında YÃSâten gelen rıza izin türlerine göre listeleme yapılmalıdır. 01,02,03,04,05,06 seçildiyse hesapların; 07,08,09 seçildiyse kartların HHSâde listelenmesi gerekmektedir. ÃrneÄin: ÃHKânın mevcut rızasında hesaplar (01,02,03 rıza türlerinin seçili olsun) için hesap bilgisi rızası verilmiÅ olsun eÄer YÃSâten rıza güncelleme kapsamında 01,02, 07,08 rıza türleri geldiÄi durumda HHSânin mevcut hesap rızasını ve doÄal olarak hesapları listelemesi ek olarak da karta ait rıza türleri seçildiÄinde kartların listelenmesi gerekecektir. Ancak, ÃHKânın mevcut rızasında hesaplar (01,02,03 rıza türlerinin seçili olsun) için hesap bilgisi rızası verilmiÅ olsun eÄer YÃSâten rıza güncelleme kapsamında 07,08, 09 rıza türleri geldiÄi farz edildiÄinde HHSânin mevcut hesap rızasını göstermemesi ve sadece karta ait rıza türleri seçildiÄi için kartları listelemesi gerekecektir. \n \n \n HHS hesap bilgisi rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=H&drmKod=zzz\n \n \n \n ÃHKâyı doÄrulayamazsa, \n \n \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I &rizaNo=yy&rizaTip=H&rizaIptDtyKod=11&drmKod=zzz\n \n \n \n \n \n \n \n Ayrık doÄrulama akıÅında, HHS, ÃHKânın hesap bilgisi hizmetini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister. \n \n Ayrık akıŠHBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek hesap bilgisi rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ödeme hizmeti kullanıcısını doÄrular. \n ÃHK verdiÄi izin tipi dahilinde bilgileri paylaÅılacak olan hesapları seçer. Rıza güncelleme akıÅı ile baÅlatılan isteklerde ÃHK mevcutta vermiÅ olduÄu hesap ve kartları seçili olarak görüntüler. İlgili seçimler üzerinde güncelleme saÄlayarak onay verir. \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, hesap bilgisi rızasının durumunu âYetki Kullanıldıâ olarak günceller. Rıza tesisi saÄlanmıŠolur. \n 9.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması \n GET /hesap-bilgisi-rizasi/{rizaNo} \n ÃHK, HHS üzerinden rıza iptali yapmıŠolabilir veya ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir. Bu durumlarda HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir HesapBilgisiRizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. \n \n YÃS sadece kendi uygulaması üzerinden verilmiÅ hesap bilgi rızasını sorgulayabilir. YÃS'e ait olmayan bir rıza ile sorgulama yapıldıÄında HHS tarafından \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n YÃS'e ait rıza sorgulama yapılırken ilgili rıza kaydı bulunamaz ise âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n \n Servis baÅarılı yanıtında Tablo 13âde belirtilen âHesapBilgisiRizasiâ nesnesini dönmektedir. \n Durum \nHesapBilgisiRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n \n Yetki Bekleniyor \n \n \n Yetkilendirildi \n \n \n Yetki Kullanıldı \n \n \n Yetki S
16onlandırıldı \n \n \n Yetki İptal \n \n \n Hesap bilgisi rızası sonlandırıldı ve iptal statüsünde olan rıza'ların güncellenme zamanından(gnclZmn) 6 ay sonrasına kadar sorgulanabilir olması beklenmektedir. HHS'ler ilgili süre sonrasında yapılacak rıza sorgularına \"TR.OHVPS.Resource.NotFound\" uyarısı verebilir. YÃS'ler tarafından iptal ve sonlandırıldı statüsünde olan rızalar için sorgulama yapmamalıdır. \n 9.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali \n \n \n \n Åekil 13: Hesap Bilgisi MüÅteri Rızasının Geri Alınması \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \n DELETE /hesap-bilgisi-rizasi çaÄrısı, bir HBHS'nin önceden oluÅturulmuÅ bir hesap eriÅim rızasını (yetkili olsun veya olmasın) silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, HBHS üzerinden bu rızasını kaldırmak isteyebilir. \nBu API çaÄrısı, müÅterinin HBHS üzerinden hesap bilgisi rızasını iptal etmesine ve HHS nezdindeki hesap bilgisi rızası nesnesinin silinmesini saÄlar. \n \n Rıza durumunun K olduÄu durumlarda eriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rıza, silinen rizaNo bilgisi ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n Rıza İptali API'sinde ilgili rıza kaydı bulunamaz ise âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n Rıza durumu Yetki Sonlandırıldı - S veya Yetki İptal - I ise \"TR.OHVPS.Resource.ConsentRevoked\" hatası dönülür. \n \n MüÅterinin HBHSânin veri eriÅim iznini iptal etmesi durumunda HBHS, HHSâde mevcut olan HesapBilgisiRizasi kaynaÄını pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \nçaÄrısı aracılıÄı ile yerine getirilir. HBHS ayrıca, sisteminden Hesap/Kart EriÅim İzni kaynaklarını da temizlemelidir. \nSöz konusu silme iÅlemi, kayıtların statüsünün pasife çekilmesi ile gerçekleÅtirilmelidir. Söz konusu kayıtlar, denetim izlerinin oluÅturulması ve saklanmasına iliÅkin ikincil düzenleme hükümleri kapsamında güvenli Åekilde tutulmalıdır. \nServis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır. \nÃHK rızası baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ olarak güncellenir ve gnclZmn zaman damgası vurularak güncellenir. \nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir: \nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (HBHS) \n 9.5 ADIM 3: Hesap Bilgilerinin Alınması \n \n \n \n Åekil 14: Hesap Bilgilerinin Alınması \n İSTEK: \nMüÅteri rızası tesis edilmiÅ kullanıcı için HBHS API eriÅim adresinden HHSâye eriÅilebilir hesap bilgilerini GET isteÄi ile sorgular: \n \n Parametrede yer alan deÄerlerin doÄru gönderildiÄi kontrol edilir. Hatalı gönderilmesi durumunda HHS tarafından âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. Parametrede yer alan deÄerler gönderilmediÄi durumda parametredeki varsayılan deÄerler ile hesap bilgileri dönülür. Varsayılan deÄerler Tablo 14'de belirtilmiÅtir. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n /hesaplar/{hspRef} ile yapılan istekte;\n \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen hspRef'ler için, hesap bilgisi sorgulanan hspRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili hspRef bulunamaz âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n \n \n Rıza durumu kontrol edilir.\n \n RizaDurumu B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n YÃS'ün;
16 Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında hesap bilgileri servisini çaÄırmaması beklenir. Bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda HHS tarafından âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âYetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n HHS tarafından ÃHKânın â01: Temel Hesap Bilgisiâ izin türüne sahipliÄi kontrol edilir. 01 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, \"HesapBilgileri\" nesnesini oluÅturur ve HBHSâye döner. \n \n Hesap bilgisi rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinden herhangi bir hesabın kapatılması ya da pasife alınması durumunda YÃS tarafından yapılan hesap isteÄine HHS tarafından hesap bilgisi dönülmelidir. Rıza içerisinde tek bir hesap olması halinde ilgili hesabın kapatılması durumunda rıza 09 iptal detay kodu ile iptal edilmelidir.\nKapalı hesap için TR.OHVPS.DataCode.HspDrm veri türünden KAPALI deÄeri ile, pasif hesap için TR.OHVPS.DataCode.HspDrm veri türünden PASIF deÄeri ile dönülmelidir. \n 9.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması \n GET /hesaplar ve GET /hesaplar/{hspRef} \n Bu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bilgileri sorgulanır. Hesap bilgisi için daha önce tanımlanmıŠizin türüne göre (Temel Hesap Bilgisi veya Detaylı Hesap Bilgisi) yanıtında dönülen HesapBilgileri nesnesinin içeriÄi deÄiÅir. Tablo 15âte HesapBilgileri nesnesinin içeriÄi verilmiÅtir. \n Hesap Bilgisi Sorgu ÃrneÄi (Tüm Hesaplar) = /hesaplar \nHesap Bilgisi Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef} \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 14: Hesap Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarası \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 15: âHesapBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızası nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Hesap Temel \n hspTml \n Kompleks: HesapTemel \n Z \n Temel Hesap Bilgileri (Temel Hesap Bilgisi varsayılan izin türü olduÄundan Hesap Temel nesnesi zorunlu olarak yanıtta bulunur) \n \n \n > Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hs
16pRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n > Hesap Numarası \n hspNo \n AN26 \n K \n EÄer varsa ödeme hesabına ait IBAN bilgisi \n \n \n > Hesap Sahibi Ãnvanı \n hspShb \n AN3..140 \n Z \n Hesap sahibi ya da hesap sahiplerinin ad-soyadı, ticari ünvanı \n \n \n > Åube Adı \n subeAdi \n AN3..50 \n K \n EÄer varsa ödeme hesabının baÄlı olduÄu Åubenin adı \n \n \n > Kısa Ad \n kisaAd \n AN3..50 \n K \n EÄer hesap sahibi hesaba ait bir ad tanımladıysa, tanımlanan hesap adı \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. \n \n \n > Hesap Türü \n hspTur \n AN1 \n Z \n Hesabın türü (bireysel veya ticari). TR.OHVPS.DataCode.HspTur sırali veri deÄerlerinden birini alır. \n \n \n > Hesap Tipi \n hspTip \n AN1..32 \n Z \n Hesabın tipi (VADESİZ, KREDİLİ vb.).TR.OHVPS.DataCode.HspTip sıralı veri deÄerlerinden birini alır. \n \n \n >Hesap Ãrün Adı \n hspUrunAdi \n AN1..140 \n İ \n HHS tarafından atanmıŠolan ürün adı bilgisidir. HBHS tarafından ÃHKâya gösterilmesi kullanım kolaylıÄı saÄlayacaktır. \n \n \n > Hesap Durumu \n hspDrm \n AN5..50 \n Z \n Hesabın durumunu belirtir. TR.OHVPS.DataCode.HspDrm sıralı veri türlerinden birini alır. \n \n \n Hesap Detay \n hspDty \n Kompleks: HesapDetay \n K \n Detay Hesap Bilgileri (Temel Hesap Bilgisine ek olarak Detay Hesap Bilgisi izin türü de seçilmiÅse Hesap Detay nesnesi koÅullu olarak yanıtta bulunur) \n \n \n > AçılıŠTarihi \n hspAclsTrh \n ISODateTime \n Z \n Belirtilen hesabın açılıŠtarihi. \n 9.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması \n GET /bakiye ve GET /hesaplar/{hspRef}/bakiye \nBu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bakiyesi sorgulanır. İstek çaÄrısına dönülen âBakiyeBilgileriâ nesnesi Tablo 17âde verilmiÅtir. \n \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n /hesaplar/{hspRef}/bakiye ile yapılan istekte;\n \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen hspRef'ler için, bakiye sorgusundaki hspRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili hspRef bulunamaz âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n \n \n Rıza durumu kontrol edilir.\n \n RizaDurumu B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n YÃS'ün; Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında hesap bakiye servisini çaÄırmaması beklenir. Bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda HHS tarafından âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âYetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n Hesap Bakiye Sorgulanması yapılırken HHS tarafından ÃHKânın â03: Bakiye Bilgisiâ izin türü sahipliÄi kontrol edilir. 03 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, \"BakiyeBilgileri\" nesnesini oluÅturur ve HBHSâye döner. \n \n Hesap Bilgisi Rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinde yer alan hesaplardan kapatılmıŠya da pasif duruma alınmıŠolan hesaplar için bakiye isteÄi yapıldıÄında HHS tarafından bakiye bilgisi dönülmelidir. \n \n Hesap bakiyelerinin gösterilmesi sırasında aÅaÄıda verilen örnekler gözönünde bulundurulmalıdır. \n Ãrnek 1 : ÃHK Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 0 deÄerini içeriyorsa, Hesap Bakiye Tutarı -1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 2 : ÃHK Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 1 deÄerini içeriyorsa, Hesap Bakiye Tutarı 2000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 3 : ÃHK Hesap Bakiye Tutarı 1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 0 deÄerini içeriyorsa, Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 4 : ÃHK Hesap Bakiye Tutarı 1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 1 deÄerini içeriyorsa, Hesap Bakiye Tutarı 3000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /bakiye?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 16: âBakiyeBilgileriâ Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden bü
16yük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 17: âBakiyeBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hspRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n Bakiye \n bky \n Kompleks:Bakiye \n Z \n \n \n \n > Hesap Bakiye Tutarı \n bkyTtr \n AN1..25 \n Z \n Hesabın bakiyesi. Bloke tutar düÅülmeden iletilmelidir. Tutar alanı regex patterni Åu Åekildedir: '^-?\\d{1,18}$|^-?\\d{1,18}\\.\\d{1,5}$' \n \n \n > Blokeli Tutar \n blkTtr \n AN1..24 \n K \n Varsa hesapta blokeli tutar bilgisi. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n > Bakiye İletilme Zamanı \n bkyZmn \n ISODateTime \n Z \n Bakiyenin iletildiÄi zaman bilgisi. \n \n \n > KrediliHesap \n krdHsp \n Kompleks: KrediliHesap \n K \n \n \n \n >> Kredili Mevduat Hesabı Bakiyesi \n kulKrdTtr \n AN1..24 \n Z \n Kredili mevduat tutarı. Kredili bir hesap ise zorunlu. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n >> Kredi Dahil Göstergesi \n krdDhlGstr \n AN1 \n Z \n Kredili bir hesap ise zorunlu. Bakiye tutarının kredi tutarı dahil edilerek ya da edilmeden iletildiÄini gösterir. 0: Kredi tutarı dahil edilmeden bakiye bilgisi iletilmesi durumu 1: Kredi tutarı dahil edilerek bakiye bilgisi iletilmesi durumu \n 9.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması \n GET /hesaplar/{hspRef}/islemler \n Servis baÅarılı yanıtında Tablo 19âda belirtilen \"IslemBilgileri\" nesnesini dönmektedir. \n \n Belirli bir hesaba iliÅkin iÅlem bilgileri Tablo 18âdeki istek parametrelerine göre sorgulanır. Parametrede yer alan deÄerlerin doÄru gönderildiÄi kontrol edilir. Hatalı gönderilmesi durumunda âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen hspRef'ler için, iÅlemler sorgusundaki hspRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili hspRef bulunamaz âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n RizaDurumu B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n YÃS'ün;
16 Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında iÅlemler servisini çaÄırmaması beklenir. Bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda HHS tarafından âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âYetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n HHS tarafından ÃHKânın â04: Temel İÅlem (Hesap Hareketleri) Bilgisiâ veya \"05: Ayrıntılı İÅlem Bilgisi\" izin türüne sahipliÄi kontrol edilir. 04 veya 05 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n \n Hesap Bilgisi Rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinde yer alan hesaplardan kapatılmıŠya da pasif duruma alınmıŠolan hesaplar için iÅlemler isteÄi yapıldıÄında HHS tarafından iÅlemler bilgisi dönülmelidir. \nİÅlem bilgisi için daha önce tanımlanmıŠizin türüne göre yanıtta dönen IslemBilgileri nesnesinin (Temel İÅlem Bilgisi veya Temel İÅlem Bilgisi ve Detaylı İÅlem Bilgisi) içeriÄi deÄiÅir. \nİÅlemler servisi hem ÃHKânın talebi ile YÃS uygulaması üzerinden çaÄrılabileceÄi gibi, YÃSâün ÃHKâsız baÅlatabileceÄi otomatik çaÄrıları ile de yanıt dönebilmektedir. \nHHS, iÅlemin sistemsel yapılıp yapılmadıÄını, istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir.\nÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \nYÃS, otomatik yapacaÄı sorgularda; \n \n Bireysel ÃHKâlar için hesap bazında günde en fazla 4 adet baÅarı ile sonuçlanan sorgulama yapabilir. 4 adetten fazla yapılması durumunda âTR.OHVPS.Connection.ExceededRateâ hatası dönülür. \n Kurumsal ÃHKâlar için hesap bazında saatte en fazla 12 adet baÅarı ile sonuçlanan sorgulama yapabilir. 12 adetten fazla yapılması durumunda âTR.OHVPS.Connection.ExceededRateâ hatası dönülür. \n \n HHS, tutacaÄı sayaç bilgisi ile bu sayıları kontrol ederek daha fazla sorgulama yapılmasına izin vermeyebilir. \n Aynı istek parametreleri ile yapılan sorgu sonucunda dönecek toplam kayıt sayısı 100âü aÅtıÄında, sayfalama yöntemi ile HHSânin cevap dönmesi beklenmektedir. Her bir sayfa için iÅlemler servisi tekrar çaÄrılsa da, bu çaÄrım HHSânin tuttuÄu sayaç deÄerini arttırmaz. HHSânin tutacaÄı sayaçın kontrol parametreleri YÃS kodu, hesap numarası ya da referansı olmalıdır. Sayfa no parametresi varsa ve 1'den büyük ise iÅlem sayacını arttırmamalıdır. \n ÃHKânın YÃS uygulaması üzerinden tetiklediÄi iÅlemlerde ise;\nbireysel ÃHKâlar için en fazla 1 aylık,\nkurumsal ÃHKâlar için ise en fazla 1 haftalık bir pencere aralıÄında sorgulama yapılabilir. Belirtilen tarih aralıÄından farklı deÄer ile sorgulama yapıldıÄında âTR.OHVPS.Business.InvalidStartEndTimeâ hatası dönülür. \n YÃS, otomatik yapacaÄı sorgularda hem bireysel hem de kurumsal ÃHKâlar için 24 saatlik bir pencere aralıÄında sorgulama yapabilir. Belirtilen tarih aralıÄından farklı deÄer ile sorgulama yapıldıÄında âTR.OHVPS.Business.InvalidStartEndTimeâ hatası dönülür. \n Yeni günün baÅlangıç saatinin 00:00:00 olduÄu kabul edilmiÅtir. \n Sorgu örnekleri aÅaÄıdaki gibidir: \n 1 günlük İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-06-02T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n \n 1 haftalık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-06-08T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-02-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-03-01T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-01-31T00:00:00+03:00&\nhesapIslemBtsTrh=2020-02-28T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-02-28T00:00:00+03:00&\nhesapIslemBtsTrh=2020-03-28T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 24 saatlik pencerede yapacaÄı sistemsel sorgu örneÄi (Son sorgusunun üzerine 24 saat eklenmesi) =\n/hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T14:10:08+03:00&\nhesapIslemBtsTrh=2020-06-02T14:10:08+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n Ãnyüzden alınan sorgu parametreleri ile oluÅturulan sorgu örneÄi (Ãrnek sorgu tarih aralıÄı 20.02.2023- 25.02.2023 arasındadır) =\n/hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2023-02-20T00:00:00+03:00&\nhesapIslemBtsTrh=2023-02-26T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n Tablo 18: İÅlem Listesi Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin baÅlangıç tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. ÃHK tarafından tetiklenen sorgularda;hesapIslemBslTrh ve hesapIslemBtsTrh arası fark bireysel ÃHKâlar için en fazla 1 ay,kurumsal ÃHKâlar için ise en fazla 1 hafta olabilir. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;son 24 saat sorgulanabilir. Bu yüzden hesapIslemBtsTrh-24 saatâten daha uzun bir aralık sorgulanamaz olmalıdır. İstek baÅlıÄında yer alan PSU-Initiated alanı âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n \n \n İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin bitiÅ tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;İleri vadeli iÅlem emirleri dahil olmadıÄı için (Sürüm 1.0.2 kapsamında); İÅlem Sorgulama BitiÅ Zamanı, her zaman, sorgulama zaman damgasını iletecek Åekilde (datetime (now)) iletilebilir. \n \n \n En DüÅük İÅlem Tutarı \n minIslTtr \n AN1..24 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en düÅük iÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n En Yüksek İÅlem Tutarı \n mksIslTtr \n AN1..24 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en yüksek iÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Borç Alacak Göstergesi \n brcAlc \n AN1 \n İ \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Hesaba borç yaratan iÅlem.A: Hesaba alacak yaratan iÅlem.{âBâ,âAâ} \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden bü
16yük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âislGrckZamanâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini islGrckZaman olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 19: âIslemBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referans Numarası \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hspRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n Islemler \n isller \n Kompleks:Islem[Array] \n K \n Hesaba iliÅkin hareketler varsa İÅlemler nesnesi dizisi olarak dönülür. İÅlemler nesnesi Temel İÅlem Bilgileri ve Detay İÅlem Bilgileri nesnesinden meydana gelir. İzin türü varsayılan olarak Temel İÅlem Bilgilerini içerir. Detay İÅlem Bilgileri izin türü de seçildi ise Temel İÅlem Bilgilerine ek olarak Detay İÅlem Bilgileri de gönderilir. \n \n \n > Temel İÅlem Bilgileri \n islTml \n Kompleks:IslemTemel \n Z \n Temel İÅlem Bilgileri varsayılan olarak dönülür. \n \n \n >> İÅlem Numarası \n islNo \n AN3..50 \n Z \n Hesap hareketinin oluÅturulması sırasında atanan ve borç (veya alacak) hareketini tekilleÅtiren HHS bazında tekil tanımlayıcıdır. Bu deÄer tek baÅına tekil olabileceÄi gibi birden fazla deÄerin bir araya getirilmesiyle de tekilliÄi saÄlanmıŠolabilir. Bu deÄerin en azından hesap numarası (hesNo) bazında tekil olması beklenir. Genellikle kullanılan örnekleri; Instance_Id, Transaction_Id, Transaction_Num, Transaction_TimeStamp,dekont numarası \n \n \n >> İÅlem Referans Numarası \n refNo \n AN3..50 \n Z \n İÅlemi uçtan uca tanımlayan tekil tanımlayıcıdır. Borç ve alacak hareketinden oluÅan bir veya birden fazla iÅlemler bütünü için atanmıŠolan ve bu bütünü tekilleÅtiren (bir biri ile iliÅkisini tutan) deÄerdir.Bu deÄer hem YÃSâten gelen deÄer olabilir (ödeme iÅlemlerinde kullanılan kkodRef ya da refBlg alanı) hem de HHS içinde takip edilmek için üretilmiÅ bir deÄer olabilir. HHS sisteminde 2 deÄerin de bulunması durumunda;refNo alanını doldurmak için, HHSânin YÃSâten gelen deÄere öncelik vermesi beklenmektedir. YÃSâten gelen veri örneÄi: SipariÅ Numarası, Fatura Numarası, Karekod Referansı vb. HHSâte üretilen veri örneÄi: Masraflı havale iÅleminde hem havale iÅleminin hem de masraf iÅleminin aynı referans numarasına sahip olması da örnek olarak gösterilebilir. \n \n \n >> İÅlem Tutarı \n islTtr \n AN1..24 \n Z \n İÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n >> Güncel Bakiye Tutarı \n gnclBky \n AN1..25 \n Z \n İÅlem sonrası güncel bakiye bilgisi tutarı. Tutar alanı regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n >> İÅlem GerçekleÅme Zamanı \n islGrckZaman \n ISODateTime \n Z \n İÅlemin gerçekleÅme zamanı. \n \n \n >> İÅlem Kanalı \n kanal \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeKaynak sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Borçlandırma Alacaklandırma Göstergesi \n brcAlc \n AN1 \n Z \n TR.OHVPS.DataCode.BrcAlc sıralı veri türü deÄerlerinden birini alır. İÅlemin hesabı borç ya da alacaklandırdıÄı bilgisidir. \n \n \n >> İÅlem Türü \n islTur \n AN3..50 \n Z \n HHSânin iÅleme ait iliÅkilendirdiÄi iÅlem türü deÄeri. TR.OHVPS.DataCode.IslemTuru sıralı veri türü deÄerlerinden birini alır. \n \n \n >> İÅlem Amacı \n islAmc \n AN2 \n Z \n TR.OHVPS.DataCode.IslemAmaci sırali veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Ãdeme Sistemi No \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. Havale/FAST/PÃS ödeme yöntemleri için tarih alanı yyyy-aa-gg formatında 10 karakter olarak
16iletilmelidir. \n \n \n > Detay İÅlem Bilgileri \n islDty \n Kompleks: IslemDetay \n K \n Detay İÅlem Bilgileri dizi olarak gönderilmelidir. \n \n \n >> İÅlem Açıklaması \n islAcklm \n AN1..200 \n Z \n HHS tarafından atanan iÅlem açıklaması. HHS kendi iÅlem hareketlerine yansıttıÄı açıklamayı buraya yansıtmalıdır. HHS'ler tüm hesap hareketlerini YÃS'ler ile paylaÅmakla yükümlü olup, hassas veri içeren(örn: faiz, komisyon bilgisi içeren vb.) iÅlem hareketleri de bu kapsamda deÄerlendirilerek iÅlem açıklamasının maskeli olarak iletilmesi saÄlanır. Kelimelerin ilk 3 hanesi maskeli olacak Åekilde, ancak sakıncalı bulunan kelimeler varsa; (örn: faiz, komiyon vb.) kelimelerin tamamı maskeli olacak Åekilde gösterilebilir. \n \n \n >> KarÅı Taraf \n krsTrf \n Kompleks: KarsiTaraf \n K \n Kullanımı iÅlem bazında deÄiÅmektedir. Ãrnek: FAST iÅleminde karÅı taraf alıcının bilgileridir. Vergi ödemesinde kurum IBAN bilgisi müÅteriye gösterilemeyebileceÄinden bu alanın boÅ gelmesi HHS insiyatifindedir. \n \n \n >>> KarÅı Maskeli IBAN \n krsMskIBAN \n AN26 \n K \n İlgili hesap hareketinin karÅı tarafının maskeli IBAN bilgisi. \n \n \n >>> KarÅı Ãnvan \n krsUnvan \n AN3..140 \n K \n İlgili hesap hareketinin karÅı tarafının ad-soyad ya da ticari ünvan bilgisi. Ãnvan bilgisi maskelenmeden iletilmelidir. \n \n \n >>> KarÅı Taraf Kimlik Bilgisi \n krsKimlikVrs \n AN1..11 \n İ \n HHS sorumluluÄunda YÃS ile paylaÅılan KarÅı Taraf Kimlik Bilgisi(Kimlik/Kurum Kimlik - TCKN/VKN) \n 9.9 ADIM 4: Kart Bilgilerinin Sorgulanması \n \n GET /kartlar ve GET /kartlar/{kartRef} \n Bu eriÅim noktalarından tüm kartların veya belirli bir kartın bilgileri sorgulanır ve kart listesi elde edilir. İlgili sorgu için 07 izin türünün verilmesi yeterlidir. HHS ekranlarında kart seçimi yapılırken sadece aktif/açık statüde olan kartlar listelenecek ve ÃHK'ya seçtirilecektir. Kartın ilgili kanalda listelenme yetkisi bulunmuyorsa ÃHVPS kapsamında listelenmeyebilir. ListelendiÄi durumda; asıl kart sahibi ile sanal/ek kart sahiplerinin aynı kiÅi olduÄu düÅünüldüÄünde HHS ekranlarında kart seçimi yapılarak rıza verilirken asıl kart seçilmeden ilgili asıl karta baÄlı sanal ve ek kartların ayrıca seçilerek rıza verilmesine izin verilmemelidir. HHS mevcut kanallarında ek ve sanal kart hareketlerini asıl karttan ayırt etmeden müÅterisine gösteriyor ise asıl kart seçimi ile birlikte asıl karta baÄlı sanal ve/veya ek kart seçimini zorunlu kılmalıdır. Asıl kart hamili dıÅında bir kiÅi için ek kart çıkartıldıÄı durumda ek kart sahibi HHS'de asıl kartı görmeyecek olduÄundan sadece kendisine çıkartılan ek kartı listelenecek ve seçerek rıza vermesi saÄlanacaktır. Ek kart hamilinin asıl kart hamilinden farklı olduÄu durumda asıl karta ait bir rıza olmasa da ek karta rıza verilebilir. \n Her durumda onay ekranında rıza verilen tüm kartların listesini ÃHK'ya göstermesi zorunludur. Kapalı devre çalıÅan kartlar kapsama dahil deÄildir. \n YÃS tarafından baÅlatılan rıza isteklerinde hesap ve kart izin türlerinin seçili olması durumunda HHS ekranlarında hem hesapların hem de kartların listelenmesi saÄlanacaktır. Ancak hesap ya da kart bilgilerinden en az birinin seçilmesi yeterlidir. Hem hesap hem kart bilgisi için seçim yapılması zorunluluÄu bulunmamaktadır. YÃS üzerinden hem hesap hem kart izin türü seçilerek baÅlatılan rıza akıÅında, müÅteri HHS ekranında yalnızca hesap seçimi yapmıŠise, kartlar servisine yapılan isteklerde HHS tarafından hata yerine boÅ liste dönülmelidir. \n \n Parametrede yer alan deÄerlerin doÄru gönderildiÄi kontrol edilir. Hatalı gönderilmesi durumunda HHS tarafından âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. Parametrede yer alan deÄerler gönderilmediÄi durumda parametredeki varsayılan deÄerler ile kart bilgileri dönülür. Varsayılan deÄerler Tablo 20'de belirtilmiÅtir. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n RizaDurumu B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n YÃS'ün;
16 Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında kartlar servisini çaÄırmaması beklenir. Bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda HHS tarafından âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âYetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n İlgili rıza numarasının â07: Temel Kart Bilgisiâ izin türüne sahipliÄi kontrol edilir. 07 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS tarafından istek baÅlıÄında yer alan X-Access-Token ile iliÅkili rıza içerisindeki kart bilgileri dönülür. Kart bilgileri için KartBilgileri nesnesinin içeriÄi Tablo 21'de verilmiÅtir. \n Kart Bilgisi Sorgu ÃrneÄi (Tüm Kartlar) = /kartlar?syfKytSayi=25&syfNo=1?kartTipi=K\nKart Bilgisi Sorgu ÃrneÄi (Belirli Bir Kart) = /kartlar/{kartRef} \n İptal statüsünde olan banka ve ön ödemeli kart tipleri HHS tarafından kartlar sorgusunda dönülmeyecek olup YÃS'ler tarafından ÃHK'ya da gösterilemeyecektir. İptal statülü kredi kart tipi için borç/taksit bilgisi veya artı bakiye olması durumunda kartlar listesinde HHS'ler tarafından dönüŠsaÄlanacak olup YÃS'ler tarafından ÃHK'ya gösterilecektir. İptal statüsünde olup herhangi bir bakiye ve borç olmaması durumunda ilgili kart bilgisi kartlar listesinde HHS tarafından iletilmeyecektir. \n HHS'de açık/aktif statüde yer alan kartlar seçilip rıza tahsis edildikten sonra kartın statüsünün pasif olması durumunda HHS tarafından mevcut kanallarında gösterilen bilgiler kart liste, detay ve hareket sorgulamalarında dönülmelidir. HHS'de kart seçimi yapıp rıza tahsis edildikten sonra ilgili kartın gösterimi özelinde HHS'de kısıtlama getirilmesi durumları için örnekler aÅaÄıda detaylandırılmıÅtır. \n \n Rıza içerisinde sadece kart olması durumunda ilgili rızanın 09 iptal detay kodu ile iptal edilmesi saÄlanacaktır. \n Rıza içerisinde ilgili kartın dıÅında hesap/kart olması durumunda rıza iptal edilmeyecektir. İlgili kart haricinde kart listesinde farklı bir kart yoksa kart listesi, sorgulandıÄında TR.OHVPS.Business.RestrictedChannelAccess hata kodu dönülecektir. \n \n Tablo 20: Kart Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Kart Tipi \n kartTipi \n AN1 \n İ \n Kart tipleri özelinde Banka, Kredi ve Ãn Ãdemeli kartların ayrıca soruglanması saÄlanır. \n Bu veri gönderildiÄi durumda, HHS kart tipine uygun olarak kart bilgilerini döner. \n \n \n \n Tablo 21: âKartBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Kart Referans Numarası \n kartRef \n AN5..40 \n Z \n HHS tarafından her bir kart için atanan biricik deÄerdir (uuid). Bir kart tek bir kartRef'e karÅılık gelmelidir, benzer Åekilde bir kartRef tek bir karta karÅılık gelmelidir. Aynı kart için alınan tüm rızalarda kart referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n Kart Numarası \n kartNo \n AN15..16 \n Z \n Karta ait numara maskeli olarak iletilmelidir. Maskeleme kuralı kart'ın ilk 6 ve son 4 hanesi açık olarak görünecek Åekilde maskelenmelidir. Sanal kart bilgisi için de ilgili numara maskeli olarak iletilmelidir. Ãrn: 123456******5678 \n \n \n Asıl Kart Numarası \n asilKartNo \n AN15..16 \n K \n Asıl kartlar için ilgili alan iletilmemelidir. Sanal ve ek kartlar için baÄlı oldukları asıl kart numaraları iletilmelidir. Ek karta ait sanal kart için asıl kart numarası olarak ek kart numarası iletilmelidir. Kart numarası maskeli iletilmelidir. \n \n \n Kart Tipi \n kartTipi \n AN1 \n Z \n Kartın tipini belirten deÄerdir. Kart tipleri olarak alabileceÄi deÄerler TR.OHVPS.DataCode.KartTip sıralı veri türlerinden biridir. \n \n \n Alt Kart Tipi \n altKartTipi \n AN1 \n Z \n Kart Tipleri altında yer alan alt kart tipleridir. Alt kart tipleri olarak alabileceÄi deÄerler TR.OHVPS.DataCode.AltKartTip sıralı veri türlerinden biridir. Asıl banka kartı, sanal banka kartı, ek kredi kartı, asıl kredi kartı gibi tüm kart tiplerini ayrıÅtırmak için asıl ve alt kart tipleri kullanılmaktadır. \n \n \n Kart Formu \n kartFormu \n AN1 \n Z \n Kartın fiziksel ve dijital olduÄ
16unu belirten deÄerdir. AlabileceÄi deÄerler TR.OHVPS.DataCode.KartFormu sıralı veri türlerinden biridir. \n \n \n Kart Türü \n kartTuru \n AN1 \n Z \n Kartın tipinin bireysel ya da ticari olmasına yönelik olan deÄerdir. B:Bireysel, T:Ticari \n \n \n Kart Statüsü \n kartStatu \n AN1 \n Z \n TR.OHVPS.DataCode.KartStatu sıralı veri türü deÄerlerinden birini alır. Kart statüsü için güncelleme yapılamayacak durumda ise iptal statüsü olarak deÄerlendirilmelidir. Kart statüsü güncellenebilir durumda ise açık ve pasif olarak deÄerlendirilmelidir. \n \n \n Kart Sahibi Ad/Soyad \n kartSahibi \n AN3..140 \n Z \n Kart sahibi ya da kart sahiplerinin ad-soyadı. \n \n \n Kart Ticari Unvan \n kartTicariUnvan \n AN3..140 \n K \n Kart türü ticari ise ilgili alanda ticari unvan iletilmesi zorunludur. \n \n \n Kart Ãrün Adı \n kartUrunAdi \n AN3..140 \n Z \n Kart bilgilerinin ürün adı. Ãrn : TROY Business Kart \n \n \n Ekstre Türleri \n ekstreTurleri \n Kompleks:EkstreTurleri[Array] \n Z \n Ekstre türleri dizi içerisinde iletilmelidir. \n \n \n > Ekstre Statüsü \n ekstreStatu \n AN1 \n Z \n TR.OHVPS.DataCode.EkstreStatu sıralı veri türü deÄerlerinden birini alır.Ekstre türünün durumu iletilmelidir. Pasif olan ekstre türleri de iletilmelidir. A: Aktif : ilgili kartın ekstre türünün kullanıma açık olmasıdır. P: Pasif : İlgili kartın esktre türünün eskiden kullanıldıÄı ancak Åu an devre dıÅı durumda olmasıdır. Ãrnek olarak: İlgili kredi kartının TRY, USD, EUR ekstre türleri açık olduÄu durumda üç ekstre türünün de aktif olarak dönmesi beklenmektedir. ÃHK, USD ekstre türünü kapattıÄı durumda USD pasif ; TRY ve EUR aktif olarak dönmesi beklenmektedir. Böylece ÃHKânın Åu an pasif ama önceden aktif olan esktre türlerinin sorgulanması saÄlanabilecektir. EÄer bir ekstre türü için hiç ekstre üretilmemiÅse, bu durumda HHSânin ilgili ekstre türünü hiç dönmemesi gerekmektedir. \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n İlgili karta ait ekstre türleri para birimi.(TRY, USD, EUR, GBP) YurtdıÅı ekstre olan kartlar için TRY haricinde de deÄer dönülmesi gerekmektedir. Banka kartlarında ise karta baÄlı olan hesap para birimleri iletilmelidir. \n \n \n Kart Rumuz \n kartRumuz \n AN3..140 \n İ \n Kart için rumuz bilgisi var ise gönderilebilir. \n \n \n Kart Åeması \n kartSema \n AN1 \n Z \n TR.OHVPS.DataCode.KartSema sıralı veri türü deÄerlerinden birini alır. \n 9.10 ADIM 4.1: Kart Detay Bilgilerinin Sorgulanması \n GET /kartlar/{kartRef}/kart-detay \n KartBilgileri nesnesi ile elde edilen kart listesinde yer alan kartların detayı sorgulanır. Detay ile birlikte KartDetayBilgileri nesnesinin içeriÄi Tablo 23'de verilmiÅtir. \n \n Parametrede yer alan ekstreTuru bilgisi Ekstre Türleri haricinde uygun olmayan bir deÄer gönderildiÄinde âTR.OHVPS.Business.InvalidCurrencyCodeâ hatası dönülür. Bu alan gönderilmiyorsa TRY olarak deÄerlendirilmelidir. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen kartRef'ler için, kart detay bilgileri sorgulanan kartRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili kartRef bulunamaz âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n İlgili rıza numarasının â08: Detaylı Kart Bilgisiâ izin türüne sahipliÄi kontrol edilir. 08 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupported\"â hatası dönülür. \n Alt kart tipi Sanal Kart olanlar için detay bilgisi görüntülenmeyecektir. Sanal kart özelinde detay bilgi sorgulaması yapılması durumunda HHS tarafından \"TR.OHVPS.Business.CardTypeNotSupported\" hatası dönülür. \n Kart tipi olarak; iptal statüsünde olan banka ve ön ödemeli kartlar için detay sorgulaması yapılamayacaktır. Kart tipi kredi kartı olup iptal statüsünde olan ve borcu olmayan bir kart için de kart detay sorgulaması yapılamayacaktır. Detay sorgulaması yapılamayacak bir kart tipi için HHS'ler tarafından \"TR.OHVPS.Business.InvalidCardStatus\" hatası dönülür. \n Rıza içerisinde kanal görüntüleme yetkisi kapatılan kart için detay bilgisi sorgulandıÄında TR.OHVPS.Business.RestrictedChannelAccess hata kodu dönülecektir. \n İlk kredi kartı oluÅan ÃHK'lar henüz ekstre oluÅmadıÄı sebebiyle tarih ve borç bilgileri de oluÅmamıŠolabilir. Bu sebeple ilgili tutar bilgileri sıfır olacak Åekilde dönülmelidir. Tarih bilgileri ise varsayılan tarih bilgisi olarak dönülebilir.(Ãrn:01/01/1900) Bu Åekilde gelen bir tarih bilgisi YÃS'ler tarafından ÃHK'ya boÅ olarak gösterilebilir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS tarafından âKartDetayBilgileriâ nesnesi dönülür. \n HHS'ler kart tipi kredi kartı ise ve karta ait borç/taksit tutar bilgisi bulunuyorsa KartDetayBilgileri nesnesi için baÅarılı yanıt dönmek zorundadır. Borç bilgisi için tutarlar eksi(-) olacak Åekilde iletilmesi beklenmektedir. \n Kart Detay Bilgisi Sorgu ÃrneÄi (Tek Bir Kart) = /kartlar/{kartRef}/kart-detay \n Parametre içeren Kart Detay Bilgisi Sorgu ÃrneÄi (Tek Bir Kart) = /kartlar/{kartRef}/kart-detay?ekstreTuru=USD \n Tablo 22: Kart Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Ekstre Türü \n ekstreTuru \n AN3 \n K \n Kart bilgileri yanıtında dönülen ekstre türleri deÄerlerini almaktadır. Para birimine uygun olarak kart detay bilgileri sorgulanmaktadır. Ekstre parametresi TRY,USD,EUR,GBP olarak gönderilebilir. Bu alan gönderilmiyorsa TRY deÄerlendirilmelidir. İlgili para birimine özel ekstre içindeki harcama deÄeri dönülecektir. \n Ekstre türleri haricinde uygun olmayan bir deÄer gönderildiÄinde hata verilmelidir. \n \n \n \n Tablo 23: âKartDetayBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n
16Kart Tiplerine İstinaden Detaylı Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n Kart Referans Numarası \n kartRef \n AN5..40 \n Z \n HHS tarafından her bir kart için atanan biricik deÄerdir (uuid). Bir kart tek bir kartRef'e karÅılık gelmelidir, benzer Åekilde bir kartRef tek bir karta karÅılık gelmelidir. Aynı kart için alınan tüm rızalarda kart referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n \n Ekstre Türü \n ekstreTuru \n AN3 \n Z \n Ekstre türü TRY,USD,EUR,GBP olarak gönderilebilir. İstek paremetresinde iletilen deÄer ile aynı deÄer olmalıdır. \n \n \n \n Toplam Kart Limiti \n toplamLimit \n Kompleks:ToplamLimit \n K \n Karta ait toplam TL limit bilgisi. Toplam kart limiti (+) deÄerde gönderilmelidir. Negatif deÄer gönderilmemelidir. \n Kart tipi kredi kartı ve ön ödemeli kart olanlar için ilgili alanın dönülmesi zorunludur. Kart tipi banka olan kartlar için ilgili alan dönülmemelidir. Ãn ödemeli kartlarda, baÄlı bulundukları bir hesap olsa bile, sadece üzerlerine yüklenen tutarın gösterilmesi gerekmektedir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Tutar Bilgisi. Limit tutarı için regex patterni Åu Åekildedir: ' ^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kullanılabilir Kart Limiti \n kullanilabilirLimit \n Kompleks:KullanılabilirLimit \n K \n Karta ait kullanılabilir TL limit bilgisi. Kullanılabilir kart limiti (+) deÄerde gönderilmelidir. Herhangi bir sebeple (kart limitinin aÅılması vb.) (-) olması durumunda deÄerin (-) olarak gönderilmesi beklenmektedir. \n Kart tipi banka olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Tutar Bilgisi. Limit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Dönem İçi Hareket Toplamı \n donemIciHareketToplami \n Kompleks:DonemIciHareketToplami \n Z \n Dönem içi hareket toplamı ve kalan ekstre borcunun toplamı dönülmelidir. MüÅterinin borcu olduÄu durumda (-) deÄer gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb(+) deÄer ile tutar bilgisi gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili döneme ait hareketlerin toplam tutar bilgisidir. Kart tipi banka ve ön ödemeli kartlar için ilgili dönem içerisinde ay baÅından itibaren yapılan hareketlerin toplam tutar bilgisi iletilmelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Tutar Bilgisi. Tutar için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Ekstre Borcu \n ekstreBorcu \n Kompleks:EkstreBorcu \n K \n İlgili ekstre türüne uygun olarak ekstre borcu iletilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb(+) deÄer ile tutar bilgisi gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alanın dönülmesi koÅulludur. Ek kredi kartı için ilgili alan varsa dönülmelidir . Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Borç tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kalan Ekstre Borcu \n kalanEkstreBorcu \n Kompleks:KalanEkstreBorcu \n K \n İlgili ekstre türüne uygun olarak kalan ekstre borcu iletilmelidir. MüÅterinin kalan ekstre borcu olduÄu durumda (-) deÄer gönderilmelidir. Kalan ekstre borcu yoksa veya herhangi bir sebeple ektresinde alacak tutarı varsa 0(sıfır) deÄeri gönderilmelidir. Pozitif deÄer gönderilmemelidir. \n Kart tipi kredi kartı olanlar için ilgili alanın dönülmesi koÅulludur. Alt kart tipi ; Asıl ve Dijital kredi kartı için ilgili alanın dönülmesi zorunludur. Ek kredi kartı için ilgili alan varsa dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Borç tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Asgari Ãdeme Tutarı \n asgariOdemeTutari \n Kompleks:AsgariOdemeTutari \n K \n İlgili ekstre türüne uygun olarak ekstreye ait asgari ödeme tutarı iletilmelidir. Ekstre Borcu (-) ise; asgari ödeme tutarı da (-) deÄer olarak gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb.) \"0\" (sıfır) deÄeri gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alanın dönülmesi koÅulludur. Alt kart tipi ; Asıl ve Dijital kredi kartı için ilgili alanın dönülmesi zorunludur. Ek kredi kartı için ilgili alan varsa dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Ãdeme tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kalan Asgari Ãdeme Tutarı \n kalanAsgariOdemeTutari \n Kompleks:KalanAsgariOdemeTutari \n K \n İlgili ekstre türüne uygun olarak ekstreye ait kalan asgari ödeme tutarı iletilmelidir. Ekstre Borcu (-) ise; asgari ödeme tutarı da (-) deÄer olarak gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb.) \"0\" (sıfır) deÄeri gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alanın dönülmesi koÅulludur. Alt kart tipi ; Asıl ve Dijital kredi kartı için ilgili alanın dönülmesi zorunludur. Ek kredi kartı için ilgili alan varsa dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Ãdeme tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Hesap Kesim Tarihi \n hesapKesimTarihi \n ISODate \n Z \n Karta ait hesap kesim tarihi iletilmelidir. Hesap kesim tarihi olarak son kesilmiÅ ekstrenin tarihi iletilmelidir. ÃrneÄin; günün tarihi 09/01/2026 olduÄu durumda her ayın 23'ünde kesilen ekstre için hesap kesim tarihi 2025-12-23 Åeklinde olacaktır. \n Kart tipi kredi kartı olanlar için hesap kesim tarihi iletilmelidir. Ek kart için asıl kartın hesap kesim tarihi dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için sorgulama yapılan ayın son takvim günü dönülmelidir. \n \n \n Sonraki Hesap Kesim Tarihi \n sonrakiHesapKesimTarihi \n ISODate \n Z \n Kesilecek olan ekstrenin hesap kesim tarihi tarihi iletilmelidir. ÃrneÄin; günün tarihi 09/01/2026 olduÄu durumda her ayın 23'ünde kesilen ekstre için sonraki hesap kesim tarihi 2026-01-23 Åeklinde olacaktır. \n Kart tipi kredi kartı olanlar için sonraki hesap kesim tarihi iletilmelidir. Ek kart için asıl kartın sonraki hesap kesim tarihi dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için sorgulama yapılan aydan bir sonraki ayın son takvim günü dönülmelidir \n \n \n Son Ãdeme Tarihi \n sonOdemeTarihi \n ISODate \n K \n KesilmiÅ olan ekstre için kart borcunun ödeneceÄi son ödeme tarih bilgisi dönülmelidir. ÃrneÄin; kesilmiÅ olan ekstreye ait hesap kesim tarihi 2025-12-23 Åeklinde olan bir kredi kartı için son ödeme tarihi 2026-01-03 olacaktır. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Ek kart için asıl kartın son ödeme tarih bilgisi dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n Sonraki Son Ãdeme Tarihi \n sonrakiSonOdemeTarihi \n ISODate \n K \n Kesilecek olan ekstre için kart borcunun ödeneceÄi son ödeme tarih bilgisi dönülmelidir. ÃrneÄin; kesilecek olan ekstreye ait hesap kesim tarihi 2026-01-23 Åeklinde olan bir kredi kartı için son ödeme tarihi 2026-02-03 olacaktır. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Ek kart için asıl kartın sonraki son ödeme tarih bilgisi dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n Puan Bilgisi \n puanBilgisi \n Kompleks:PuanBilgisi[Array] \n \n Karta ait puan bilgileri dizi içerisinde iletilmelidir. \n \n \n \n > Puan DeÄeri \n puanDegeri \n AN1..25 \n K \n Kart için mevcutta yer alan puan deÄeri varsa iletilmelidir. HHS özelinde puan deÄeri puan tipine göre birim olarak tutuluyorsa ilgili deÄer iletilmelidir. Ãrn: 100 Plus puan bilgisi varsa puan deÄeri alanında 100 iletilmelidir. Puan deÄeri eksi deÄer alabilir. \n Tüm kart tipleri için puan bilgisi varsa dönülmelidir. \n \n \n > Puan Tipi \n puanTipi \n AN1..50 \n K \n Puan Tipi olarak HHS özelinde bir puanTipi varsa o bilgi iletilmelidir. Ãrn: 100 Plus puan bilgisi varsa puan tipi alanında Plus deÄeri iletilmelidir. \n Tüm kart tipleri için puan bilgisi varsa dönülmelidir. \n \n \n Nakit Ãekim Limiti \n nakitCekimLimiti \n Kompleks:NakitCekimLimiti \n K \n Karta ait nakit çekim limit deÄeri iletilmelidir. Ekstre türü TRY dıÅında olan kartlar için de TRY para biriminde geçerli olan limit iletilmelidir. Nakit Ãekim Limiti (+) deÄerde gönderilmelidir. Negatif deÄer gönderilmemelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Limit tutarı için regex patterni Åu Åekildedir: ' ^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kullanılabilir Nakit Ãekim Limiti \n kullanilabilirNakitCekimLimiti \n Kompleks:KullanilabilirNakitCekimLimiti \n K \n Karta ait kullanılabilir nakit çekim limit deÄeri iletilmelidir. Ekstre türü TRY dıÅında olan kartlar için de TRY para biriminde geçerli olan limit iletilmelidir. Kullanılabilir Nakit Ãekim Limiti (+) deÄerde gönderilmelidir. Herhangi bir sebeple (nakit limitinin aÅılması vb.) (-) olması durumunda deÄerin (-) olarak gönderilmesi beklenmektedir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Limit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kalan Toplam Taksit Tutarı \n kalanToplamTaksitTutari \n Kompleks:KalanToplamTaksitTutari \n K \n Karta ait tüm kalan taksitlerin toplam deÄeri iletilmelidir.MüÅterinin Taksit borcu olduÄu durumda (-) deÄer gönderilmelidir. Taksit iadesi veya benzeri nedenlerle oluÅan müÅterinin alacaklı olduÄu durumda tutar (+) deÄer gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Taksit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Dönem Taksit Tutar Bilgisi \n donemTaksitTutarBilgisi \n Kompleks:DonemTaksitTutarBilgisi[array] \n K \n Kart Tipi kredi kartı olanlar için taksit bilgisi varsa taksit içeren dönemlerin dizi halinde iletilmesi zorunludur. \n \n \n \n >
16 Dönem DeÄeri \n donemDegeri \n N3 \n Z \n Taksitli iÅlemler dönülmesi sebebiyle dönem deÄeri minimum 1 olacak Åekilde dönülmelidir. \n \n \n \n > Dönem Taksit Tutarı \n donemTaksitTutari \n Kompleks:DonemTaksitTutari \n Z \n İlgili dönem deÄeri içerisindeki toplam taksit tutar bilgisi iletilmelidir. MüÅterinin Dönem Taksit Tutar borcu olduÄu durumda (-) deÄer gönderilmelidir. Dönem Taksit Tutar iadesi veya benzeri nedenlerle oluÅan müÅterinin alacaklı olduÄu durumda tutar (+) deÄer gönderilmelidir. \n \n \n \n >> Tutar \n tutar \n AN1..25 \n Z \n Taksit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n >> Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n 9.11 ADIM 4.2: Kart Hareket Bilgilerinin Sorgulanması \n GET /kartlar/{kartRef}/kart-hareketleri \n KartBilgileri nesnesi ile elde edilen kart listesinde yer alan kartların iÅlem/hareket bilgileri sorgulanır. Kart hareketleri için \"KartHareketleri\" nesnesinin içeriÄi Tablo 25'de verilmiÅtir. \n \n Bir karta iliÅkin iÅlem bilgileri Tablo 24âdeki istek parametrelerine göre sorgulanır. Parametrede yer alan deÄerlerin doÄru gönderildiÄi kontrol edilir. Hatalı gönderilmesi durumunda HHS tarafından âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. Parametrede yer alan isteÄe baÄlı alanlar gönderilmediÄi durumda parametredeki varsayılan deÄerler ile kart hareketleri dönülür. \n Parametrede yer alan ekstreTuru bilgisi Ekstre Türleri haricinde uygun olmayan bir deÄer gönderildiÄinde âTR.OHVPS.Business.InvalidCurrencyCodeâ hatası dönülür. Bu alan gönderilmiyorsa TRY olarak deÄerlendirilmelidir. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen kartRef'ler için, kart hareket bilgileri sorgusunda yer alan kartRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili kartRef bulunamaz ise âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n Kart Hareket Bilgilerinin Sorgulanması yapılırken HHS tarafından ÃHKânın â09: Ayrıntılı Kart İÅlem Bilgisiâ izin türüne sahipliÄi kontrol edilir. 09 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n Kart tipi olarak; iptal statüsünde olan banka ve ön ödemeli kartlar için hareket sorgulaması yapılamayacaktır. Kart tipi kredi kartı olup iptal statüsünde olan ve borcu olmayan bir kart için de kart hareket sorgulaması yapılamayacaktır. Hareket sorgulaması yapılamayacak bir kart tipi için HHS'ler tarafından \"TR.OHVPS.Business.InvalidCardStatus\" hatası dönülmelidir. \n -Rıza içerisinde kanal görüntüleme yetkisi kapatılan kart için hareket bilgisi sorgulandıÄında TR.OHVPS.Business.RestrictedChannelAccess hata kodu dönülecektir. \n İptal statüsünde olan kart tipleri için geçmiÅe dönük hareket sorgulaması yapılamayacaktır. ÃrneÄin; Kredi Kartı için -12 ile 18 arası olan dönem deÄeri iptal statüsünde olan kredi kartı için 0 ile 18 arasında yapılabilecektir. Tüm kart tipleri için belirtilen parametrede yer alan dönem deÄerinin uygun gönderilmediÄi durumda âTR.OHVPS.Business.InvalidPeriodValueâ hatası dönülür. \n Ekstre bilgisi bulunmayan sanal ve ek kredi kart bilgileri için ekstre dönemlerine özgü kart hareketleri sorgulandıÄında HHS'ler tarafından TR.OHVPS.Business.NoStatementForCard hatası dönülmelidir. \n Kartın yeni oluÅması/aktif edilmesi gibi süreçlerler sonucunda ekstre bilgisi hiç oluÅmamıŠdönem deÄerleri için kart hareketleri sorgulandıÄında HHS'ler tarafından TR.OHVPS.Business.StatementNotCreated hatası dönülmelidir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS tarafından \"K
16artHareketleri\" nesnesi dönülür. \n \n HHS'ler kart tipi kredi kartı ise ve karta ait borç/taksit tutar bilgisi bulunuyorsa KartHareketleri nesnesi için baÅarılı yanıt dönmek zorundadır. \n Kart tipi Banka Kartı olanlarda dönem içi olarak sorgulama yapılan aya ait ilgili banka kartı ile yapılan kart hareketleri görüntülenecektir. (Banka kartı ile yapılan Para Ãekme/Yatırma, banka kartı ile yapılan POS'tan AlıÅveriÅ vb.). Banka kartında dönem deÄerinin \"-1\" gönderilmesi durumunda bir önceki aya ait kart hareketleri görüntülenecektir. \n Kart hareketleri yanıtında hareket bilgileri iÅlem tarihinine göre sıralı olarak iletilmelidir. İÅlem tarihi en güncel tarihten geriye dönük olacak Åekilde listelenmelidir. \n Kart hareketlerinde ekstre türleri dıÅında yapılan bir iÅlem varsa hangi ekstre türüne dahil edilerek gösteriliyorsa gönderilmelidir.\n \n Ãrn: 100 JPY'lik bir harcama iÅlemi TRY biriminde çevirilip 23 TRY olarak TRY ekstre türünde gösteriliyorsa ilgili iÅlem için iÅlem tutarı 23 TRY, orijinal iÅlem tutarı ise 100 JPY olarak deÄerlendirilmelidir. \n \n \n \n Tablo 24: Kart Hareket Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Dönem DeÄeri \n donemDegeri \n N3 \n Z \n Kart hareketlerinin sorgulanacaÄı döneme ait deÄerdir. Dönem içi : 0 GeçmiÅ Ay/Ekstre : -1 ile -12 arası Taksit : 1 ile 18 arası Provizyon : 99 Kart tipine göre alabileceÄi dönem deÄerleri ise ; Banka Kartı : 0 ve -1 Kredi Kartı : -12 ile 18 arası ve 99 (Sanal alt kart tipi hariç diÄer tüm alt kart tiplerinde bu deÄerler geçerlidir.) Alt kart tipi sanal kart tipinde ise alabileceÄi deÄerler 0 ve 99'dur. Ãn Ãdemeli Kart : 0 ve -1 \n İptal statüsünde olan kart tipleri için geçmiÅe dönük hareket sorgulaması yapılamayacaktır. ÃrneÄin; Kredi Kartı için -12 ile 18 arası olan dönem deÄeri iptal statüsünde olan kredi kartı için 0 ile 18 arasında yapılabilecektir. Tüm kart tipleri için belirtilen dönem deÄerinin uygun gönderilmediÄi durumda hata verilmelidir. \n \n \n Ekstre Turu \n ekstreTuru \n AN3 \n K \n Kart bilgileri yanıtında dönülen ekstre türleri deÄerlerini almaktadır. Para birimine uygun olarak kart detay bilgileri sorgulanmaktadır. Ekstre parametresi TRY,USD,EUR,GBP olarak gönderilebilir. Bu alan gönderilmiyorsa TRY deÄerlendirilmelidir. İlgili para birimine özel ekstre içindeki harcama deÄeri dönülecektir. \n Ekstre türleri haricinde uygun olmayan bir deÄer gönderildiÄinde hata verilmelidir. \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Borç Alacak Göstergesi \n brcAlc \n AN1 \n İ \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Karta borç yaratan iÅlem.A: Karta alacak yaratan iÅlem. N: Finansal olmayan iÅlem {âBâ,âAâ,âNâ} \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS kart hareketlerini sıralama kriteri iÅlem tarihi olacak Åekilde ilgili yöne uygun olarak sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 25: âKartHareketleriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n
16Kart Tiplerine İstinaden Detaylı Açıklama \n \n \n \n \n Kart Referans Numarası \n kartRef \n AN5..40 \n Z \n HHS tarafından her bir kart için atanan biricik deÄerdir (uuid). Bir kart tek bir kartRef'e karÅılık gelmelidir, benzer Åekilde bir kartRef tek bir karta karÅılık gelmelidir. Aynı kart için alınan tüm rızalarda kart referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n \n Dönem DeÄeri \n donemDegeri \n N3 \n Z \n Kart hareketlerinin sorgulanacaÄı döneme ait deÄerdir. \n \n \n \n Dönem BaÅlangıç Tarihi \n donemBaslangicTarihi \n ISODate \n Z \n Sorgulama yapılan ekstre dönemine göre ilgili döneme ait baÅlangıç tarih bilgisidir. Kart tipi kredi kartı olanlar için ilgili döneme ait baÅlangıç tarihi iletilmelidir. Kart tipi banka kartı ve ön ödemeli kart olanlar için sorgulama yapılan ayın baÅlangıç tarihi iletilmelidir. \n \n \n \n Dönem BitiÅ Tarihi \n donemBitisTarihi \n ISODate \n Z \n Sorgulama yapılan ekstre dönemine göre ilgili döneme ait bitiÅ tarih bilgisidir. Kart tipi kredi kartı olanlar için ilgili döneme ait bitiÅ tarihi iletilmelidir. Kart tipi banka kartı ve ön ödemeli kart olanlar için sorgulama yapılan ayın bitiÅ tarihi iletilmelidir. \n \n \n \n Ekstre Türü \n ekstreTuru \n AN3 \n Z \n Ekstre türü TRY,USD,EUR,GBP olarak gönderilebilir. İstek paremetresinde iletilen deÄer ile aynı deÄer olmalıdır. \n \n \n \n Ekstre Borcu \n ekstreBorcu \n Kompleks:EkstreBorcu \n K \n Sorgulama yapılan geçmiÅ döneme için ekstre türüne uygun olarak ekstre borcu iletilmelidir. MüÅterinin borcu olduÄu durumda (-) deÄer gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb(+) deÄer ile tutar bilgisi gönderilmelidir. \n Kart tipi kredi kartı olanlar için sadece geçmiÅ dönem deÄerine istinaden ilgili alan iletilmelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Borç tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Asgari Ãdeme Tutarı \n asgariOdemeTutari \n Kompleks:AsgariOdemeTutari \n K \n İlgili geçmiÅ dönem için ekstre türüne uygun olarak ekstreye ait asgari ödeme tutarı iletilmelidir. Ekstre Borcu (-) ise; asgari ödeme tutarı da (-) deÄer olarak gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb.) \"0\" (sıfır) deÄeri gönderilmelidir. \n Kart tipi kredi kartı olanlar için sadece geçmiÅ dönem deÄerine istinaden ilgili alan iletilmelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Ãdeme tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Dönem Taksit Tutarı \n donemTaksitTutari \n Kompleks:DonemTaksitTutari \n K \n İstek parametresinde iletilen ilgili dönem deÄeri içerisindeki toplam taksit tutar bilgisi iletilmelidir. MüÅterinin Dönem Taksit Tutar borcu olduÄu durumda (-) deÄer gönderilmelidir. Dönem Taksit Tutar iadesi veya benzeri nedenlerle oluÅan müÅterinin alacaklı olduÄu durumda tutar (+) deÄer gönderilmelidir. \n Kart tipi kredi kartı olanlar için taksit bilgisi varsa ilgili alan iletilmelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Dönem taksit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Hesap Kesim Tarihi \n hesapKesimTarihi \n ISODate \n K \n Karta ait sorgulanan döneme ait hesap kesim tarihi iletilmelidir. Tarih formatında iletilmelidir. Ãrn : 2024-11-23 \n Kart tipi kredi kartı olanlar için sadece geçmiÅ dönem deÄerine istinaden ilgili alan iletilmelidir. \n \n \n Son Ãdeme Tarihi \n sonOdemeTarihi \n ISODate \n K \n Karta ait sorgulanan dönem için son ödeme tarih bilgisi dönülmelidir. Ãrn : 2024-12-02 \n Kart tipi kredi kartı olanlar için sadece geçmiÅ dönem deÄerine istinaden ilgili alan iletilmelidir. \n \n \n Hareket Bilgileri \n hareketBilgileri \n Kompleks Alan: HareketBilgileri[array] \n K \n Dizi halinde liste olacaktır. \n \n \n \n > İÅlem Numarası \n islemNo \n AN3..50 \n Z \n Kart hareketinin oluÅturulması sırasında atanan ve borç (veya alacak) hareketini tekilleÅtiren HHS bazında tekil tanımlayıcıdır. Bu deÄer tek baÅına tekil olabileceÄi gibi b
16irden fazla deÄerin bir araya getirilmesiyle de tekilliÄi saÄlanmıŠolabilir. Bu deÄerin en azından kart referans numarası bazında tekil olması beklenir. Genellikle kullanılan örnekleri; Instance_Id, Transaction_Id, Transaction_Num, Transaction_TimeStamp \n \n \n \n > İÅlem Tutarı \n islemTutari \n Kompleks:IslemTutari \n Z \n Yapılan iÅleme ait tutar bilgisi. Taksitli bir iÅlem ise ilgili dönemdeki taksit tutarı iletilecektir. ÃHK, HHS'de ilgili dönem sorguladıÄında hangi tutarı görüntülüyorsa ilgili tutar dönülecektir. İÅleme ait sadece puan bilgisiyle kazanım, kullanım, iade veya iptal varsa ve tutar bilgisi yoksa ilgili tutar deÄeri sıfır gönderilmelidir. Puana dair deÄerler ise PuanBilgileri alanı içerisinde gönderilmelidir. \n \n \n \n >> Tutar \n tutar \n AN1..24 \n Z \n İÅlem tutarı için regex patterni Åu Åekildedir: ' ^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n >> Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi. Ekstre türü ile aynı olması gerekmektedir. \n \n \n \n > Orijinal İÅlem Tutarı \n orijinalIslemTutari \n Kompleks:OrijinalIslemTutari \n K \n Ekstre türü dıÅında yapılan iÅleme ait tutar bilgisi. ÃrneÄin; ekstre türü TRY gönderildiÄi durumda iÅlem 100 JPY ise iÅlem tutarı alanında 100 deÄeri iletilmelidir. \n \n \n \n >> Tutar \n tutar \n AN1..24 \n Z \n İÅlem tutarı için regex patterni Åu Åekildedir: ' ^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n >> Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi. ÃrneÄin; 100 JPY ise iÅlem tutar para birimi alanında JPY deÄeri iletilmelidir. \n \n \n \n > İÅlem Tarihi \n islemTarihi \n ISODateTime \n Z \n İÅlemin gerçekleÅtiÄi zaman bilgisi. Taksitli iÅlemlerde içinde bulunulan dönem özelinde ilgili taksitin yansıyacaÄı tarih deÄeri dönülmelidir. \n \n \n \n > Borç Alacak Göstergesi \n borcAlacak \n AN1 \n Z \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Karta borç yaratan iÅlem.A: Karta alacak yaratan iÅlem. N: Finansal olmayan iÅlem {âBâ,âAâ,âNâ} \n \n \n \n > İÅlem Açıklaması \n islemAciklamasi \n AN1..200 \n Z \n AlıÅveriÅ iÅlemi olması durumunda sadece iÅyeri adını içeren açıklama, diÄer iÅlemler için mevcut iÅlem açıklaması iletilir. HHS'ler tüm kart hareketlerini YÃS'ler ile paylaÅmakla yükümlü olup, hassas veri içeren(örn: faiz, komisyon bilgisi içeren vb.) iÅlem hareketleri de bu kapsamda deÄerlendirilerek iÅlem açıklamasının maskeli olarak iletilmesi saÄlanır. Kelimelerin ilk 3 hanesi maskeli olacak Åekilde, ancak sakıncalı bulunan kelimeler varsa; (örn: faiz, komiyon vb.) kelimelerin tamamı maskeli olacak Åekilde gösterilebilir. \n \n \n \n > İÅlem Puan Bilgileri \n islemPuanBilgileri \n Kompleks: IslemPuanBilgileri[Array] \n K \n İlgili iÅlem sonrası kazanılan veya kullanılan bir puan deÄeri varsa iletilmesi gerekmektedir. İlgili puan bilgi veya bilgileri dizi içerisinde iletilmelidir. \n İlgili alanda koÅula uygun olarak deÄer dönülecekse; kart tipi kredi, banka ve ön ödemeli kartı olanlar için dönülmesi zorunludur. \n \n \n >> İÅlem Puanı \n islemPuani \n AN1..24 \n K \n İÅleme dair kazanılan veya kullanılan puan deÄeri iletilmelidir. Ãrn: 100 Plus kazanılmıŠbir iÅlem için 100 deÄeri iletilmelidir. \n \n \n \n >> İÅlem Puan Birimi \n islemPuanBirimi \n AN1..50 \n K \n İÅleme dair kazanılan veya kullanılan puan birimi iletilmelidir. Ãrn: 100 Plus kazanılmıŠbir iÅlem için Plus deÄeri iletilmelidir. \n \n \n \n >> İÅlem Puan Durumu \n islemPuanDurumu \n AN2 \n K \n İlgili iÅlem sonucunda puan bilgisinin bir kazanım, kullanım, iade ve iptal durumlarına yönelik deÄer iletilmelidir. TR.OHVPS.DataCode.IslemPuanDurumu deÄerlerinden birini alır. 01: Puan Kazanımı 02: Puan Kullanımı 03: Puan İade 04: Puan İptal \n \n \n \n > Toplam Taksit Tutarı \n toplamTaksitTutari \n Kompleks:ToplamTaksitTutari \n K \n İlgili iÅlem taksitli bir iÅlem ise o iÅleme ait toplam taksit tutarı iletilmelidir. İlgili iÅlem tek çekim bir iÅlem ise o iÅlemde ilgili alan iletilmemelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n >> Tutar \n tutar \n AN1..25 \n Z \n Taksit Tutar Bilgisi. Taksit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n >> Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n > Toplam Taksit Sayısı \n toplamTaksitSayisi \n N2 \n K \n İlgili iÅlem taksitli bir iÅlem ise o iÅleme ait toplam taksit sayısı iletilmelidir. İlgili iÅlem tek çekim bir iÅlem ise o iÅlemde ilgili alan iletilmemelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > İlgili Taksit Dönemi \n taksitDonemi \n N2 \n K \n Taksitli iÅlem olması durumunda iÅleme ait ilg
16ili taksit dönem bilgisi. ÃrneÄin: 3 taksitli bir iÅlemde 2. taksit yansımıÅsa 2 olarak gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Satıcı Kategori Kodu \n saticiKategoriKodu \n AN4 \n K \n Satıcı Kategori Kodu(MCC) varsa iletilmesi zorunludur. AlıÅveriÅ iÅlemlerinde gönderimi zorunludur. \n İlgili alanda koÅula uygun olarak deÄer dönülecekse; kart tipi kredi ve banka kartı olanlar için dönülmesi zorunludur. \n \n \n \n"},{title:"2.Kapsam ve Dayanak",frontmatter:{},regularPath:"/v2.0.0/contents/kapsam-ve-dayanak.html",relativePath:"v2.0.0/contents/kapsam-ve-dayanak.md",key:"v-143b3106",path:"/v2.0.0/contents/kapsam-ve-dayanak.html",content:" 2.Kapsam ve Dayanak \n 12 Kasım 2019âda güncellenen â 6493 sayılı Ãdeme ve Menkul Kıymet Mutabakat Sistemleri, Ãdeme Hizmetleri ve Elektronik Para KuruluÅları Hakkında Kanun âun (Kanun) 12ânci maddesine yeni eklenen ve Ãdeme Hizmetleri Direktifi 2 'de (Payment Services Directive 2, PSD2) bulunan iki yeni ödeme hizmeti aÅaÄıdaki gibi tanımlanmıÅtır (Åekil-1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri): \n \n Ãdeme Emri BaÅlatma Hizmeti : ÃHKânın isteÄi üzerine baÅka bir ödeme hizmeti saÄlayıcısında bulunan ödeme hesabıyla ilgili sunulan ödeme emri baÅlatma hizmeti [Madde 12, birinci fıkra, (f) bendi] \n Hesap Bilgisi Hizmeti : ÃHKânın onayının alınması koÅuluyla, ÃHKânın ödeme hizmeti saÄlayıcıları nezdinde bulunan bir veya daha fazla ödeme hesabına iliÅkin konsolide edilmiÅ bilgilerin çevrim içi platformlarda sunulması hizmeti [Madde 12, birinci fıkra, (g) bendi] \n \n \n Åekil 1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS)- tanıtım \n Kanunun 14/A maddesinin ikinci fıkrasına göre , Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetleri ile ilgili iÅlemlerin yürütülmesine iliÅkin usul ve esaslar ile taraflarca uyulması gereken teknik ve operasyonel gereklilikler ikincil düzenlemeler uyarınca Türkiye Cumhuriyet Merkez Bankası (TCMB) tarafından belirlenir. Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri ödeme hizmetleri veri paylaÅım servisleri (ÃHVPS) olarak adlandırılmaktadır. \n Ãdeme Hizmetleri ve Elektronik Para İhracı ile Ãdeme Hizmeti SaÄlayıcıları Hakkında Yönetmelikâin (Yönetmelik) 59âuncu maddesinin birinci fıkrası uyarınca hazırlanan bu belgede söz konusu ödeme hizmetlerini sunacak ödeme hizmeti saÄlayıcısının, ödeme hesabının bulunduÄu ödeme hizmeti saÄlayıcısının, varsa ilgili diÄer tarafların ve bu hizmetlerin sunulması için taraflar arasında kurulacak baÄlantının teknik ve operasyonel gereklilikleri açıklanmaktadır. \n Düzenlemeler kapsamında yetkilendirilen üçüncü taraf hizmet saÄlayıcısı (Yetkili Ãdeme Hizmeti SaÄlayıcısı, YÃS) , ödeme hizmeti kullanıcılarının Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki ödeme hesaplarına ulaÅarak ödeme emri baÅlatma ve hesap bilgisi saÄlama hizmetlerinden (ödeme hizmetleri veri paylaÅım servislerinden) faydalanmasına aracılık eder. Ãdeme hizmetleri veri paylaÅım servisleri kapsamında iki tip YÃS bulunmaktadır: 1) Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ve 2) Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS). \n Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ÃHKânın farklı Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki hesaplarının bilgilerini derleyerek çevrim içi platformlarda toplu Åekilde sunar. Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS) ise talebi üzerine ÃHKânın HHSâde bulunan ödeme hesabından ödeme iÅlemi baÅlatır. \n ÃHVPSânin üst düzey gösterimi Åekil-2âde verilmiÅtir. \n \n Åekil 2: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS) -üst düzey gösterim \n Ãdeme Hizmetleri Veri PaylaÅım Servislerinin HHSâler tarafından GEÃİT vasıtasıyla sunulduÄu uygulama mimarisi ise Åekil-3âte sunulmuÅtur. \n \n Åekil 3: ÃHVPS'nin GEÃİT vasıtasıyla sunumu \n"},{title:"7.\tİleri Tarihli Ãdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v2.0.0/contents/ileri-tarihli-odeme-emri-hizmeti.html",relativePath:"v2.0.0/contents/ileri-tarihli-odeme-emri-hizmeti.md",key:"v-c07c3efa",path:"/v2.0.0/contents/ileri-tarihli-odeme-emri-hizmeti.html",headers:[{level:2,title:"İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"ileri-tarihli-odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"7.1.\tADIM 0 - İleri Tarihli Ãdeme Emri Rızası BaÅlatma IsteÄi",slug:"_7-1-adim-0-ileri-tarihli-odeme-emri-rızası-baslatma-istegi"},{level:2,title:"7.2.\tADIM 1 - İleri Tarihli Ãdeme Emri Rızasının Hazırlanması",slug:"_7-2-adim-1-ileri-tarihli-odeme-emri-rızasının-hazırlanması"},{level:2,title:"7.3.\tADIM 2- İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_7-3-adim-2-ileri-tarihli-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"7.4.\tADIM 2.1 â İleri Tarihli Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_7-4-adim-2-1-ileri-tarihli-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"7.5.\tADIM 3- İleri Tarihli Ãdeme Emrinin OluÅturulması",slug:"_7-5-adim-3-ileri-tarihli-odeme-emrinin-olusturulması"},{level:2,title:"7.6.\tADIM 3.1- İleri Tarihli Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_7-6-adim-3-1-ileri-tarihli-odeme-emri-sorgusu-istege-baglı"},{level:2,title:"7.7.\tADIM 4- İleri Tarihli Ãdeme Emri Rıza İptali",slug:"_7-7-adim-4-ileri-tarihli-odeme-emri-rıza-iptali"}],content:" 7.\tİleri Tarihli Ãdeme Emri BaÅlatma Hizmeti \n Ãdeme hizmeti kullanıcısının ileri bir tarihte gerçekleÅmesini istediÄi ödeme emirlerinde bu hizmeti kullanabilir. Ãdemenin Havale / PÃS / FAST ödeme sistemlerinden hangisi ile gerçekleÅeceÄine, ödeme günü geldiÄinde HHS karar verir. \n İleri tarihli ödeme hizmetini online bankacılık sistemlerinde sunan HHS'lerin, ÃHVPS üzerinden bu hizmetleri sunması zorunludur. Mevcutta online kanallarından bu hizmeti sundukları müÅteri segmentine (bireysel,kurumsal vb.), ÃHVPS üzerinden hizmet sunmaya devam etmeleri gerekmektedir. YÃS, bireysel müÅteri özelinde ileri tarihli ödeme hizmeti vermeyen HHS'ye ileri tarihli bir ödeme emri rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.IndividualCustomerNotSupported\" hatası , kurumsal müÅteri özelinde ileri tarihli ödeme emri rızası isteÄi yapıldıÄında HHS tarafından TR.OHVPS.Business.CorporateCustomerNotSupported hatası verilmelidir. \n HHS'ler ileri tarihli ödeme emri hizmetini sunuÅ bilgilerini HHS API aracılıÄı ile yayınlayacaklardır. YÃS, ileri tarihli ödeme hizmeti baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\":\"02\" parametresi ile alabilir. YÃS, ileri tarihli ödeme hizmeti sunmayan HHS'ye ileri tarihli bir ödeme emri rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.ScheduledPaymentNotSupported hatası
16iletilmelidir. \n İleri tarihli ödeme emri hizmetinde TRY dıÅındaki yabancı para birimleri için HHS tarafından destek verilmemesi durumunda TR.OHVPS.Business.InvalidCurrencyCode hataası verilmelidir. \n İleri tarihli ödeme emri güncelleme hizmeti YÃS üzerinden yapılamayacaktır. ÃHK aktif olan düzenli ödeme talimat rızasını iptal ederek, yeniden oluÅturabilecektir. \n HHS üzerinden ilgili güncelleme hizmeti saÄlanabilir. İleri tarihli talimat içerisinde yapılan güncelleme sonucunda olay bildirim ile YÃS'e bildirim saÄlanacaktır. HHS üzerinden güncelleme yapılırken talimat tarihine dair ileri bir tarihe güncelleme adımı olmamalıdır. Sadece ilk oluÅturulan talimat tarihinden öncesi olacak Åekilde güncelleme yapılmasına izin verilmelidir. \n İleri Tarili Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n İleri Tarihli Ãdeme Emri Rıza BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden ileri tarihli ödeme emrini baÅlatır. \n İleri Tarihli Ãdeme Emri Rıza Hazırlanması: ÃBHS, âİleri Tarihli Ãdeme Emri BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve ileri tarihli ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n İleri Tarihli Ãdeme Emrinin BaÅlatılması: ÃBHS, âileri tarihli ödeme emriâni HHSâye iletir. \n İleri Tarihli Ãdeme Emri Rıza Durumu, İleri Tarihli Ãdeme Emri Durumu, İleri Tarihli Ãdeme Emri Detayı Sorguları: ÃBHS, İleri Tarihli Ãdeme Emri Rıza Durumu, İleri Tarihli Ãdeme Emri Durumu, İleri Tarihli Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin hem HBH hem de ÃBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini(önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n YÃS'ler gönderen hesap seçimini aÅaÄıdaki yöntemlerden biri ya da birkaçı ile saÄlayabilirler: \n \n YÃS, müÅterisinin ödeme hesabını HHS ekranından seçtirebilir. \n YÃS, müÅterisinden Hesap Bilgisi rızası alır. Rıza aldıÄı hesaplar üzerinden hesap referansı aracılıÄı ile ileri tarihli ödeme emri baÅlatabilir. \n YÃS, müÅterisinin ödeme hesabını elle girmesine olanak tanıyabilir. IBAN'ı olmayan HHS'ler ileri tarihli ödeme emri rızası adımında TR.OHVPS.Business.IBANNotSupported hatasını vermelidir. IBAN'ı olan HHS'lerin bu akıÅı desteklemesi zorunludur. \n YÃS; müÅterisinin hesap referansını elle girmesini saÄlayabilir. Hesap Referansı bilgisi ile baÅlatılan ileri tarihli ödeme emri iÅlemlerinde HHS seçimi zorunludur. \n \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN sunmadıkları için, YÃS'ler hesap referansı ile ödeme baÅlatabilirler. Bunların dıÅındaki HHS'lerin, gönderen IBAN veya hesap referansı ile ödeme akıÅını desteklemesi zorunludur. \n İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. Ãdeme Emri Hizmeti ile aynı etki alanı(scope) kullanılmaktadır. \n Tablo : İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n ileri-tarihli-odeme-emri-rizasi \n POST \n /ileri-tarihli-odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n IleriTarihliOdemeEmriRizasiIstegi \n Iler
16iTarihliOdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 3 \n ileri-tarihli-odeme-emri-rizasi \n GET \n /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n IleriTarihliOdemeEmriRizaYaniti \n \n \n 4 \n ileri-tarihli-odeme-emri \n POST \n /ileri-tarihli-odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı İstek ve Yanıt \n IleriTarihliOdemeEmriIstegi \n IleriTarihliOdemeEmri \n \n \n 5 \n ileri-tarihli-odeme-emri \n GET \n /ileri-tarihli-odeme-emri/{odmEmriNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n IleriTarihliOdemeEmri \n \n \n 6 \n ileri-tarihli-odeme-emri-rizasi-iptal \n DELETE \n /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n - \n - \n - \n 7.1.\tADIM 0 - İleri Tarihli Ãdeme Emri Rızası BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) ileri tarihli ödeme emri rızası sürecini baÅlatır. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 7.2.\tADIM 1 - İleri Tarihli Ãdeme Emri Rızasının Hazırlanması \n \n Åekil : İleri Tarihli Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak ileri tarihli ödeme emri rıza kaynaÄının oluÅturulmasını (ileriTarihliOdemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ olduÄu geçit tarafından kontrol edilir. \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahipliÄi geçit tarafından kontrol edilir. \n HHS tarafından, istek baÅlıÄındaki x-aspsp-code ile katilimciBlg içerisinde yer alan hhsKod deÄeri ile aynı olduÄunu kontrol edilir. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n \n \n \n POST baÅarılı olursa, HHS, ileri tarihli ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren ileriTarihliOdemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /ileri-tarihli-odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir IleriTarihliOdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, ileri tarihli ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS'ler ileri tarihli ödeme emri hizmetini sunuÅ bilgilerini HHS API aracılıÄı ile yayınlayacaklardır. YÃS, ileri tarihli ödeme hizmeti baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\":\"02\" parametresi ile alabilir. YÃS, ileri tarihli ödeme hizmeti sunmayan HHS'ye ileri tarihli bir ödeme emri rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.ScheduledPaymentNotSupported hatası
16iletilmelidir. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hata kodu iletilmeli ve fieldErrors dolu olacak Åekilde hatalı alanı belirten detaylı açıklama gönderilmelidir. InvalidFormat hata kodlarında fieldErrors içeriÄi gönderilmeli ve anlaÅılır açıklama ile message, messageTr alanları doldurulması zorunludur. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n HHS, bireysel müÅteri özelinde ileri tarihli ödeme hizmetini kendi kanallarında sunmuyor ise HHS'ye ileri tarihli bir ödeme emri rızası isteÄi yapması durumunda HHS tarafından \"TR.OHVPS.Business.IndividualCustomerNotSupported\" hatası ,\nkurumsal müÅteri özelinde ileri tarihli ödeme emri rızası isteÄi yapıldıÄında HHS tarafından \"TR.OHVPS.Business.CorporateCustomerNotSupported\" hatası dönülür. \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme adresleri ile ileri tarihli ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.TPPRedirectionAddressMismatch\" hatası dönülür. \n HHS; kimlik bilgileri nesnesinde yer alan kimlik bilgisi ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerNotFound\" hatası dönülür. \n İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti rıza isteÄinde bulunan ÃHKânın âAçık Bankacılık Kanal Yetkiâ tanımı yok ise \"TR.OHVPS.Business.OpenBankingChannelClosed\" hatası dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n İleri tarihli ödeme emri rızasında alıcı hesap bilgileri Karekod ya da Kolas ile belirlenebilir. HHS online kanallarında ileri tarihli ödeme hizmetini Karekod ve Kolas aracılıÄı ile kabul ediyorsa, ÃHVPS servisleri ile de kabul etmek zorundadır. YÃS tarafından ileri tarihli ödeme emri rızası isteÄi içerisinde alıcı bilgisi için karekod ya da kolas kompleks alanları yer alması durumunda , destek vermeyen HHS'ler tarafından TR.OHVPS.Business.RecipientAccountTypeNotSupported hatası dönülür. \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n Ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapılması durumunda HHS tarafından \"TR.OHVPS.Business.DecoupledAuthenticationNotSupported\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından \"TR.OHVPS.Business.EventSubscriptionNotFound\" hatası dönülür. \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin, ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından \"TR.OHVPS.Business.CustomerInfoMismatch\" hatası dönülür. \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS tarafından \"TR.OHVPS.Business.CustomerMobileApplicationNotFound\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n HHS kimlik bilgisi ile gönderen ünvanının uyumlu olduÄunu kontrol eder. HHS'ler EFT/FAST iÅlemlerinde kabul ettikleri kontrol kriterleri ile iÅleme izin verebilirler. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.IncorrectSenderTitle\" hatası dönülür. \n Gönderen Hesap Numarası ÃBHS tarafından iletildiÄi durumda;\n \n IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.InvalidAccount\" hatası dönülür. \n IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountCodeMismatch\" hatası dönülür. \n Hesap numarasının ÃHKâya ait olduÄu kontrol edilir.Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerAccountMismatch\" hatası dönülür. \n HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. (İlgili hesabın para transfer iÅlemine yetkisi olmaması) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountUnauthorized\" hatası dönülür. \n HHSâde gönderen hesabın aktifliÄi kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountInactive\" hatası dönülür. \n \n \n Gönderen Hesap Numarası için, He
16sap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ileri tarihli ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise \"TR.OHVPS.Business.ActiveConsentNotFound\" hatası dönülür. \n Talimat tarihi, talimat verilen günün tarihinden minimum 1 gün sonrası, maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. Belirtilen tarih aralıÄı dıÅında ÃBHS tarafından talimat tarihi iletilmesi durumunda HHS tarafından \"TR.OHVPS.Business.InvalidOrderDateRange\" hatası dönülür. \n Talimati tarih bilgisi için ödeme gününün iÅ gününe gelmediÄi ve HHS'nin FAST/Havale ile anlık ödeme baÅlatamadıÄı durumda, HHS tarafıdan \"TR.OHVPS.Business.OrderDateNotWorkDay\" hata mesajı ile iÅlemi kesmelidir. YÃS, ÃHK'ya tarih bilgisini güncelletebilir ya da kendisi otomatik atama yapabilir. Sonrasında tekrar rıza talebinde bulunmalıdır. \n Alıcı ve gönderen hesabın aynı olması durumunda âTR.OHVPS.Business.SenderRecipientSameâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n MüÅterinin kendi hesapları arasında talimat veremeyeceÄi durumların kontrolü için âTR.OHVPS.Business.SameAccountTransferRestrictedâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, ödeme için benzersiz âRizaNoâ ile âIleriTarihliOdemeEmriRizasiâ nesnesi oluÅturur ve ÃBHSâye döner. \n HHS, IleriTarihliOdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n Hesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK ileri tarihli ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n BAÅARILI İSTEK: \n Tablo : âIleriTarihliOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ileri tarihli ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n HHS geçerli bir para birimi olduÄu kontrol eder. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda ileri tarihli ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ileri tarihli ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, HspRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının ünvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n Talimatın gerçekleÅeceÄi ana kadar KOLAS tanımınında deÄiÅiklik olabileceÄi için, KOLAS ile yapılan ileri tarihli iÅlemler, talimatın verildiÄi anda çözülen IBAN'a yapılacaktır. \n Kolas ile ileri tarihli ödeme emri hizmeti desteklenmiyorsa; HHS tarafından hata dönülmelidir. \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n Karekod ile yapılan ileri tarihli iÅlemler, talimatın verildiÄi anda çözülen IBAN'a yapılacaktır. \n Karekod ile ileri tarihli ödeme emri hizmeti desteklenmiyorsa; HHS tarafından hata dönülmelidir. \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n HHS, YÃS'ün API deseninde \"O\" kodunu ilettiÄini kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarında: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tİÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n YÃS bu deÄeri ÃHKâyı HHSâye yönlendirmeden önceki ekranda göstermeli, ve HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak yine ÃHKâya göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n \n >> Talimat Tarihi \n tlmtTrh \n ISODate \n Z \n ÃHK tarafından talep edilen, ödeme gerçekleÅme zamanıdır. \n Talimat verilen günün tarihinden minimum 1 gün sonrası,maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âIleriTarihliOdemeEmriRizasiâ nesnesi Tabloâda parametrelerden oluÅur: \n Tablo : âIleriTarihliOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n >
16 Rıza No \n rizaNo \n AN1..128 \n Z \n IleriTarihliOdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n IleriTarihliOdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n IleriTarihliOdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen ünvanını göndermesi zorunludur. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Talimat Tarihi \n tlmtTrh \n ISODate \n Z \n ÃHK tarafından talep edilen, ödeme gerçekleÅme zamanıdır. Talimat verilen günün tarihinden minimum 1 gün sonrası,maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. Belirtilen tarih aralıÄı dıÅında ÃBHS tarafından talimat tarihi iletilmesi durumunda HHS tarafından TR.OHVPS.Business.InvalidOrderDateRange hatası verilmelidir. \n 7.3.\tADIM 2- İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil : İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın ileri tarihli ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, ileri tarihli ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=I&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, ileri tarihli ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=I&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak
16iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=I&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın ileri tarihli ödeme emri rızasını baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK, bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, ileri tarihli ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, ileri tarihli ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 7.4.\tADIM 2.1 â İleri Tarihli Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âIleriTarihliOdemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp İleri Tarihli Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda ileri tarihli ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, IleriTarihliOdemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır. HHS, â ADIM 2 -Ileri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin IleriTarihliOdemeEmriRizasi nesnesine iÅler. \n \n Sorgulama yapılan İleri Tarihli Ãdeme Emri HHS tarafında bulunmuyor ise \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n \n GET /ileri-tarihli-odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir IleriTarihliOdemeEmriRizasi kaynaÄının durumunu isteÄe baÄlı olarak alabilir. \n Durum \n IleriTarihliOdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine/Talimata DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n İleri Tarihli Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /ileri-tarihli-odeme-emri-rizasi/{rizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âIleriTarihliOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âIleriTarihliOdemeEmriRizasiâ nesnesi oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âIleriTarihliOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /ileri-tarihli-odeme-emri-rizasi/{rizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âIleriTarihliOdemeEmriRizasiâ nesnesini çekmelidir. \n 7.5.\tADIM 3- İleri Tarihli Ãdeme Emrinin OluÅturulması \n \n Åekil 8: İleri Tarihli Ãdeme Emrinin OluÅturulması \n POST /ileri-tarihli-odeme-emri \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS OdemeEmri kaynaÄını oluÅturur. \n İleri Tarihli Ãdeme emri (IleriTarihliOdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır. \n \n EriÅim Belirteci kontrolü yapılır. Geçerli bir EriÅim Belirteci yok ise \"TR.OHVPS.Connection.InvalidToken\" hatası dönülür. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini y
16apar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor, Y: Yetkilendirildi ya da E: Yetki Ãdeme Emrine DönüÅtü ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n POST /ileri-tarihli-odeme-emri-rizasi ile POST /ileri-tarihli-odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır. İleri Tarihli Ãdeme Emri rızasında gönderilen deÄerlerden farklı bir deÄer gönderildiÄi durumda âTR.OHVPS.Business.FieldMismatchâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra, içerisinde odmEmriNo ve odmDrm deÄiÅkenleri de bulunan IleriTarihliOdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine/Talimata DönüÅtüâ olarak güncellenir. \n \n POST verisindeki Gönderen Hesap Numarası ve Alıcı Hesap Numarasının aynı bankaya aitse HAVALE deÄilse FAST veya PÃS iÅ akıÅına geçilir. \n \n BAÅARILI İSTEK: \n Tablo 9: âIleriTarihliOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ileri tarihli ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n >Yönlendirme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n >Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. yetYntm = Y için bu nesne iletilmemelidir. \n \n \n \n >>OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >>OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n \n \n >Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde,
161. HHS, Gönderen Adı ve Gönderen Hesap Numarasını ileri tarihli ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki İÅlem Tutarı verisi ile aynı olmalıdır. HHS iÅlem tutarı ödeme mesajında (Havale/FAST/PÃS) aynen taÅınmak durumundadır. \n Ttr \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n İleri Tarihli Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda ileri tarihli ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi ileri tarihli ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n KolasRef ( hem FAST hem de PÃS için aynı) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. \n RefBlg (Hem FAST hem de PÃS için aynı) \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n FAST/PÃS Acklm \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n \n \n >> Talimat Tarihi \n tlmtTrh \n ISODate \n Z \n ÃHK tarafından talep edilen, ödeme gerçekleÅme zamanıdır. Talimat verilen günün tarihinden minimum 1 gün sonrası,maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. \n \n \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âIleriTarihliOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âIleriTarihliOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanıdır. \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n Z \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Emir Bilgileri \n emrBlg \n Kompleks: EmirBilgileri \n Z \n \n \n \n >
16 Ãdeme Emri Numarası \n odmEmriNo \n AN1..128 \n Z \n IleriTarihliOdemeEmri nesnesinin UID'sidir. IleriTarihliOdemeEmri İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Ãdeme Emri Zaman \n odmEmriZmn \n ISODateTime \n Z \n IleriTarihliOdemeEmri nesnesinin oluÅturulduÄu zaman bilgisi. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > GerçekleÅen İÅlem Tutarı \n grckIslTtr \n Kompleks:GerceklesenTutar \n K \n odmDrm:01 ,02 ve 06 olduÄu durumda gönderilmesi zorunludur. Ãdeme durumu 01 ve 02 durumlarında gerçekleÅtirilen tutarın tamamı bu alanda iletilmelidir. Ãdeme durumu: 06 olan kısmi ödeme iÅlemlerinde ise gerçekleÅen tutar bilgisi iletilmelidir. \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n Talimat gerçekleÅtiÄinde ödeme yapılan tutar bilgisi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>>
16 Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Durumu \n odmDrm \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. Ãdeme Durumu alanı ile ilgili olarak HHSâler tarafından YÃSâlere IleriTarihliOdemeEmri servisi yanıtında 04:Onayda Bekliyor, 05:Ãdeme Bekleniyor yanıtları gönderilebilir. 04:Onayda Bekliyor ve 05:Ãdeme Bekleniyor durumları oluÅtuktan sonra YÃS tarafından ileri tarihli ödeme emri sorgulaması yapılarak ödeme durumunun güncel deÄeri öÄrenilir. Güncel deÄerler 01:GerçekleÅti,03:GerçekleÅmedi , 06:Kısmen GerçekleÅti ve 07:İptal Edildi durumları olabilir. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n K \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. odmDrm:01, 02 ve 06 olduÄu durumda gönderilmesi zorunludur. \n \n \n >> Ãdeme Sistem Numarası \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. Havale/FAST/PÃS ödeme yöntemleri için tarih alanı yyyy-aa-gg formatında 10 karakter olarak
16iletilmelidir. odmDrm:01, 02 ve 06 olduÄu durumda gönderilmesi zorunludur. \n \n \n >> Talimat Tarihi \n tlmtTrh \n ISODate \n Z \n ÃHK tarafından talep edilen, ödeme gerçekleÅme zamanıdır. Talimat verilen günün tarihinden minimum 1 gün sonrası,maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. \n \n \n >> GerçekleÅen Ãdeme Zamanı \n grckOdmZmn \n ISODateTime \n K \n GerçekleÅen ödeme iÅlemine ait zaman bilgisi. odmDrm:01, 02 ve 06 olduÄu durumda gönderilmesi zorunludur. \n 7.6.\tADIM 3.1- İleri Tarihli Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: İleri Tarihli Ãdeme Emri Sorgusu \n GET /ileri-tarihli-odeme-emri/{odmEmriNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ileri tarihli ödeme emrini sorgulayabilir. Maksimum ödemenin gerçekleÅeceÄi günün 15 gün sonrasına kadar sorgulama yapılabilir. Sonrasında yapılacak sorgulamalarda eriÅim belirtecinin yetki süresi sonlandıÄı için HHS \"TR.OHVPS.Resource.ConsentRevoked\"  hatasını dönmelidir.\nİptal edilmiÅ talimatın bilgileri sorgulanmak istendiÄinde de yine \"TR.OHVPS.Resource.ConsentRevoked\"  hatası verilmelidir. \n YÃS sadece kendi uygulaması üzerinden verilmiÅ ileri tarihli ödemeleri sorgulayabilir. EriÅim izni olmayan bir ödeme emri numarası ile sorgulama yaptıÄında HHS'den \"TR.OHVPS.Resource.NotFound\" hatasını alır. \n Kısmi ödemelerde, kısmen gerçekleÅen ödeme tutarı, \"gerçekleÅen iÅlem tutarı\"(grckIslTtr) alanında gönderilirken, gönderilmesi talep edilen tutar alanı(rıza baÅlatma isteÄinde ki tutar) da \"iÅlem tutarı\"(islTtr) alanında gönderilmeye devam edilmelidir. \n GerçekleÅen iÅlem tutarı ve para birimi, ödeme gerçekleÅme zamanı alanları, ödeme gününden itibaren dolu olarak gelir. \n BAÅARILI YANIT: \n GET /ileri-tarihli-odeme-emri/{odmEmriNo} yanıtının (RESPONSE) gövdesinde (BODY) âIleriTarihliOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âIleriTarihliOdemeEmriâ nesnesi döner. \n 7.7.\tADIM 4- İleri Tarihli Ãdeme Emri Rıza İptali \n \n Åekil 10: İleri Tarihli Ãdeme Emri Rızası İptali \n DELETE /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ileri tarihli ödeme emri rızasını iptal edebilir. \n DELETE /ileri-tarihli-odeme-emri-rizasi çaÄrısı, bir ÃBHS'nin önceden oluÅturulmuÅ bir ileri tarihli ödeme emri rızasını silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, ÃBHS üzerinden bu rızasını kaldırmak isteyebilir. \n \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rıza, silinen rizaNo bilgisi ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İptal edilmek istenen İleri Tarihli Ãdeme Emri Rızası HHS tarafında bulunmuyor ise âTR.OHVPS.ResourceNotFoundâ hatası dönülür. \n Rıza durumu Yetki Sonlandırıldı - S veya Yetki İptal - I ise \"TR.OHVPS.Resource.ConsentRevoked\" hatası dönülür. \n İptal edilmek istenen İleri Tarihli Ãdeme Emri Rızasıânın ödeme durumu 04 ya da 05 deÄil ise âTR.OHVPS.Business.TransactionCompletedâ hatası dönülür. \n \n Yukarıda kontroller baÅarıyla tamamlandıktan sonra sırasıyla aÅaÄıdaki iÅlemler yapılır. \n \n odmDrm deÄeri 04 ve 05 olan kayıtlar 07 durum kodu ile güncellenmelidir. \n İliÅkili ileri tarihli ödeme emri talimatı iptal edilmelidir. \n Rıza iptal edilmelidir. \n \n Bu API çaÄrısı, müÅterinin ÃBHS üzerinden ileri tarihli ödeme emri rızasını iptal etmesine ve HHS nezdindeki ileri tarihli ödeme emri rızası nesnesinin silinmesini saÄlar.\nMüÅterinin ÃBHSânin veri eriÅim iznini iptal etmesi durumunda ÃBHS, HHSâde mevcut olan IleriTarihliOdemeEmriRizasi'na dair rıza ve talimat bilgilerini pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa\nDELETE /ileri-tarihli-odeme-emri-rizasi/{RizaNo}
16\nçaÄrısı aracılıÄı ile yerine getirilir. \n Servis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır.\nÃHK rızası YÃS üzerinden baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ ve durum kodu \"03\" olarak güncellenir ve gnclZmn zaman damgası vurularak güncellenir.\nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir:\nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (ÃBHS) \n"},{title:"6.\tÃdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v2.0.0/contents/odeme-emri-baslatma-hizmeti.html",relativePath:"v2.0.0/contents/odeme-emri-baslatma-hizmeti.md",key:"v-29ce59bd",path:"/v2.0.0/contents/odeme-emri-baslatma-hizmeti.html",headers:[{level:3,title:"Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi",slug:"_6-1-adim-0-odeme-emri-baslatma-istegi"},{level:2,title:"6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması",slug:"_6-2-adim-1-odeme-emri-rızasının-hazırlanması"},{level:2,title:"6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_6-3-adim-2-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_6-4-adim-2-1-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması",slug:"_6-5-adim-3-odeme-emrinin-olusturulması"},{level:2,title:"6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_6-6-adim-3-1-odeme-emri-sorgusu-istege-baglı"},{level:3,title:"GET /odeme-emri/{odemeEmriNo}",slug:"get-odeme-emri-odemeemrino"}],content:" 6.\tÃdeme Emri BaÅlatma Hizmeti \n Ãdeme emri baÅlatma iÅlemi havale, FAST ya da PÃS ödemesiyle sonuçlanabilir. Ãdeme iÅleminin amacı kiÅiden kiÅiye para transferi, e-ticaret ödemesi gibi farklı ödeme türleri olabilir. Ãdemenin amacına göre ÃBHSânin ileteceÄi veri setinde farklılaÅmalar olabilir. \n Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n Ãdeme Emri BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden ödeme emrini baÅlatır. \n Ãdeme Emri Rıza Hazırlanması: ÃBHS, âÃdeme Emri BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n Ãdeme Emrinin BaÅlatılması: ÃBHS, âödeme emriâni HHSâye iletir. \n Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı Sorguları: ÃBHS, Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin hem HBH hem de ÃBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini(önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n YÃS'ler gönderen hesap seçimini aÅaÄıdaki yöntemlerden biri ya da birkaçı ile saÄlayabilirler: \n \n YÃS, müÅterisinin ödeme hesabını HHS ekranından seçtirebilir. \n YÃS, müÅterisinden Hesap Bilgisi rızası alır. Rıza aldıÄı hesaplar üzerinden hesap referansı aracılıÄı ile ödeme emri baÅlatabilir. \n YÃS, müÅterisinin ödeme hesabını elle girmesine olanak tanıyabilir. IBAN'ı olmayan HHS'ler ödeme emri rızası adımında TR.OHVPS.Business.IBANNotSupported hatasını vermelidir. IBAN'ı olan HHS'lerin bu akıÅı desteklemesi zorunludur. \n YÃS; müÅterisinin hesap referansını elle girmesini saÄlayabilir. Hesap Referansı bilgisi ile baÅlatılan ödeme emri iÅlemlerinde HHS seçimi zorunludur. \n \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN sunmadıkları için, YÃS'ler hesap referansı ile ödeme baÅlatabilirler. Bu
16nların dıÅındaki HHS'lerin, gönderen IBAN veya hesap referansı ile ödeme akıÅını desteklemesi zorunludur. \n \n Åekil 4: Ãdeme Emri BaÅlatma Hizmeti Ãst Düzey İŠAkıÅı \n Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. \n Tablo 6: Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n odeme-emri-rizasi \n POST \n /odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n OdemeEmriRizasiIstegi \n OdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n odeme-emri-rizasi \n GET \n /odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n OdemeEmriRizaYaniti \n \n \n 3 \n odeme-emri \n POST \n /odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı İstek ve Yanıt \n OdemeEmriIstegi \n OdemeEmri \n \n \n 3.1 \n odeme-emri \n GET \n /odeme-emri/{odemeEmriNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n OdemeEmri \n 6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) ödeme emri baÅlatma iÅlemine onay verir. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması \n \n Åekil 5: Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak ödeme emri rıza kaynaÄının oluÅturulmasını (odemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ olduÄu geçit tarafından kontrol edilir. \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahipliÄi geçit tarafından kontrol edilir. \n HHS tarafından, istek baÅlıÄındaki x-aspsp-code ile katilimciBlg içerisinde yer alan hhsKod deÄeri ile aynı olduÄunu kontrol edilir. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n \n \n \n POST baÅarılı olursa, HHS, ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren odemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir OdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini y
16apar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hata kodu iletilmeli ve fieldErrors dolu olacak Åekilde hatalı alanı belirten detaylı açıklama gönderilmelidir. InvalidFormat hata kodlarında fieldErrors içeriÄi gönderilmeli ve anlaÅılır açıklama ile message, messageTr alanları doldurulması zorunludur. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme adresleri ile ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.TPPRedirectionAddressMismatch\" hatası dönülür. \n HHS; kimlik bilgileri nesnesinde eÄer kimlik bilgileri iletilmiÅ ise; bu veri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerNotFound\" hatası dönülür. Kurumsal müÅteri ile baÅlatılan rızada yer alan müÅteri bilgisinin karÅı kurumda Kurumsal müÅteri deÄil; bireysel müÅteri olduÄu durumda TR.OHVPS.Business.BusinessCustomerMismatch hatası dönülür. \n Ãdeme Emri BaÅlatma Hizmeti rıza isteÄinde bulunan ÃHKânın âAçık Bankacılık Kanal Yetkiâ tanımı yok ise \"TR.OHVPS.Business.OpenBankingChannelClosed\" hatası dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n Ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapılması durumunda HHS tarafından \"TR.OHVPS.Business.DecoupledAuthenticationNotSupported\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından \"TR.OHVPS.Business.EventSubscriptionNotFound\" hatası dönülür. \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin olduÄu durumlarda; ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından \"TR.OHVPS.Business.CustomerInfoMismatch\" hatası dönülür. Kimlik alanı içermeyen tek seferlik ödeme emri akıÅlarında bu kural geçerli deÄildir. GSM ve IBAN deÄerleri sadece tek seferlik ödemelerde kullanılabilir. \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS tarafından \"TR.OHVPS.Business.CustomerMobileApplicationNotFound\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n HHS kimlik bilgisi ile gönderen ünvanının uyumlu olduÄunu kontrol eder. HHS'ler EFT/FAST iÅlemlerinde kabul ettikleri kontrol kriterleri ile iÅleme izin verebilirler. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.IncorrectSenderTitle\" hatası dönülür. \n Gönderen Hesap Numarası ÃBHS tarafından iletildiÄi durumda;\n \n IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.InvalidAccount\" hatası dönülür. \n IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountCodeMismatch\" hatası dönülür. \n Hesap numarasının ÃHKâya ait olduÄu kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerAccountMismatch\" hatası dönülür. \n HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. (İlgili hesabın para transfer iÅlemine yetkisi olmaması) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountUnauthorized\" hatası dönülür. \n HHSâde gönderen hesabın aktifliÄi kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountInactive\" hatası dönülür. \n \n \n Gönderen Hesap Numarası için, He
16sap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise \"TR.OHVPS.Business.ActiveConsentNotFound\" hatası dönülür. \n Hesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n Alıcı ve gönderen hesabın aynı olması durumunda âTR.OHVPS.Business.SenderRecipientSameâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n MüÅterinin kendi hesapları arasında talimat veremeyeceÄi durumların kontrolü için âTR.OHVPS.Business.SameAccountTransferRestrictedâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n \n Tek Seferlik Ãdeme \n \n Tek seferlik ödeme akıÅı YÃS'ten HHS'ye giden istekte, gönderen kimlik bilgilerinin olmadıÄı durumda gerçekleÅir. Gönderen kimlik bilgisi olmadıÄında, KOLAS sorgusu yapılamayacaÄından ötürü, HHS tarafından \"TR.OHVPS.Resource.OneTimePaymentNotSupport\" hatası dönülmelidir. ÃHK'nın YÃS'ün müÅterisi olmadıÄı durumda tek seferlik ödeme baÅlatılabilir. \n Tek seferlik ödeme akıÅı hem iÅyeri ödemelerinde hem de kiÅiden kiÅiye para transferlerinde kullanılabilen bir akıÅtır. İÅyeri tarafından baÅlatılan tek seferlik ödeme iÅlemlerinde katılımcılar gönderen ÃHK'dan ücret alınamaz. \n Tek seferlik ödeme akıÅı sadece bireysel müÅteriler için kullanılabilir. Kurumsal müÅteri ile ödeme emri baÅlatılması durumunda \"TR.OHVPS.Resource.OneTimePaymentNotSupport\" hatası dönülür.\nTek seferlik ödeme akıÅında hem yönlendirmeli hem de ayrık GKD akıÅı ile müÅteri yetkilendirmesi saÄlanabilir. \n AÅaÄıdaki senaryolar tek seferlik ödemeye örnek olarak gösterilebilir. \nİÅyeri Ãdemesi akıÅı örneÄi: Bir e-ticaret sitesinde, üye olmadan alıÅveriÅ yapılması ve ödemenin YÃS tarafından kimlik bilgisi olmadan baÅlatılması \nKiÅiden kiÅiye para transferi akıÅı örneÄi: QR veya diÄer yöntemler ile alıcı bilgilerinin gönderici ile paylaÅılması ve YÃS üzerinden gönderici bilgileri olmadan alıcıya para transferi yapılması için rıza verilmesi \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, ödeme için benzersiz âRizaNoâ ile âOdemeEmriRizasiâ nesnesi oluÅturur ve ÃBHSâye döner. HHS, OdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n Tek seferlik ödeme iÅlemlerinde (gönderen kimlik bilgilerinin boÅ olduÄu durumda) ileri tarihli ve düzenli ödeme emri rızası baÅlatılabilir; ancak bu iÅ modelleri hizmete sunulmadan önce BKM ile paylaÅılmalı ve onayı alınmalıdır. \n POST /odeme-emri-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âodemeEmriRizasiIstegiâ nesnesi (Tablo-7) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âodemeEmriRizasiâ (Tablo-8) nesnesi oluÅturulur. \n BAÅARILI İSTEK: \n Tablo 7: âOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum ko
16du(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n HHS geçerli bir para birimi olduÄu kontrol eder. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen ünvanını göndermesi zorunludur. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, Hs
16pRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının ünvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. FAST-TR Karekod dıÅındaki iÅ yeri ödemelerinde; yine ünvan alanında iÅyeri adı bilgisi gönderilmelidir. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n Tek seferlik ödemelerde ( kimlik bilgileri boÅ iletildiÄinde) KOLAS nesnesi dolu iletiliyorsa; HHS tarafından hata dönülmelidir \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n HHS, YÃS'ün API deseninde \"O\" kodunu ilettiÄini kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarında: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tİÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n YÃS bu deÄeri ÃHKâyı HHSâye yönlendirmeden önceki ekranda göstermeli, ve HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak yine ÃHKâya göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi
16için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. İÅyeri Ãdeme Bilgileri, YÃS uygulama önyüzünde ÃHKânın bildiÄi ve giriÅi yapılması beklenen bir bilgi olmamalıdır. YÃS tarafından sistemsel olarak doldurulması gereklidir. \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriRizasiâ nesnesi Tablo-8âdeki parametrelerden oluÅur: \n Tablo 8: âOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n \n \n \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen ünvanını göndermesi zorunludur. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisidir. Bu alan ileri vadeli ödemeler için düÅünülmüÅtür. İlk fazda doldurulmasına gerek olmadıÄı düÅünülmektedir. \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil 6: Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS,
16ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın ödeme emrini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK -bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âodemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, OdemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır. HHS, â ADIM 2 -Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin OdemeEmriRizasi nesnesine iÅler. \n GET /odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir OdemeEmriRizasi kaynaÄının durumunu isteÄe baÄlı olarak alabilir. \n \n Sorgulama yapılan ödeme emri rızası HHS tarafında bulunmuyor ise \"TR.OHVPS.ResourceNotFound\" hatası dönülür. \n \n Servis baÅarılı yanıtında Tablo 8âde belirtilen \"OdemeEmriRizasi\" nesnesini dönmektedir. \n Durum \n OdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n Ãdeme Emri Rızası sonlandırıldı ve iptal statüsünde olan rıza'ların güncellenme zamanından(gnclZmn) 6 ay sonrasına kadar sorgulanabilir olması beklenmektedir. HHS'ler ilgili süre sonrasında yapılacak rıza sorgularına \" TR.OHVPS.Resource.NotFound\" uyarısı verebilir. YÃS'ler tarafından iptal ve sonlandırıldı statüsünde olan rızalar için sorgulama yapmamalıdır. \n Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /odeme-emri-rizasi/{RizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-8âde yer alan parametreleri içeren âOdemeEmriRizasiâ oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /odeme-emri-rizasi/{RizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âOdemeEmriRizasiâ nesnesini çekmelidir. \n Ãerçeve sözleÅme kapsamında olmayan tek seferlik ödeme iÅlemlerinde, Kimlik Türü ve Kimlik Verisi bilgilerinin ödeme emri rızası sırasında gönderimi zorunlu deÄildir. BaÅarılı GKD sonrası, yani eriÅim belirteci alındıÄında, ödeme emri oluÅmadan önce, YÃSâün ödeme emri rızasını sorgulayarak bu bilgileri alması ve ödeme emrini oluÅtururken Kimlik Türü, Kimlik Verisi ve Gönderen Ãnvan alanlarını dolu olarak göndermesi beklenmektedir. Ancak rıza durumu âYetki Bekleniyor - Bâ, âYetkilendirildi - Yâ ve âYetki İptal - Iâ statülerinde ise, ödeme emri rızası sorgulamasında, HHSânin Kimlik Türü ve Kimlik Verisi bilgisini Y
16ÃS ile paylaÅmaması gerekmektedir. \n 6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması \n \n Åekil 8: Ãdeme Emrinin OluÅturulması \n POST /odeme-emri \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS OdemeEmri kaynaÄını oluÅturur. \n Ãdeme emri (OdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır. \n \n EriÅim Belirteci kontrolü yapılır. Geçerli bir EriÅim Belirteci yok ise \"TR.OHVPS.Connection.InvalidToken\" hatası dönülür. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor, Y: Yetkilendirildi ya da E: Yetki Ãdeme Emrine DönüÅtü ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n POST /odeme-emri-rizasi ile POST /odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır. Ãdeme emri rızasında gönderilen deÄerlerden farklı bir deÄer gönderildiÄi durumda âTR.OHVPS.Business.FieldMismatchâ hatası dönülür. \n HHS tarafından Ãdeme Emrinin OluÅturulması API'sine istek yapıldıÄında müÅterinin bakiyesi kontrol edilir. Bakiye yetersiz ise HHS tarafından \"TR.OHVPS.Business.BalanceInsufficient\" hatası dönülür. MüÅterinin hesabında bakiye olması ancak günlük iÅlem limitine takılması durumunda ise TR.OHVPS.Business.ExceededTransactionLimit hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra, içerisinde OdemeEmriNo ve OdemeEmriDurumu deÄiÅkenleri de bulunan OdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine DönüÅtüâ olarak güncellenir. \n \n POST verisindeki Gönderen Hesap Numarası ve Alıcı Hesap Numarasının aynı bankaya aitse HAVALE deÄilse FAST veya PÃS iÅ akıÅına geçilir. \n OdemeEmriDurumu âGerçekleÅtiâ / âGönderildiâ / âGerçekleÅmediâ olarak güncellenir. \n \n BAÅARILI İSTEK: \n Tablo 9: âOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n >Yönlendirme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n \n \n \n \n \n \n \n \n \n >Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. yetYntm = Y için bu nesne iletilmemelidir. \n \n \n \n >>OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >>OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n \n \n >Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde,
161. HHS, Gönderen Adı ve Gönderen Hesap Numarasını ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Ãdeme Emri Rizası Nesnesindeki İÅlem Tutarı verisi ile aynı olmalıdır. HHS iÅlem tutarı ödeme mesajında (Havale/FAST/PÃS) aynen taÅınmak durumundadır. \n Ttr \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n KolasRef ( hem FAST hem de PÃS için aynı) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. \n RefBlg (Hem FAST hem de PÃS için aynı) \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n FAST/PÃS Acklm \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Sistemi verisi ile aynı olmalıdır. \n \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. İÅyeri Ãdeme Bilgileri, YÃS uygulama önyüzünde ÃHKânın bildiÄi ve giriÅi yapılması beklenen bir bilgi olmamalıdır. YÃS tarafından sistemsel olarak doldurulması gereklidir. \n \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n \n \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanıdır. \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n Z \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Emir Bilgileri \n emrBlg \n Kompleks: EmirBilgileri \n Z \n \n \n \n > Ãdeme Emri Numarası \n odmEmriNo \n AN1..128 \n Z \n odemeEmri nesnesinin UID'sidir. OdemeEmrine İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Ãdeme Emri Zaman \n odmEmriZmn \n ISODateTime \n Z \n odemeEmri nesnesinin oluÅturulma zamanıdır. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Durumu \n odmDrm \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. Ãdeme Durumu alanı ile ilgili olarak HHSâler tarafından YÃSâlere OdemeEmri servisi yanıtında 02:Gönderildi, 04:Onayda Bekliyor,05:İÅleme Alındı yanıtları gönderilebilir. 05:İÅleme Alındı durumu YÃS tarafından müÅteriye gösterilmeyen bir koddur. Bu kod dönüldüÄünde YÃS uygulamasında ÃHKâya ödeme durumu 02:Gönderildi olarak gösterilir. İÅlemin son durumunun teyidi için YÃS ödeme emri sorgulaması yapmalıdır. 02:Gönderildi durumu oluÅtuktan sonra YÃS tarafından ödeme emri sorgulaması yapılarak ödeme durumunun güncel deÄeri öÄrenilir. Güncel deÄerler 01:GerçekleÅti,03:GerçekleÅmedi durumları olabilir. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Ãdeme Sistem Numarası \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. Havale/FAST/PÃS ödeme yöntemleri için tarih alanı yyyy-aa-gg formatında 10 karakter olarak
16iletilmelidir. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: Ãdeme Emri Sorgusu \n GET /odeme-emri/{odemeEmriNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ödeme emrini sorgulayabilir. \n BAÅARILI YANIT: \n GET /odeme-emri/{odemeEmriNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âOdemeEmriâ nesnesi döner. \n \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, yer alan odemeEmriNo için, ödeme emri sorgusundaki odemeEmriNo bilgisinin aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n Sorgulama yapılan ödeme emri numarası HHS tarafında bulunmuyor ise \"TR.OHVPS.ResourceNotFound\" hatası dönülür. \n \n"},{title:"12.\tOlay Bildirim",frontmatter:{},regularPath:"/v2.0.0/contents/olay-bildirim.html",relativePath:"v2.0.0/contents/olay-bildirim.md",key:"v-448b4d1d",path:"/v2.0.0/contents/olay-bildirim.html",headers:[{level:2,title:"Genel Bilgiler",slug:"genel-bilgiler"},{level:2,title:"Olay Abonelik Servisleri (OAS)",slug:"olay-abonelik-servisleri-oas"},{level:2,title:"ADIM 1: Olay AboneliÄinin gerçekleÅtirilmesi",slug:"adim-1-olay-aboneliginin-gerceklestirilmesi"},{level:2,title:"ADIM 2: Olay AboneliÄinin güncellenmesi",slug:"adim-2-olay-aboneliginin-guncellenmesi"},{level:2,title:"ADIM 3: Olay AboneliÄinin sorgulanması",slug:"adim-3-olay-aboneliginin-sorgulanması"},{level:2,title:"ADIM 4: Olay AboneliÄinin iptali",slug:"adim-4-olay-aboneliginin-iptali"},{level:2,title:"ADIM 5: Olay AboneliÄinin İletilemeyen Olayları",slug:"adim-5-olay-aboneliginin-iletilemeyen-olayları"},{level:2,title:"ADIM 6: Sistem Olay Dinleme",slug:"adim-6-sistem-olay-dinleme"},{level:2,title:"Olay Dinleme Servisleri (ODS)",slug:"olay-dinleme-servisleri-ods"},{level:2,title:"ADIM 1: Olay Dinleme",slug:"adim-1-olay-dinleme"},{level:2,title:"ADIM 2: Sistem Olay Dinleme",slug:"adim-2-sistem-olay-dinleme"}],content:" 12.\tOlay Bildirim \n Genel Bilgiler \n Olay Bildirim Abonelik API servisleri, HHS'lerin sunmuÅ oldukları olay bildirimlerini takip etmek amacıyla abonelik akıÅlarını tanımlar. \n YÃS'ler olay bildirimlerini takip edebilmek için talep ettikleri abonelik hizmetlerini belirterek HHS'ler özelinde bir abonelik kaydı oluÅtururlar. Bu abonelik kaydını okuyabilir, güncelleyebilir ya da silebilirler. \n Olay bildirimleri HHS'ler tarafından 2 yöntem ile saÄlanır. İlki olay bildirimlerinin anlık olarak iletilmesi, diÄeri ise anlık iletilemeyen olayların toplu olarak iletilmesidir. \n Olay Bildirimi 2 API ile yönetilecektir. \n 1 - Olay Abonelik Servisleri (OAS) \n2 - Olay Dinleme Servisleri (ODS) \n Olay Abonelik ve Olay Dinleme API'lerinin istek ve yanıt baÅlıÄında beklenen parametreler ÃBH,HBH,GKD API'lerinden farklıdır.\n 3.15. İstek BaÅlıÄı ve 3.16. Yanıt BaÅlıÄı bölümlerinde zorunlu parametreler ve açıklamaları belirtilmiÅtir. \n Olay Abonelik Servisleri (OAS) \n Olay abonelik Servisleri; HHS'ler tarafından sunulacak olay bildirim abonelik servislerini ve iletilemeyen olaylar servisini içermektedir. \n HHS'nin sunacaÄı bu API ile YÃS'ler Åu adımları gerçekleÅtirebilir. \n \n YÃS'ün olay bildirimlerini dinleyebilmek için öncelikle dinlemek istediÄi olaylara ait olay tipleri ve kaynak tiplerini belirlemesi gerekmektedir. \n Olay tipleri ve kaynak tiplerinin neler olacaÄı \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda belirtilmiÅtir. \n YÃS, belirlediÄi olaylar için HHS'ye olay abonelik endpointi aracılıÄı ile abonelik baÅlatır. \n YÃS, abonelik numarası aracılıÄı ile abonelik bilgilerini görüntüleyebilir, güncelleyebilir, silebilir. \n YÃS, olay bildirimlerini bu abonelik sayesinde kendisinin sunacaÄı Olay Dinleme API'si ile dinler. \n HHS anlık iletemediÄi olaylarını biriktirerek, iletilemeyen olaylar endpointi ile YÃS'e sunar. \n \n HHS'ler \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda belirlenen olay ve kaynak tiplerinin tümü için YÃS'lere bildirim sunmak zorundadır. \n Olay Abonelik Servislerinde Idempotency kurallarının iÅletilmesine gerek bulunmamaktadır. \n Nezdinde ödeme hesabı bulunduran bazı hesap hizmeti saÄlayıcılar(EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları, diÄer HHS'lerdeki havuz hesaplarını kullanarak yönetiyor olabilir. Bu durum ilgili hesap hizmeti saÄlayıcılarının, ÃHVPS kapsamında HHS olduÄu rolde sunması gereken olay bildirim servisleri ile ilgili uyması gereken kuralları deÄiÅtirmemektedir. İlgili hesap hizmeti saÄlayıcılarının standartlara uygun Åekilde YÃS'lere bildirimleri yapması gerekmektedir. \n YÃS'ler sahip oldukları rol özelinde olay abonelik servislerinden faydalanabilir. Bu yüzden olay bildirim etki alanı (scope) deÄerleri hesap_bilgisi ve/veya odeme_emri olarak belirlenmiÅtir. \n Olay Abonelik Servisine ait API Endpointleri aÅaÄıdaki tabloda listelenmiÅtir. \n Olay Abonelik Servisleri için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âhesap_b
16ilgisiâ \"odeme_emri\" \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n olay-abonelik \n POST \n /olay-abonelik \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n OlayAbonelikİstegi \n OlayAbonelik \n \n \n 2 \n olay-abonelik \n GET \n /olay-abonelik \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n - \n OlayAbonelik \n \n \n 3 \n olay-abonelik/{olayAbonelikNo} \n PUT \n /olay-abonelik/{olayAbonelikNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n OlayAbonelik \n OlayAbonelik \n \n \n 4 \n olay-abonelik/{olayAbonelikNo} \n DELETE \n /olay-abonelik/{olayAbonelikNo} \n Z \n İstemci Kimlik Bilgileri \n - \n - \n - \n - \n \n \n 5 \n olay-abonelik/{olayAbonelikNo}/iletilemeyen-olaylar \n GET \n /olay-abonelik/{olayAbonelikNo}/iletilemeyen-olaylar \n Z \n İstemci Kimlik Bilgileri \n - \n Sayfalama \n \n Olaylar \n \n \n 6 \n sistem-olay-dinleme \n POST \n sistem-olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n
16- \n - \n Olaylar \n - \n ADIM 1: Olay AboneliÄinin gerçekleÅtirilmesi \n POST /olay-abonelik \n HHS'nin olay abonelik hizmeti sunduÄu servistir.\nYÃS, seçeceÄi olay-kaynak tipleri için bu servis aracılıÄı ile abone olabilir. HHS POST iÅlemi sonucunda, YÃS adına bir olay abonelik kaynaÄı oluÅturur ve tekil tanımlayıcı olan olayAbonelikNo deÄerini döner. olayAbonelikNo üretilirken farklı YÃS'ler için aynı deÄer kullanılamaz. olayAbonelikNo evrensel tekil olmalıdır. \n1 YÃS'ün 1 HHS'de 1 adet abonelik kaydı olabilir. \nBaÅarılı POST isteÄi sonucu HTTP 201 cevabı ile iletilmelidir. \n YÃS tarafından daha önce oluÅturulmuÅ olay abonelik kaydı varsa \"HTTP 400 -TR.OHVPS.Business.EventSubscriptionAlreadyExists\" hatasıyla uyarı mesajını döner. \n Olay Abonelik kaydı oluÅturmak isteyen YÃS'ün ODS API tanımı HHS tarafından kontrol edilmelidir. YÃS'ün tanımı olmaması halinde \"HTTP 400-TR.OHVPS.Business.InvalidContent\" hatası verilmelidir. \n Olay Abonelik kaydı oluÅturmak isteyen YÃS tarafından olay tipi ve kaynak tipi için iletilen deÄerler olması gereken sıralı veri tülerinden(TR.OHVPS.DataCode.OlayTip ve TR.OHVPS.DataCode.KaynakTip) farklı ise HHS tarafından \"TR.OHVPS.Business.EventSubscriptionNotFound\" hatası verilmelidir. \n Abonelik üzerinde görüntüleme, güncelleme, silme iÅlemlerini gerçekleÅtirebilir.\nYÃS'ün AboneliÄi devam ettiÄi sürece; YÃS'ün açacaÄı Olay Dinleme API'sine, HHS tarafından abonelik kapsamında olay bildirimleri iletilir. \n BKM'nin sunacaÄı abonelik servisleri için HHS ve YÃS'lerin abonelik isteÄi yapmasına gerek bulunmamaktadır. BKM üretim ortamı tanımları yapılırken katılımcıları abonelik servislerine üye yapacaktır. BKM'nin sunacaÄı abonelik servislerinin olay tipi \"HHS_YOS_GUNCELLENDI\"dir. HHS ve YÃS API ile sunulan bilgilerde bir deÄiÅiklik olduÄunda yapılacak olay bildirimlerini saÄlar.\nÃrneÄin; HHS logo bilgilerinde yapılacak bir deÄiÅiklik sonrasında, YÃS'lere yapılacak bildirim ile logo bilgisini deÄiÅen HHS'nin hhsKod deÄerini iletir. YÃS, HHS API'yi hhsKod ile çaÄırarak HHS'nin güncel bilgilerini alır. Güncel bilgiler ile kendi sistemini günceller. \n Olay tipi ve kaynak tipine ekleme yapıldıkça YÃS'lerin olay abonelik kayıtlarını yeni tipleri içerecek Åekilde güncel tutması gerekmektedir. \n OlayAbonelikIstegi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n \n \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n YÃS abone olmak istediÄi olay tiplerini TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄer ya da deÄerler ile doldurur. \n \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda \"Olay Bildirim Yapan\" kolonu \"HHS\" olan olay tipleri ile veri giriÅine izin verilir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n Olay tiplerinin tanımlanabildiÄi kaynak listesi bulunmaktadır. Bu listeye uygun kaynak tipleri iletilmelidir. \n HHS, YÃS API üzerinden YÃS'ün rollerini alarak uygun kaynak tiplerine kayıt olmasını saÄlar. \n \n \n \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası iletilebilir. İlk deÄeri olay abonelik oluÅturma zamanı bilgisidir. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n \n \n \n \n Olay Tipleri ve Kaynak Tipleri İliÅkisi \n * Anlık : Olay gerçekleÅtikten sonra maksimum 5 saniye içerisindeki zaman \n \n \n \n Olay Tipleri \n YÃS Rolü \n Kaynak Tipleri \n Olay OluÅturulma durumu \n KaynakNo \n Asıl verinin elde edileceÄi API \n Olay Bildirimini Yapan \n Olay Bildirim Zamanı \n Retry Policy \n \n \n \n \n KAYNAK_GUNCELLENDI \n ÃBH \n ODEME_EMRI \n Tüm ödeme durum deÄiÅikliklerinde \n odmEmrNo \n GET /odeme-emri/{odemeEmriNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n ILERI_TARIHLI_ODEME_EMRI_RIZASI \n Rıza iptal detay kodu â02â : Kullanıcı İsteÄi ile HHS üzerinden İptal durumunda \n rizaNo \n GET /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n ILERI_TARIHLI_ODEME_EMRI \n Tüm ödeme durum deÄiÅikliklerinde, ödeme emri içerisinde yer alan tutar, talimat tarihi deÄiÅikliklerinde \n odmEmrNo \n GET /ileri-tarihli-odeme-emri/{odemeEmriNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n DUZENLI_ODEME_EMRI_RIZASI \n Rıza iptal detay kodu â02â : Kullanıcı İsteÄi ile HHS üzerinden İptal durumunda \n rizaNo \n GET /duzenli-odeme-emri-rizasi/{rizaNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n DUZENLI_ODEME_PLANI \n Düzenli ödeme planı içerisinde yer alan herhangi bir alan için deÄiÅiklik olduÄu durumda \n tlmtNo \n /duzenli-odeme-emri/{tlmtNo}/odeme-plani \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n DUZENLI_ODEME_EMRI \n Düzenli ödeme emri içerisinde gönderen hesap ve açıklama alanlarına dair deÄiÅiklik olduÄu durumda \n tlmtNo \n /duzenli-odeme-emri/{tlmtNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n Rıza iptal detay kodu â02â : Kullanıcı İsteÄi ile HHS üzerinden İptal durumunda ve Rıza iptal detay kodu â09â : Uygun ürünü bulunmuyor durumunda \n rizaNo \n GET /hesap-bilgisi-rizasi/{rizaNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n HBH \n BAKIYE \n Bakiye nesnesindeki tutarla ilgili bir bilgi deÄiÅtiÄinde ve HBH rızası içerisinde \"06-Anlık Bakiye Bildirimi\" izin türü varsa oluÅturulur. Mevcutta alınmıŠrızalar için bakiye kaynak tipi özelinde 06 izin türü gerektiÄinden; mevcut rızanın yenilenmesine dair müÅteriye bilgilendirme yapılarak 06 izin türünü kapsayan yeni rıza alınması süreci YÃS tarafından gerçekleÅtirilebilir. Bloke tutar deÄiÅikliÄi için olay oluÅturma ve bildirimi HHS inisiyatifindedir. KrdHsp içerisinde yer alan kulKrdTtr deÄerinin deÄiÅtiÄi durumda olay bildirim gönderilmesi gerekmektedir. \n hspRef \n GET /hesaplar/{hspRef}/bakiye, GET /hesaplar/{hspRef}/islemler \n HHS \n Maksimum 10 dakika içerisinde \n Retry policy uygulanmamalıdır. İlk istek gönderilemediÄi durumda İletilemeyen Olaylara eklenmelidir. \n \n \n \n HBH \n KART_BILGILERI \n Kart bilgileri nesnesindeki kart statüsü veya ekstre türleri içerisinde sadece yeni bir esktre türü eklendiÄinde oluÅturulur. Ekstre türünde azaltma yönünde güncelleme varsa olay bildirimi gönderilmemelidir. YÃS'e kart statüsünün veya ekstre türlerinin deÄiÅtiÄine dair olay bildirimi gönderilir. \n kartRef \n GET /kartlar, GET /kartlar/{kartRef}, GET /kartlar/{kartRef}/kart-detay, GET /kartlar/{kartRef}/kart-hareketleri \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n HBH \n COKLU_ISLEM_TALEBI ( bulk-data) \n İlgili API İlke ve kurallarına eklendiÄinde güncellenecektir. \n \n \n HHS \n \n 30 Dakika - 3 Deneme \n \n \n AYRIK_GKD_BASARILI \n ÃBH \n ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}}&rizaTip=O \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}&rizaTip=H \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n ÃBH \n ILERI_TARIHLI_ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}}&rizaTip=I \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n ÃBH \n DUZENLI_ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}}&rizaTip=D \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n AYRIK_GKD_BASARISIZ \n ÃBH \n ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /odeme-emri-rizasi/{RizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /hesap-bilgisi-rizasi/{RizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n ÃBH \n ILERI_TARIHLI_ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n ÃBH \n DUZENLI_ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /duzenli-odeme-emri-rizasi/{rizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n HHS_YOS_GUNCELLENDI \n \n \n BKM sistemi tarafından üretilecek olayları dinlemek için kullanılacak kaynak tipidir. YÃS ve HHS'lerin BKM'ye abonelik oluÅturmasına gerek bulunmamaktadır. BKM HHS ve YÃS üretim ortamı tanımı yaparken abonelikler
16ini baÅlatacaktır. (HHS yaygınlaÅtırma durumundayken de aboneliÄi baÅlatılacaktır.) \n \n \n HHS \n \n \n \n \n \n YÃS \n HHS \n HHS bilgilerinde deÄiÅiklik olduÄunda, YÃS'ün hhsKod ile sorgulama yapması ve deÄiÅen bilgiyi güncellemesi beklenmektedir. \n hhsKod \n GET /hhs/{hhsKod} \n BKM \n *Anlık \n 5 Dakika - 3 Deneme \n \n \n \n HHS \n YOS \n YÃS bilgilerinde deÄiÅiklik olduÄunda, HHS'nin yosKod ile sorgulama yapması ve deÄiÅen bilgiyi güncellemesi beklenmektedir. \n yosKod \n GET /yos/{yosKod} \n BKM \n *Anlık \n 5 Dakika - 3 Deneme \n \n \n \n * Anlık : Olay gerçekleÅtikten sonra maksimum 5 saniye içerisindeki zaman \n ADIM 2: Olay AboneliÄinin güncellenmesi \n PUT\tolay-abonelik/{olayAbonelikNo} \n YÃS'ün olay aboneliÄine ait abonelik tiplerini güncelleyebildiÄi servistir. Olay aboneliÄi oluÅturulduÄu zaman HHS tarafından iletilen olayAbonelikNo aracılıÄı ile güncelleme iÅlemi yapılır. YÃS abone olmak istediÄi olay-kayıt tiplerininin son halini güncelleme servisi ile HHS'ye iletir. HHS bu bilgilerle eski abonelik tiplerinin yerini deÄiÅtirir. \n BaÅarılı PUT isteÄi sonucu HTTP 200 cevabı ile iletilmelidir. \n OlayAbonelikIstegi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n HHS geçerli bir olay abonelik numarası olduÄunun kontrolünü yapar. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n HHS Sisteminde, YÃS'ün eski abonelikleri yeni aboneliklerle güncellenmelidir. \n \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n YÃS abone olmak istediÄi olay tiplerini TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄer ya da deÄerler ile doldurur. \n \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda \"Olay Bildirim Yapan\" kolonu \"HHS\" olan olay tipleri ile veri giriÅine izin verilir. Olay tipi AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ için, YÃS'ün ODS API'yi sunması zorunludur. HHS, bu olay tipleri özelinde YÃS API üzerinden YÃS'ün bu API'yi sunduÄunu kontrol eder ve eÄer sunmuyor ise TR.OHVPS.Business.InvalidContent hatası dönerek kayıt iÅlemini gerçekleÅtirmez. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n Olay tiplerinin tanımlanabildiÄi kaynak listesi bulunmaktadır. Bu listeye uygun kaynak tipleri iletilmelidir. \n HHS, YÃS API üzerinden YÃS'ün rollerini alarak uygun kaynak tiplerine kayıt olmasına izin verir. \n \n \n \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n ADIM 3: Olay AboneliÄinin sorgulanması \n GET /olay-abonelik \n YÃS olay abonelik bilgilerini sorgulamak isteyebilir. HHS, YÃS'e ait aktif durumdaki abonelik bilgisini iletir.\nBaÅarılı GET sonucu HTTP 200 kodu ile iletilmelidir. \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n YÃS'ün abone olduÄu olay - kaynak listesini döner. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄerler içerir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden deÄerler içerir. \n ADIM 4: Olay AboneliÄinin iptali \n DELETE /olay-abonelik/olayAbonelikNo \n YÃS'ün abonelik kaydını silmesi için HHS'nin sunduÄu servistir. BaÅarılı silme iÅlemi sonucu HTTP 204 ile YÃS'e iletilir. \n ADIM 5: Olay AboneliÄinin İletilemeyen Olayları \n GET /iletilemeyen-olaylar \n HHS kaynaklar üzerinde oluÅacak olayları YÃS'e POST/olay-dinleme servisi ile gönderim saÄlamaktadır. Bu gönderim belli bir yeniden gönderim politası (retry-policy) ile yapılmalıdır. Ancak yine de iletilemeyen olaylar olursa (YÃS servisinden HTTP 202 alamama durumu) YÃS'e iletilemeyen-olaylar servisi üzerinden sunulmalıdır. Yani yeniden gönderim politikası sonunda gönderilemeyen olaylar bu servis ile sunulmalıdır. \n Aynı kaynak numarası ile aynı olay-kaynak tipinde, 1 YÃSâe ait, 1 adet iletilemeyen olay kaydı olabilir. \n Bu serviste 1 gün öncesinden sorgu anına kadar tüm kayıtlarına ait iletilemeyen olaylar listelenmelidir.\nÃrnek sorgu zamanı : 2023-04-06T15:14:00+03:00\nHHS'nin sunacaÄı veri 2023-04-05T00:00:00+03:00 ile 2023-04-06T15:14:00+03:00 arasında olmalıdır.\nSıralama yönü olay tarihine göre artan Åekilde olmalıdır. Sayfalama 100'er kayıt dönülerek yapılmalıdır. \n YÃS tarafından iletilemeyen olaylar isteÄi 10 dakikada bir olacak Åekilde yapılabilir. HHS bu limite uygun iÅlem kısıtı uygulayabilir. \n İÅlem Sorgu ÃrneÄi GET İÅlem Sorgu ÃrneÄi : /iletilemeyen-olaylar?syfNo=1&olyZmnBslTrh=2024-01-08T16:42:00+03:00&olyZmnBtsTrh=2024-01-09T17:09:00+03:00 \n ÃrneÄin; \n olyZmnBslTrh : 07/01/2024 10:00:00+03:00\n olyZmnBtsTrh : 09/01/2024 16:00:00+03:00\n Sorgu Zamanı : 09/01/2024 10:15:00+03:00 \n Yanıt içerisinde yer alan veriye ait tarih aralıÄı : 08/01/2024 00:00:00+03:00 - 09/01/2024 10:15:00+03:00 olmalıdır. \n BaÅlangıç ve bitiÅ zaman aralıÄı örnekte yer alan Åekilde seçilse dahi ilgili servis yanıtı için öncelikle sorgu zamanına bakılıp 1 gün öncesinden sorgu anına kadar tüm kayıtların iletilemeyen olaylar içerisinde listelenmesi saÄlanmalıdır. \n İlgili tarih aralıÄında uygun veri olmaması halinde yanıt gövdesi boÅ olacak Åekilde dönülmelidir. \n İletilemeyen Olaylar Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS İletilemeyen Olaylar listesine ait bu sayfadaki kayıtları göndermelidir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları göndermelidir. \n \n \n Olay Zamanı BaÅlangıç Tarihi \n olyZmnBslTrh \n ISODateTime \n İ \n Sorgulanacak Olay Zamanına ait baÅlangıç tarihi \n HHS'ler iletilemeyen olaylar listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından tetiklenen sorgularda; olyZmnBslTrh iletilmediÄi durumda ya da 1 gün öncesinin baÅlangıç saatine göre daha geri bir zaman dilimi gönderildiÄinde, baÅlangıç zamanı(olyZmnBslTrh) deÄeri sorgu zamanından 1 gün öncesine ait günün baÅlangıç zamanı olarak kabul edilmelidir. \n \n \n Olay Zamanı BitiÅ Tarihi \n olyZmnBtsTrh \n ISODateTime \n İ \n Sorgulanacak Olay Zamanına ait bitiÅ tarihi \n HHS'ler iletilemeyen olaylar listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından tetiklenen sorgularda;
16 olyZmnBtsTrh iletilmediÄi durumda ya da sorgu zamanından daha ileri bir zaman dilimi gönderildiÄinde, bitiÅ zamanı(olyZmnBtsTrh) deÄeri sorgu zamanı olarak kabul edilmelidir. \n \n \n \n Tablo 17: Olaylar nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Olaylar \n olaylar \n Kompleks: Olaylar \n Z \n \n \n \n >Olay No \n olayNo \n AN1..64 \n Z \n Olaya ait evrensel tekil numaradır. \n \n \n >Olay Zamani \n olayZamani \n ISODateTime \n Z \n Olayın oluÅtuÄu tarih bilgisidir. \n \n \n >Olay Tipi \n olayTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden birini alır. \n \n \n >Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden birini alır. \n \n \n >Kaynak Numarası \n kaynakNo \n AN1..128 \n Z \n Güncellenen kaynaÄa ait HHS sistemindeki tekil tanımlayıcı. \n \n \n \n Kaynak numarasında gönderilen deÄer ile ilgili kaynaÄı sorgulayarak almak YÃS'ün insiyatifindedir. \n ADIM 6: Sistem Olay Dinleme \n POST /sistem-olay-dinleme \n HHS'lerin sistem olaylarını dinleme amacıyla açması gereken endpoint bilgisidir. \n YÃS API içerisinde yapılan deÄiÅikliklerde, BKM tarafından HHS'lere olay bildirimlerini yapılır. \n Olaylar yanıt nesnesi içerisinde 1 adet kayıt yer almalıdır. \n BaÅarılı POST isteÄi sonucu HTTP 202 Accepted kodu ile dönülmelidir. \n HHS'den baÅarılı yanıt alınamadıÄı durumda, 5 dakika aralıklarla 3 kez deneme yapılacaktır. Hata alınmaya devam edilmesi durumunda baÅka bir aksiyon alınmayacaktır. \n Olay Dinleme Servisleri (ODS) \n YÃS sunacaÄı Olay Dinleme Servisi ile hem HHS'den hem de BKM'den gelen olayların bildirimini dinleyebilir. YÃS'ler HHS'de yer alan olay abonelik kayıtlarını iptal edebilir ancak BKM Sistem Olay Dinleme servisinin ileteceÄi bildirimlerin alınması zorunlu olduÄundan ODS API her zaman aktif olmalıdır. \n HHS'den gelecek olay bildirimlerini olay-dinleme endpointi ile dinlerken, BKM'den gelecek olay bildirimlerini sistem-olay-dinleme endpointi ile dinlemelidir. \n Olay Dinleme Servislerinde Idempotency kurallarının iÅletilmesine gerek bulunmamaktadır. \n Olay Dinleme Servisine ait API Endpointleri aÅaÄıdaki tabloda listelenmiÅtir. \n Olay Dinleme Servisleri için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âolay_dinlemeâ \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n olay-dinleme \n POST \n /olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek \n - \n Olaylar \n - \n \n \n 2 \n sistem-olay-dinleme \n POST \n /olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n
16- \n - \n Olaylar \n - \n ADIM 1: Olay Dinleme \n POST /olay-dinleme \n Olay abonelik servisi ile abone olunan olaylar, olay dinleme servisi ile YÃS'e iletilir.\nOlaylar yanıt nesnesi içerisinde en fazla 100 kayıt gönderilmelidir.\nBaÅarılı POST isteÄi sonucu HTTP 202 Accepted ile dönülmelidir. \n HHS'nin iÅlem hata aldıÄında, baÅarılı iÅlem olana kadar 3 kez deneme yapılması gerekmektedir.\nİlk istekle son istek arasında 30 dakika olacak Åekilde, zamana yayarak bu denemelerin yapılması gerekmektedir. (Exponential backoff policy uygulanması beklenmektedir. )\nHHS kendi sistemini yormayacak Åekilde, belirleyeceÄi kurallar dahilinde bu geliÅtirmeyi yapmalıdır. \n Tablo 17: Olaylar nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n >Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >>Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n >> Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n >Olaylar \n olaylar \n Kompleks: Olaylar \n Z \n \n \n \n >>Olay Numarası \n olayNo \n AN1..64 \n Z \n Olaya ait atanmıŠtekil kimlik numarası \n \n \n >>Olay Zamanı \n olayZamani \n ISODateTime \n Z \n Olayın oluÅma zamanı \n \n \n >>Olay Tipi \n olayTipi \n AN1..36 \n > \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden birini alır. \n \n \n >>Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden birini alır. \n \n \n >>Kaynak Numarası \n kaynakNo \n AN1..128 \n Z \n Güncellenen kaynaÄa ait HHS sistemindeki tekil tanımlayıcı. \n ADIM 2: Sistem Olay Dinleme \n POST /sistem-olay-dinleme \n YÃS'lerin sistem olaylarını dinleme amacıyla açması gereken endpoint bilgisidir. \n HHS API içerisinde yapılan deÄiÅikliklerde, BKM tarafından YÃS'lere olay bildirimlerini yapılır. \n Olaylar yanıt nesnesi içerisinde 1 adet kayıt yer almalıdır. \n BaÅarılı POST isteÄi sonucu HTTP 202 Accepted kodu ile dönülmelidir. \n YÃS'ten baÅarılı yanıt alınamadıÄı durumda, 5 dakika aralıklarla 3 kez deneme yapılacaktır. Hata alınmaya devam edilmesi durumunda baÅka bir aksiyon alınmayacaktır. \n"},{title:"4. Rıza Durumları",frontmatter:{},regularPath:"/v2.0.0/contents/riza-durumlari.html",relativePath:"v2.0.0/contents/riza-durumlari.md",key:"v-64fc905e",path:"/v2.0.0/contents/riza-durumlari.html",headers:[{level:2,title:"4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri",slug:"_4-1-hesap-bilgisi-hizmeti-rıza-durum-degisiklikleri"},{level:2,title:"4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri",slug:"_4-2-odeme-bilgisi-hizmeti-rıza-durum-degisiklikleri"}],content:" 4. Rıza Durumları \n ÃHK, Ãdeme Emri BaÅlatma Hizmetine ya da Hesap Bilgisi Hizmetine müÅteri rızasının tesisi ile baÅlar. ÃHKânın YÃS uygulaması üzerinden yaptıÄı iÅlemler neticesinde rıza durumları deÄiÅebilir.\nRızaânın alabileceÄi durum kodları Åu Åekilde belirlenmiÅtir. \n B: Yetki Bekleniyor â İlk rıza talebinde \n Y: Yetkilendirildi â BaÅarılı GKD sonrası yetKod üretildiÄinde \n K: Yetki Kullanıldı â EriÅim Belirteci alındıÄında \n E: Yetki ödeme emrine dönüÅtü â ÃBHS için \n S: Yetki Sonlandırıldı \n    HBHS için : EriÅimin Geçerli OlduÄu Son Tarih geldiÄinde \n    ÃBHS için : Yenileme belirteci Son Tarihi geldiÄinde \n I :Yetki İptal \nRıza iptal durumu ise gerek raporlama gerekse müÅteri deneyimi perspektifinden doÄru bilgilendirmeler yapılabilmesi açısından aÅaÄıdaki gibi detay kodları ile zenginleÅtirilmiÅtir: \n \n Rıza İptal Detay Kodu: \n \n \n \n â01â :\tYeni Rıza Talebi ile İptal \n â02â :\tKullanıcı İsteÄi ile HHS üzerinden İptal \n â03â :\tKullanıcı İsteÄi ile YÃS üzerinden İptal \n â04â :\tSüre AÅımı : Yetki Bekleniyor \n â05â :\tSüre AÅımı : Yetkilendirildi \n â06â :\tSüre AÅımı : Yetki Ãdemeye DönüÅmedi \n â07â :\tGKD iptali : Aynı rıza no ile mükerrer çaÄrımı \n â08â :\tGKD iptali : Rızano ile kimlik bilgileri uyuÅmaması \n â09â :\tGKD iptali : Uygun ürünü bulunmuyor \n â10â :\tGKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı \n â11â :\tGKD iptali : Hesap Yetki S
16orunu \n â12â :\tGKD iptali : ÃHK HHS kontrollerini aÅamadı \n â13â :\tGKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi \n â14â :\tGKD iptali : Fraud Åüphesi \n â15â :\tHesap Rıza Güncelleme Talebi ile İptal \n â99â :\tGKD iptali : DiÄer \n \n \n 4.1 ve 4.2 bölümlerinde detaylandırılan rıza durum deÄiÅikliklerinde rıza iptal detay kodları kullanılmıÅtır. \n ÃrneÄin B⨠I/01 denildiÄinde âYetki Bekleniyorâ rıza durumundan âYetki İptalâ rıza durumuna Rıza İptal Detay Kodu da â01â yani âYeni Rıza Talebi ile İptalâ olarak güncellenmelidir ifade edilmiÅtir. \n ÃHK verdiÄi rıza sırasında seçtiÄi hesaplarından/kartlarından biri kapatılırsa, diÄer hesaplara/kartlara ait bilgileri görmeye devam eder. Ancak ÃHKânın hesabına/kartına ait bilgilerinin YÃS'e iletilmesini istemediÄi durumda, rızasını tamamen iptal ederek yeni hesap/kart listesi ile yeni rıza vermesi gerekmektedir. Yani hesap/kart kapanması nedeniyle rıza geçerliliÄini yitirmez. ÃHK'nın proaktif olarak bu hesabı/kartı rızadan çıkarması durumunda rıza iptali olur. \n Rıza iptal edilmediÄi ve geçerli olduÄu sürece kapalı hesaplar/kartlar için diÄer çevrimiçi kanallarda uygulanan yöntem izlenmelidir. DiÄer çevrimiçi kanallarda kapalı hesaplara/kartlara iliÅkin bilgi dönülmüyor ise ÃHVPS'den de dönüŠyapılmaz. ÃHKânın rıza onayı verdiÄi açık hesaplarının/kartlarının tümü HHS tarafında kapatıldıÄı durumda, yine aynı Åekilde HHS çevrimiçi kanallarında koyduÄu kurallara göre bu hesaplarının/kartlarının YÃS uygulamasında gösterilmesine karar verir. \n Hesap/kart kapama ve ticari kullanıcıların hesaplar/kartlar üzerindeki yetki deÄiÅiklikleri HHS'nin iç sistemleri tarafından yapılan kontrollerle yönetilir. Buradaki deÄiÅiklikler ile HHS sistemsel olarak rıza iptali gerçekleÅtiremez. ÃHK izni ve onayı dahilinde rıza iptal gerçekleÅtirilmesi gerekmektedir. \n HHS'ler sunmuÅ oldukları Rıza İptal ekranını (sadece Hesap Bilgisi Rızası için), hangi ortamlardan GKD yapılmasına izin veriliyorsa (web/mobil) aynı ortamdan ÃHK'ya sunmalıdır. ÃrneÄin bir HHS bireysel müÅterileri için web ve mobil, kurumsal müÅteriler için web üzerinden GKD imkanı sunuyor ise, minimumda bireysel müÅteriler için web ve mobil ortamlarından, kurumsal müÅteriler için web ortamından Rıza İptal ekranı aracılıÄı ile rıza iptaline izin vermelidir. Bunun dıÅında çaÄrı merkezi ya da Åube gibi ortamlardan sunacaÄı Rıza İptal imkanı HHS inisiyatifindedir. Bahsi geçen zorunluluk Ãdeme Emri Rıza İptal ekranı için geçerli deÄildir. \n Benzer Åekilde YÃS'ler hangi ortamlardan (web/mobil) hizmet veriyorsa, aynı ortam üzerinden Rıza İptal ekranını sunmalıdır. \n 4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri \n Kural : Bir ÃHK'nın, bir YÃS için, bir HHS'de aktif tek bir rızası olabilir.\nBir ÃHK hem kiÅisel olarak hem de bir kurumun kullanıcısı olabilir. Bu durumda kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Hesap Bilgisi Rızası isteÄi HHSâye iletilir. \na.\tHHS ÃHK'ya ait içeride rıza var mı kontrol eder. EÄer yoksa Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \nb.\tEÄer içeride rıza varsa ; \n \n Yeni hesap bilgisi rızası talebi baÅlatılmıÅsa (oncekiRizaNo alanının hiç gönderilmediÄi durum): \ni. Rıza durumu Yetki Bekleniyor - B ise; \n    HHS, sistemde Yetki Bekleniyor - B rıza durumuna sahip kayıt olduÄu için, öncelikle eski kaydı Yetki İptal - I durumuna getirir. Rıza İptal Detay Kodu âYeni Rıza Talebi ile iptalâ olmalıdır. B ⨠I / 01 Sonrasında, Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \n \n     ii. Rıza durumu Yetkilendirildi - Y veya Yetki Kullanıldı - K ise; \n    ÃHK'nın halihazırda verilmiÅ bir rızası vardır. HHS, önce mevcut rızanın iptalinin yapılması gerektiÄine dair TR.OHVPS.Business.ConsentAlreadyExists hatasını döner. YÃS, HHS ya da YÃS uygulaması üzerinden bu rızanın iptal edilmesi gerektiÄine dair ÃHK'ya bilgilendirme yapar. \n     iii.\tRıza durumu Yetki Sonlandırıldı - S ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n     iv.\tRıza durumu Yetki İptal - I ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n \n \n BaÅlatılan rıza isteÄi güncelleme akıÅı ile baÅlatılması durumunda oncekiRizaNo deÄeri rıza isteÄinde bulunan ÃHKâya ait olmalıdır. ÃHKâya ait olmaması durumunda TR.OHVPS.Business.CustomerNotFound hatası dönülür. Aynı ÃHK olması durumunda ;
16 \n i. Ãnceki Rıza durumu B: Yetki Bekleniyor , Y: Yetkilendirildi ya da I :Yetki İptal ise; TR.OHVPS.Business.ConsentStatusNotforUpdate hatası verilecektir. \n ii. Yetki Kullanıldı - K ise; hesap rızası baÅarılı gerçekleÅtiriliyor olup Yetki Bekleniyor - B durumunda yeni bir rıza oluÅturulur. Ãnceki hesap bilgisi rızası durumunda bir güncelleme yapılmaz. \n iii. Yetki Sonlandırıldı - S ise; Rıza Güncelleme Zamanı kontrol edilir. \n â¢\tSonlandırıldı statüsüne geçmesiyle birlikte rıza güncelleme zamanı üzerinden 30 gün geçmiÅ ise TR.OHVPS.Business.ConsentStatusNotforUpdate hatası verilir. \nâ¢\t30 gün geçmemiÅ ise; hesap rızası baÅarılı gerçekleÅtiriliyor olup Yetki Bekleniyor - B durumunda yeni bir rıza oluÅturulur. Ãnceki hesap bilgisi rızası durumunda bir güncelleme yapılmaz. \n \n \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında Rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Tarayıcıyı kapatmıŠolabilir) Rıza Yetki Bekleniyor - B rıza durumunda kalır. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B rıza durumundaki kayıtlar Yetki İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. B ⨠I / 04 Bkz. 9. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında/kartlarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n Fraud Åüphesi Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 99 \n \n \n \n \n \n \n EriÅim Belirteci API \n a. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında; \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B ya da Yetki Kullanıldı - K ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n ⢠Hesap Rızası Güncelleme akıÅı ile hesap bilgi rızası güncelleniyor ise yeni hesap bilgisi rızası K durumuna güncellendiÄinde önceki rıza no durumu I â 15 (Hesap Rıza Güncelleme ile İptal) ile iptale çekilir. \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Sorgulama: HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir hesap bilgisi-rizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. Rıza numarası ile sorgulama yapılır. \n \n \n Hesap Bilgisi Rızasının İptali: HBHS üzerinden ya da HHS üzerinden yapılan rıza iptallerinde Rıza durumu Yetki İptal - I olarak güncellenir. Rıza numarası ile iptal saÄlanır. \n a. HHS üzerinden rıza iptali yapmıŠolabilir. Rıza durumu sorgulanır. \n Rıza numarası Yetki Bekleniyor - B ve Yetkilendirildi - Y ve Yetki Kullanıldı - K durumlarında ise Yetki İptal durumuna getirilir. Rıza gnclzmn timestamp ile güncellenir.\nHHS, Rıza iptalinde aynı zamanda eriÅim belirtecini de invalid hale getirmelidir. \n B ⨠I / 02 \n Y ⨠I / 02 \n K ⨠I / 02 \n b.\tYÃS üzerinden yapılacak iptal iÅleminde yine Y ve B ve K rıza durumlarında ise iptal edilebilir. \n B ⨠I / 03 \n Y ⨠I / 03 \n K ⨠I / 03 \n Rıza durumu Yetki Sonlandırıldı - S ise iptal gerçekleÅmez. âRıza durumunuz iptal etmeye uygun deÄildir.â hatası ÃHK'ya yansıtılır. TR.OHVPS.Resource.ConsentRevoked \n \n \n ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir.\nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde Rıza durumu Yetki Kullanıldıâdan Yetki S
16onlandırıldı durumuna çekilmelidir. K ⨠S \n \n \n Hesaplar, Bakiye ve İÅlemler servislerinde eriÅim belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır.\nGeçerli bir eriÅim belirteci yok ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n YÃS'ün; Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında Hesaplar, Bakiye ve İÅlemler servislerini çaÄırmaması beklenir. HHS'nin bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda TR.OHVPS.Resource.ConsentRevoked hatasını dönmesi gereklidir. \n Rıza durumu Yetki Kullanıldı - K dıÅında ise TR.OHVPS.Resource.ConsentMismatch hatası verilmelidir. \n Rıza durumu Yetki Kullanıldı - K ise servis akıÅlarına devam edilir. \n Rıza sorgulama API'sinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir âYetki Bekleniyorâ durumunda kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir âYetkilendirildiâ durumunda kalan kayıtlar güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı: Yetkilendirildi B ⨠I / 05 \nYukarıda bahsedilen, YÃS Süre AÅımı nedeniyle rıza iptal durum güncellemelerini yapmadan önce HHSâyi sorgulayarak rıza durumunu öÄrenmeli ve süre aÅımı dıÅında bir kodu varsa aynı kodla kendi sistemini güncellemelidir. \nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldıâya güncellenir. K ⨠S \n 4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri \n Kural : Bir ÃHK'nın bir YÃS için bir HHS'de istediÄi kadar rızası olabilir. \n Kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Ãdeme Emri Rızası isteÄi HHSâye iletilir. İçeride rıza olup olmamasına bakılmaksızın Yetki Bekleniyor - B rıza durumu ile yeni rıza no oluÅturur. \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Browserı kapatmıŠolabilir)\nRıza durumu Yetki Bekleniyor'dur. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B durumundaki kayıtlar Rıza İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. Bkz. 8. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n Fraud Åüphesi Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 99 \n \n \n \n \n \n \n GKD muafiyeti olduÄunda YÃS HHSâden arka planda onay alır. Bu onay sırasında rıza durumu Yetkilendirildi yapılır. B ⨠Y \n \n \n EriÅim Belirteci API \na. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında;
16 \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B , Yetki Kullanıldı - K ya da Yetki ödeme emrine dönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K veya Yetki Ãdeme Emrine DönüÅtü â E olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Ãdeme BaÅlatma API önce eriÅim belirteci ve sonrasında rıza kontolü yapılarak gerçekleÅtirilmelidir \n \n Ãncelikle EriÅim Belirteci kontrolü yapılmalıdır. Geçerli bir EriÅim Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n Rıza durumu Yetki Bekleniyor - B , Yetkilendirildi - Y, Yetki Ãdeme Emrine DönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n Rıza durumu Yetki Kullanıldı - K olduÄunda ödeme emri gerçekleÅtirilir. Rıza durumu Yetki Kullanıldı - K'dan Yetki Ãdeme Emrine DönüÅtü â E yapılmalıdır. K â¨E \n \n \n \n Sorgulama: GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlarda, ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, ödemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır.\nRıza sorgulama, Ãdeme Emri Sorgulama API'lerinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n Ãdeme Emri Rızasının İptali bulunmamaktadır. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir Yetki Bekleniyor'da kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir Yetkilendirildi'de kalan kayıtlar durumları güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı : Yetkilendirildi B ⨠I / 05 \n 5 dakikadan uzun süredir Yetki kullanıldı'da kalan kayıtlar durumları güncellenir.\nYetki kullanıldı ⨠Rıza İptal / Süre AÅımı : Yetki Ãdemeye DönüÅmedi B ⨠I / 06 \n Yenileme belirteci Son Tarih geldiÄinde rıza durumu Yetki ödeme emrine dönüÅtüâden Yetki Sonlandırıldı'ya güncellenir. \n E ⨠S \n \n \n GKD muafiyeti sadece ödeme baÅlatma servislerinde bulunmaktadır. \n \n \n"},{frontmatter:{},regularPath:"/v2.0.0/contents/tanim-ve-kisitlamalar.html",relativePath:"v2.0.0/contents/tanim-ve-kisitlamalar.md",key:"v-bfbd2b46",path:"/v2.0.0/contents/tanim-ve-kisitlamalar.html",content:" 1.\tTanım ve Kısaltmalar \n Tablo 1: Tanım ve Kısaltmalar \n \n \n \n Kısaltma \n Tanım \n Açıklama \n İngilizce Açıklama \n İngilizce Kısaltma \n \n \n \n \n ÃS \n Ãerçeve SözleÅme \n Ãdeme hizmeti saÄlayıcısı ile müÅteri arasında tekil veya süreklilik arz eden ödeme iÅlemlerinin yürütülmesine ve mümkün olan durumlarda ödeme hesabının açılmasına iliÅkin usul ve esasları belirleyen sözleÅme \n \n \n \n \n EPK \n Elektronik Para KuruluÅu \n Kanun kapsamında elektronik para ihraç etme yetkisi verilen tüzel kiÅi \n Electronic Money Institution \n EMI \n \n \n FAST \n Fonların Anlık ve Sürekli Transferi \n TCMB tarafından iÅletilen Fonların Anlık ve Sürekli Transferi Sistemi \n \n \n \n \n FAST TR-Karekod \n FAST-TR Karekod Teknik İlke ve Kurallar Rehberi \n TR Karekodâun FAST Sistemi aracılıÄıyla gerçekleÅecek iÅlemlerde kullanılmasına iliÅkin detaylı teknik ilke ve kurallarını içeren doküman \n \n \n \n \n GEÃİT \n BKM API Geçidi \n Bankalararası Kart Merkezi (BKM) tarafından geliÅtirilen ve taraflara standart Açık Bankacılık iÅlemleri sunulmasını saÄlayan API Geçidi uygulaması \n \n \n \n \n GKD \n Güçlü Kimlik DoÄrulama \n Kimlik doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin bildiÄi, sahip olduÄu veya biyometrik bir karakteristiÄi olan bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntem \n Strong Customer Authentication \n SCA \n \n \n İB \n İÅlem Bilgisi \n GerçekleÅtirilen iÅleme iliÅkin iÅlem zamanını, iÅlemin niteliÄini ve ödeme iÅlemi için ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve ödemenin göndereni ile alıcısını veya toplu ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve göndereni ile alıcılarını içeren bilgi \n \n \n \n \n İDK \n İÅlem DoÄrulama Kodu \n Kimlik doÄrulama yöntemlerinden biriyle kendisini sisteme tanıtan bir müÅterinin gerçekleÅtirmek istediÄi
16iÅleme özgü olmak ve belirli bir geçerlilik süresi içinde iÅlem onayında kullanılmak üzere oluÅturulan, finansal sonuç doÄrunan iÅlemlerde kiÅiye onay anında ilgili iÅlem bilgisi (İB) ile birlikte gösterilen, alıcı veya tutarın deÄiÅmesiyle geçersiz hale gelen bilgi \n Authentication Code \n AC \n \n \n KOLAS \n Kolay Adresleme Servisi \n Fon transferlerinde hesap numarası ile ad soyad yerine kullanılan ve belirli bir hesap ile eÅleÅtirilmiÅ telefon numarası, e-posta adresi, T.C. Kimlik Numarası (TCKN), Vergi Kimlik Numarası (VKN), Yabancı Kimlik Numarası veya Pasaport Numarası gibi Kolay Adres bilgilerinin kaydedilmesini, güncellenmesini ve sorgulamasını saÄlayan katman servis \n \n \n \n \n HBHS \n Hesap Bilgisi Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (g) bendinde tanımlanan ödeme hizmetini (hesap bilgisi hizmetini) sunan tüzel kiÅi \n Account Information Service Provider \n AISP \n \n \n HHS \n Hesap Hizmeti SaÄlayıcısı \n Nezdinde ödeme hesabı bulunan ödeme hizmeti saÄlayıcısı \n Account Servicing Payment Service Provider \n ASPSP \n \n \n ÃBHS \n Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (f) bendinde tanımlanan ödeme hizmetini (ödeme emri baÅlatma hizmetini) sunan tüzel kiÅi \n Payment Initiation Service Provider \n PISP \n \n \n ÃDK \n Ãdeme KuruluÅu \n Ãdeme hizmeti saÄlamak ve gerçekleÅtirmek için Kanun kapsamında yetkilendirilmiÅ tüzel kiÅi \n Payment Institution \n PI \n \n \n ÃH \n Ãdeme Hesabı \n Ãdeme hizmeti kullanıcısı adına açılan ve ödeme iÅleminin yürütülmesinde kullanılan hesap \n Payment Account \n PA \n \n \n ÃHK \n Ãdeme Hizmeti Kullanıcısı (MüÅteri) \n Gönderen, alıcı veya her ikisi sıfatıyla belirli bir ödeme hizmetinden faydalanan gerçek veya tüzel kiÅi \n Payment Service User \n PSU \n \n \n ÃHS \n Ãdeme Hizmeti SaÄlayıcısı \n 5411 sayılı Kanun kapsamındaki bankalar, EPK, ÃDK ve Posta ve Telgraf TeÅkilatı Anonim Åirketi(PTT) \n Payment Service Provider \n PSP \n \n \n ÃHVPS \n Ãdeme Hizmetleri Veri PaylaÅım Servisleri \n Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri \n \n \n \n \n PÃS \n Perakende Ãdeme Sistemi \n TCMB tarafından iÅletilen, iÅlemlerin Türk Lirası üzerinden gerçekleÅtiÄi MüÅteriler Arası Türk Lirası Aktarım Sistemi \n \n \n \n \n TR-Karekod \n TR-Karekod İlke ve Kuralları \n Ulusal karekod (TR Karekod) ilke ve kurallarının belirlendiÄi belge \n \n \n \n \n YÃS \n Yetkili Ãdeme Hizmeti SaÄlayıcısı \n Ãdeme emri baÅlatma hizmeti ve/veya hesap bilgisi hizmeti sunan tüzel kiÅi \n Third Party Payment Service Providers \n TPP \n \n \n \n"},{frontmatter:{},regularPath:"/v2.0.0/deneyalani/genel-bilgiler.html",relativePath:"v2.0.0/deneyalani/genel-bilgiler.md",key:"v-48365a59",path:"/v2.0.0/deneyalani/genel-bilgiler.html",content:" GENEL BiLGİLER: \n ÃHVPS API İlke ve Kuralları dokümanına istinaden geliÅtirmelerini yapan/yapacak olan katılımcılar geliÅtirdikleri sürüme ait APIâlerin nasıl çalıÅtıklarını görmek istediklerinde âDeney Alanıâ üzerinden gözlem yapabilirler. Bu kapsamda, Deney Alanı katılımcılara tarayıcı üzerinden statik verilerle iÅlem baÅlatarak, dönen yanıtı inceleme imkanı sunar. \n Deney Alanı ile sunulan imkanlar Åu Åekildedir: \n \n Servisler durum bilgisi içermeyecek Åekilde (stateless) olarak sunulmaktadır. \n Güçlü Kimlik DoÄrulama akıÅlarında kurum özelinde oluÅturulan yetkilendirme kimlik bilgilerine ihtiyaç duyulmamaktadır. \n Yanıt veri kümesi statiktir. Servislere yapılan istekler, her zaman aynı yanıtı dönmektedir. \n Yeni oluÅturma, güncelleme, silme iÅlemleri kaynak veri üzerinde deÄiÅiklik yapmamaktadır. \n Deney alanı genelin kullanımına açıktır. Ãyelik kaydı olmaksızın Deney Alanı üzerinden API incelemeleri gerçekleÅtirilebilmektedir. \n API dokümanında yapılacak minor deÄiÅiklikler deney alanına yansıtılmayacaktır. \n \n Not: Deney Alanıânın kapsamı geniÅletilmiÅ versiyonu â âBKM ÃHVPS Simülatörâ uygulaması hem HHS hem de YÃS katılımcılarının; test uygulamalarını uçtan uca test edebilebileceÄi bir ortamdır. Simülatör uygulaması üzerinden dinamik veri giriÅi yaparak, geliÅtirilen servisler ile zorunlu senaryoların tümünün simülasyonu gerçekleÅtirilebilir. Simülatör ortamındaki APIâler, üretim ortamının bir kopyası olacak Åekilde oluÅturulmuÅtur ve kurumların üretim ortamına hazır hale gelmelerine aracılık eder. Bu uygulama, pürüzsüz bir üretim ortamı geçiÅi imkanı saÄlar ve ÃHVPS BKM Teknik Sertifikasyonu geçmek için koÅulması gereken sertifikasyon senaryoları BKM ÃHVPS Simülatörâü üzerinden sunulmaktadır. BKM Simülatör kullanımı için ayrı bir süreç iÅletilmekte olup daha fazla detaylı bilgi almak için [email protected] adresine taleplerinizi iletmeniz gerekmektedir. \n Ãdeme Emri BaÅlatma API Deney Alanı \n"},{frontmatter:{},regularPath:"/v2.0.0/deneyalani/duzenli-odeme-emri-api.html",relativePath:"v2.0.0/deneyalani/duzenli-odeme-emri-api.md",key:"v-e73a02ea",path:"/v2.0.0/deneyalani/duzenli-odeme-emri-api.html",content:" \n \
16n "},{title:"5.\tGüçlü Kimlik DoÄrulama",frontmatter:{},regularPath:"/v2.0.0/contents/gkd.html",relativePath:"v2.0.0/contents/gkd.md",key:"v-24f9d8c6",path:"/v2.0.0/contents/gkd.html",headers:[{level:2,title:"5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama",slug:"_5-1-yonlendirmeli-guclu-kimlik-dogrulama"},{level:2,title:"5.2.\tAyrık Güçlü Kimlik DoÄrulama",slug:"_5-2-ayrık-guclu-kimlik-dogrulama"},{level:3,title:"5.2.1\tStatik Model",slug:"_5-2-1statik-model"},{level:2,title:"5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi",slug:"_5-3-yonlendirme-bildirim-adresleri-ve-durum-kodu-parametresi"},{level:2,title:"5.4 Güçlü Kimlik DoÄrulama Kontrolleri",slug:"_5-4-guclu-kimlik-dogrulama-kontrolleri"}],content:" 5.\tGüçlü Kimlik DoÄrulama \n MüÅteri için güçlü kimlik doÄrulama, ÃHKânın (müÅterinin) kimliÄinin doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin âbildiÄiâ, âsahip olduÄuâ veya âbiyometrik bir karakteristiÄi olanâ bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntemi tanımlar. \n Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄ uyarınca hesap bilgisi hizmetinde müÅterinin onayının alınması esnasında ve ödeme emri baÅlatma hizmetinde her bir ödeme emri baÅlatma iÅleminde HHS tarafından müÅteriye güçlü kimlik doÄrulama (GKD) uygulanması esastır. Buna göre: \n \n \n Hesap bilgisi hizmetinde ÃHKânın onayının alınması esnasında TebliÄin 26 ncı maddesinin 1 inci fıkrası uyarınca HHS tarafından ÃHKâya GKD uygulanır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 2 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanır ve iÅlem doÄrulama kodu ile ÃHKânın onayı alınır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 3 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanmasına iliÅkin istisna veya ilave güvenlik önlemleri iÅbu API İlke ve Kuralları belgesinde tanımlanır. \n \n \n HHS, güçlü kimlik doÄrulama sürecinde ÃHKânin sahip olduÄu bileÅen sınıfı olarak SMS OTP ya da SMS ile iÅlem doÄrulama kodu kullanabilir. \n \n \n HHS, aÅaÄıdaki hallerde veya TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre tek bileÅen ile kimlik doÄrulama yapabilir. \n \n Ãdemenin göndereni ve alıcısının aynı olması, \n Daha önce tanımlanmıŠgüvenli alıcılar listesine ödeme yapılması, \n ÃHKânin talimatına istinaden gerçekleÅtirilen düzenli bir ödeme olması. \n \n \n \n Tek bileÅen ile kimlik doÄrulama yapılan bu iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin müÅteri tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye ait olur. \n \n \n İÅlem DoÄrulamada TebliÄin 3 üncü maddesinin birinci fıkrası ÄÄ bendindeki iÅlem bilgisi tanımına uygun olarak aÅaÄıdaki bilgiler ile TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde tanımlanan iÅleme özel üretilmiÅ iÅlem doÄrulama kodu birlikte kullanılır. \n \n Alıcı Unvan (Kolas akıÅında maskeli olarak) (ödeme emri baÅlatma hizmeti) \n Tutar (ödeme emri baÅlatma hizmeti) \n Referans bilgisi (8 karakterden küçük ise alanın tüm deÄeri, büyük ise ilk 4 ve son 4 hanesi) \n \n İÅleme ait yukarıdaki bilgilerden en az biri deÄiÅtiÄi zaman TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde belirtildiÄi gibi yeni bir iÅlem doÄrulama kodu üretilecek Åekilde akıŠkurgulanmalıdır. \n \n \n İÅlem doÄrulama kodunun gönderilmesinden HHS sorumludur. HHS, TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre iÅlem doÄrulama kodu kullanmaksızın ÃHKânın onayını alabilir. İÅlem doÄrulama kodu kullanılmayan iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin ÃHK tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye aittir. \n \n \n ÃHVPS API İlke ve Kuralları kapsamında iki adet Güçlü Kimlik DoÄrulama (GKD) yöntemi kullanılacaktır: \n \n Yönlendirmeli (Redirect) GKD Yöntemi \n Ayrık (Decoupled) GKD Yöntemi \n \n \n \n Hem web hem mobil uygulama hizmeti bulunan katılımcılar için her iki uygulama özelinde de yönlendirme yapılması zorunludur. Web ya da mobil uygulamalardan sadece birinin olması durumunda ilgili uygulama özelinde yönlendirme yapılması zorunludur. \n 5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama \n Yönlendirmeli GKD Yönteminde, müÅteri kimlik doÄrulama için YÃS tarafından HHS arayüzüne yönlendirilir. \n MüÅteri HHSâye (uygulama veya web arayüzü vasıtasıyla) yönlendirildikten s
16onra müÅterinin güçlü kimlik doÄrulaması adım adım ve doÄrudan HHS ile müÅteri arasında yürütülür. GKDânin tamamlanmasından sonra müÅteri tekrar YÃS uygulamasına yönlendirilir. \n Yönlendirmeli GKD Yöntemi için üst düzey örnek iÅ akıÅı aÅaÄıdaki adımlardan oluÅur: \n \n YÃS, GKD için HHS tarafından tanımlanan arayüze (tarayıcı ya da uygulama) yönlendirme yapar. \n MüÅteri, YÃS arayüzünden ayrılır, yönlendirildiÄi HHS arayüzü üzerinde kimlik doÄrulama iÅlemlerini gerçekleÅtirir. \n GKD tamamlandıktan sonra müÅteri, YÃS arayüzüne tekrar yönlendirilir ve iÅlem sonucu görüntülenir. \n \n Yönlendirmeli GKD için temel gereklilikler Åunlardır: \n \n Ãdeme hizmeti (hesap bilgisi veya ödeme emri baÅlatma hizmeti) tarayıcı ya da uygulama tabanlı bir Åekilde sunulabilir. Web ya da mobil uygulamalardan sadece birinin olması durumunda ilgili uygulama özelinde yönlendirme yapılması zorunludur. \n \n Tarayıcı Tabanlı Yönlendirme \n Yönlendirmeli GKD Yönteminde; rıza isteÄine baÅarılı yanıt alındıktan sonra, ÃHK, kimlik doÄrulama için YÃS tarafından HHS arayüzüne yönlendirilir.\nYÃS, yönlendirme akıÅını kendi sunucusundan karÅılayacaÄı bir istek ile baÅlatmalıdır. YÃS web arayüzündeki bu yapı, 302 yanıt kodu ve yanıt baÅlıÄındaki Location deÄeri ile ÃHK tarayıcısını HHS adresine yönlendirmelidir. Bu sayede GKD, HHS tarafında baÅlayabilir. \n YÃS tarafındaki yönlendirme servisi için örnek response; \n HTTP/1.1 302 Found\nLocation: {{hhsYonAdr}}\n \n ÃHK, HHSâye (app veya web arayüzü vasıtasıyla) yönlendirildikten sonra ÃHK'nin güçlü kimlik doÄrulaması HHS ile ÃHK arasında yürütülür. GKDânin tamamlanmasından sonra ÃHK tekrar YÃS uygulamasına yönlendirilir. \n HHS, yönlendirme akıÅını kendi sunucusundan karÅılayacaÄı bir istek ile baÅlatmalıdır. HHS web/app arayüzündeki bu yapı, ÃHK'nin oturumunu güvenli bir Åekilde kapatmalıdır. Ardından 302 yanıt kodu ve yanıt baÅlıÄındaki Location deÄeri ile ÃHK tarayıcısını YÃS adresine yönlendirmelidir. \n HTTP/1.1 302 Found\nLocation: {{yosYonAdr}}&rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=O\n \n HHSânin web arayüzüne, \n \n HHSânin mobil uygulamasının olmadıÄı, \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) sunduÄu mobil cihazda HHS uygulamasının yüklü olmadıÄı, \ndurumlarda yönlendirme yapılır. \n \n YÃSâün mobil uygulaması varsa mobil cihazda uygulamadan tarayıcıya, YÃSâün mobil uygulaması yoksa ödeme hizmetinin sunduÄu cihazda (KiÅisel Bilgisayar veya Mobil Cihaz) tarayıcı üzerinden yönlendirme yapılır. \n Uygulama Tabanlı Yönlendirme \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) YÃSâün mobil uygulaması ile kullanıyorsa, aynı mobil cihazda HHSânin mobil uygulamasının yüklenmiÅ olması durumunda, ÃHK doÄrulamasının HHS mobil uygulaması tarafından yapılması için uygulama tabanlı yönlendirme yapılır. Böylece ÃHK, ödeme hizmetine eriÅim için HHSânin mobil kanalına eriÅim sırasında kullandıÄı doÄrulama yöntemini ile doÄrulanabilir. \n HHS'nin mobil uygulaması olması durumunda hhsYonAdr olarak universal link kullanması gerekmektedir. \n Tablo 5: Yönlendirmeli Güçlü Kimlik DoÄrulama Kanalları \n \n \n \n DoÄrulama Yöntemi \n YÃS Olası Ortam \n HHS Olası Ortam \n \n \n \n \n Tarayıcı Tabanlı Yönlendirme \n KiÅisel Bilgisayar (masaüstü, dizüstü)/Mobil Cihaz \n KiÅisel Bilgisayar (masaüstü, dizüstü) / Mobil Cihaz \n \n \n Uygulama Tabanlı Yönlendirme \n Mobil Cihaz \n Mobil Cihaz \n 5.2.\tAyrık Güçlü Kimlik DoÄrulama \n Ayrık Güçlü Kimlik DoÄrulama, bir kullanıcının kimliÄinin, bir iÅlem baÅlatıldıktan sonra ayrı bir Åekilde doÄrulandıÄı yönteme verilen addır. Bu GKD modelinde, kimlik doÄrulama iÅlem sürecinden \"ayrıÅtırılmıÅtır\". Kullanıcılar, baÅka bir arayüze yönlendirilmek yerine ( tarayıcı veya uygulama tabanlı yönlendirme gibi), ayrı bir kanal üzerinden (telefonlarında bir uygulama bildirimi gibi) iÅlemi doÄrulamaları için bildirim alır.\nKullanıcı, iÅlemi tamamen ayrı bir cihaz veya uygulama kullanarak doÄrulayabilir. \n İlk fazda Ayrık GKD'de QRâlı modeller kullanılmayacaktır. \n Ayrık GKD uygulamalarının farklı örnekleri bulunmaktadır. Ancak yaygın olan yaklaÅım, bir web arayüzü ve bir mobil uygulamanın komb
16inasyonunu kullanmayı içerir. \n Mobil uygulaması bulunan HHS'ler için Ayrık GKD desteklenmesi zorunludur. HHSânin web olduÄu durumda Ayrık GKD akıÅı uygulanmayacaktır. Mobil uygulaması bulunup müÅteri özelinde mobil aktiflik kontrol süreci HHS inisiyatifindedir. Ayrık GKD sürecinde HHS tarafında sadece mobil uygulama üzerinden GKD yapılmalıdır. ÃHKânın web uygulamasına yönlendirme yapmaması gerekmektedir. \n YÃS rolünde Ayrık GKD akıÅının ÃHKâya sorularak baÅlatılmasına gerek bulunmamakla beraber bu bilginin ÃHKâya sorulması YÃS inisiyatifindedir. YÃS olarak, Ayrık GKD iÅ akıÅları kapsamında ÃHKâya ayrık GKD öncesi HHS mobil uygulamasının varlıÄı sorularak (bildirim ayarlarının açık olması gerektiÄi bilgisi de verilebilir) ilerlenebilir. Aynı zamanda Ayrık GKD ile rıza sürecinin baÅlatılması zorunlu deÄildir. Rıza süreci baÅlatılırken yetkilendirme yöntemi YÃS inisiyatifindedir. \n Ãrnek bir akıŠÅu Åekildedir: \n \n İÅlem BaÅlatma (YÃS Web/Mobil Arayüzü): ÃHK bir iÅlemi YÃSâün web/mobil arayüzünde baÅlatır. YÃS uygulaması, ÃHK'nın tekil bir kullanıcı kimliÄini rızaya ekleyerek bir rıza baÅlatma iÅlemini HHSâye iletir. HHS, tekil kullanıcı kimliÄini kullanarak ÃHK'nın mobil uygulamasına bir bildirim gönderir. \n Kimlik DoÄrulama İsteÄi (HHS Mobil Uygulama): ÃHK Mobil uygulama bildirimi alır ve mobil uygulama ÃHK'ya kimlik doÄrulama isteÄi sunar. HHSânin BDDK tarafından belirlenmiÅ GKD yöntemlerine uygun davranması beklenmektedir. \n Kimlik DoÄrulama Onayı (HHS Mobil Uygulama): Mobil uygulama, ÃHKânın kimlik doÄrulama giriÅimini doÄrular. BaÅarılı olursa rıza onayı sonrası mobil uygulama, 'Ayrık Yetkilendirme BaÅarılı' olay bildirimini YÃSâe gönderir. \n İÅlem Onayı (YÃS Web/Mobil Arayüzü): YÃS, HHS'den gelen 'Ayrık Yetkilendirme BaÅarılı' olay bildirimine konu olan rızayı kullanarak yetkilendirme koduna eriÅir. Bundan sonraki süreç eriÅim belirteci alınması servisi ile devam eder. \n \n Ayrık Güçlü Kimlik DoÄrulamanın Olay Bildirim Servisleri ile olan BaÄımlılıkları \n Ayrık GKD sürecinde; HHS'nin yetkilendirme kodunu YÃS'e iletmesi için gerekli önkoÅul olan ÃHK doÄrulaması adımının tamamlanmasını olay bildirimi ile YÃS'e yapması gerekmektedir.\nBu nedenle YÃS'lerin eÄer Ayrık GKD sürecini destekleyecek ise; /olay-dinleme endpointini açarak olay bildirimi alması zorunludur. \n Ãzetle: \n Yönlendirmeli GKD \n \n HHS mobil uygulaması olması durumunda yönlendirme adresi olarak universalLink kullanmalı. \n Bu link tanımı uygulama var ise uygulamayı aç yoksa webden devam et Åeklinde olmalı. \n YÃSâün mobilden mi webden mi geldiÄi HHS açısından önemli deÄildir. HHS olarak YÃS hangi adresi yonAdr deÄerinde göndermiÅ ise yetkilendirme süreci bittiÄinde o adrese yönlendirme yapılmalıdır. \n \n Ayrık GKD \n \n Mobil uygulaması bulunan HHS'ler için Ayrık GKD desteklenmesi zorunludur. HHSânin web olduÄu durumda Ayrık GKD akıÅı uygulanmayacaktır. Mobil uygulaması bulunup müÅteri özelinde mobil aktiflik kontrol süreci HHS inisiyatifindedir. Ayrık GKD sürecinde HHS tarafında sadece mobil uygulama üzerinden GKD yapılmalıdır. ÃHKânın web uygulamasına yönlendirme yapmaması gerekmektedir. \n ÃHKânin Mobil uygulamasının olmadıÄını tespit edebildiÄiniz her durum için rıza oluÅturma aÅamasında âTR.OHVPS.Business.CustomerMobileApplicationNotFoundâ hatası döülür. \n HHS, ÃHKânın mobil uygulamasının bulunmadıÄı bilgisine ulaÅamazsa kendisinin belirleyeceÄi bildirim yöntemlerinden biri ile ÃHKâye bilgilendirme yapar. Bildirim yöntemi SMS ise ÃHKâya mobil uygulamasını açtıracak Åekilde adres iletir, Web uygulamayı açtıracak bir link iletilmemelidir. ÃHK bu bildirimi dikkate almazsa/alamazsa veya ÃHKâda mobil uygulama yok ise bu durumda rıza süre aÅımından iptal olur. \n ÃHK mevcut bankacılık iÅlemlerinde bildirimi nasıl gönderiyorsanız (ÃrneÄin: Anlık bildirim gönderildi, alınmadı, SMSâe dönüldü gibi.) aynı Åekilde bildirim göndererek ÃHKânin uygulama üzerinden rızayı onaylaması beklenir. Buradaki akıŠHHSânin diÄer ürünleri için verdiÄi müÅteri deneyimi ile paralel olmalıdır. \n 5.2.1\tStatik Model \n YÃS'ün ÃHK'yı tanıdıÄı ve ÃHK'ya ait tanımlayıcı bilgileri HHS'ye aktarabildiÄi durumda kullanılmaktadır. Buradaki ÃHK'ya ait tanımlayıcı bilgiler TCKN, MNO , YKN, PNO, GSM, IBAN olarak belirlenmiÅtir. \n AkıŠaÅaÄıdaki gibi kurgulanmıÅtır: \n \n \n \n ÃHK, YÃS uygulaması üzerinde iÅlem baÅlatır. \n \n \n ÃHK, YÃS uygulaması içerisinde, farklı bir ortam üzerinden HHS doÄrulamasını gerçekleÅtirmek istediÄini belirtir. ÃHK'yı tanıma tip ve deÄerleri YÃS ÃHK'dan talep edebileceÄi gibi, YÃS sisteminde hali hazırda kayıtlı bilgilerle de akıÅı devam ettirebilir. \n \n \n ÃHK, YÃS'ün müÅterisi ve YÃS uygulamasına login ise tek seferlik ödeme akıÅı baÅlatamaz. \n \n \n YÃS tarafından baÅlatılan tek seferlik bir Ãdeme iÅleminin Ayrık GKD ile onaylanacaÄı durumda;\nYÃSâün ilgili kullanıcıya ait âÃHK Tanım DeÄerâ verisinin yanında iÅleme ait ve ilgili ÃHK ile eÅleÅtirilmiÅ olan ve sadece YÃS ile ÃHKânın bilebileceÄi bir deÄerin daha ÃHK tarafından saÄlanması ve YÃS tarafından kontrol edilerek eÅleÅen Ãdeme emrinin HHSâye iletilmesi gerekmektedir. ÃrneÄin; bu deÄer YÃS tarafında yapılan tek seferlik ödeme iÅlemine ait fatura numarası. \n \n \n YÃS önyüzde ÃHK'dan aldıÄı ohkTanimTip ve ohkTanimDeger deÄ
16erlerini kimlik tür ve kimlik deÄeri alanlarına atamamalıdır. \n \n \n YÃS, ayrık GKD ile iÅlem baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\"=\"01\" parametresi ile alabilir. \n \n \n YÃS, ÃHK bilgileri ile rıza oluÅturur. Rıza nesnesi içerisinde yer alan GKD nesnesinde ilgili parametreler aÅaÄıdaki Åekilde doldurulur: \n \n \n ohkTanimTip ve ohkTanimDeger parametreleri \nBu metodda; ayrikGkd nesnesi içerisindeki \"ohkTanimTip\" parametresi TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden TCKN, MNO , YKN, PNO, GSM, IBAN deÄerlerinden birini alabilir. ohkTanimDeger parametresi de seçilen tipe ait ÃHK'ya ait deÄeri içermelidir.Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin olduÄu durumlarda; ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır.Kimlik alanı içermeyen tek seferlik ödeme emri akıÅlarında bu kural geçerli deÄildir. GSM ve IBAN deÄerleri sadece tek seferlik ödemelerde kullanılabilir. \n YÃS'ten ohkTanimTip olarak gelen IBAN bilgisi sadece ÃHK'yı tanımak için kullanılabilir. Tanım tipi IBAN ile baÅlatılan bir iÅlemde ÃHK, baÅka bir IBAN ile ödeme baÅlatabilir. \n Kurumsal müÅteriler için kmlkTur ve kmlkVrs alanları ohkTanimTip ve ohkTanimDeger alanlarında gönderilmelidir. \n \n \n yetYntm parametresi \nyetYntm parametresi Ayrık GKD akıÅını ifade eden \"A\" deÄerini almalıdır. \n \n \n \n \n Ãrnek bir istek : \nPOST/ohvps/obh/s2.0/odeme-emri-rizasi \n RizaNesnesi \n {\n...\n \"gkd\": {\n \"yetYntm\": \"A\",\n \"ayrikGkd\" :{\n \"ohkTanimTip\" : \"TCKN\" \n \"ohkTanimDeger\": \"11232123212\"\n } \n },\n...\n}\n \n \n \n YÃS, ayrık GKD ile iÅlem baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\":\"01\" parametresi ile alabilir.\nYÃS, ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.DecoupledAuthenticationNotSupported hatası iletilmelidir. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n \n \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında hata mesajı vermelidir. HHS tarafından TR.OHVPS.Business.CustomerMobileApplicationNotFound hatası iletilmelidir. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. HHS, ÃHKânın mobil uygulamasının bulunmadıÄı bilgisine ulaÅamazsa kendisinin belirleyeceÄi bildirim yöntemlerinden biri ile ÃHKâye bilgilendirme yapar. Bildirim yöntemi SMS ise ÃHKâya mobil uygulamasını açtıracak Åekilde adres iletir, Web uygulamayı açtıracak bir link iletilmemelidir. \n \n \n HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından TR.OHVPS.Business.EventSubscriptionNotFound hata kodu iletilmelidir. \n \n \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından TR.OHVPS.Resource.InvalidFormat hata kodu iletilmelidir. \n \n \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin olduÄu durumlarda; ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından TR.OHVPS.Business.CustomerInfoMismatch hatası iletilmelidir.\nKimlik alanı içermeyen tek seferlik ödeme emri akıÅlarında bu kural geçerli deÄildir. GSM ve IBAN deÄerleri sadece tek seferlik ödemelerde kullanılabilir. \n \n \n Tek seferlik ödeme iÅlemlerinde \"ohkTanimTip\" = \"GSM\"/\"IBAN\" olarak gönderilmiÅ ise, HHS sisteminde bu GSM/IBAN ile eÅleÅen müÅterileri taramalıdır. GSM/IBAN bilgisi ÃHK bazında tekil bir kullanıcıya eriÅim imkanı saÄlamaz ise TR.OHVPS.Business.InvalidCustomerInfo hatasını iletmelidir. \n \n \n Kontrollerin baÅarılı olması durumunda HHS rızayı oluÅturur ve ÃHK tekil verisi ile ulaÅtıÄı ÃHK'ya bilgilendirme mesajı gönderir. Bilgilendirme mesajı kısa mesaj ya da anlık bildirim mesajı olabilir. ÃHKânın birden fazla cihazda aktivasyonu varsa HHSânin iç süreçlerine göre mevcut durumda nasıl bir bildirim süreci iÅletiliyorsa aynı Åekilde ilerlenebilir. \n \n \n Kurumsal müÅteriler için, hangi kullacıya bildirim gitmesi isteniyor ise, rıza aÅamasında o kiÅi ayrikGkd nesnesinde gönderilir. HHS'nin rıza içerisindeki ohkTur deÄerine göre, gelen bildirime verilen cevaba uygun uygulamasını açmalıdır. Kurumsal ÃHK için rıza geldi ise, kurumsal giriÅ sayfası; bireysel ÃHK için rıza geldi ise bireysel giriÅ sayfası müÅterinin önüne açılmalıdır ve ilgili hesaplara eriÅime izin vermelidir. \n \n \n ÃHK'ya bir bildirim gelmemesi durumunda, HHS kendi sisteminde GKD sürecine devam edemez. 5 dakika sonunda rıza durumu Yetki Bekleniyor'dan Rıza İptal / Süre AÅımı (İptal kod 04) durumuna çeker. \n \n \n \n \n ÃHK, HHS sisteminden gelen bildirim mesajını alır. HHS sistemine login olduktan sonra iÅleme onay verilmezse veya GKD kontrolleri baÅarısız olursa HHS Olay Bildirim servisleri aracılıÄı ile GKD sürecinin sonlandıÄını YÃS'e iletir. Olay tipi \"AYRIK_GKD_BASARISIZ\" olacak Åekilde bir POST /olay-dinleme servis çaÄrısı yapılır.YÃS kendisine gelen olay bildirimi ile\nrıza sorgulaması yaparak iptal detay kodunu öÄrenebilir. \n \n \n ÃHK, HHS sisteminde login olduktan sonra iÅleme onay verirse; HHS tarafından rıza ile iliÅkili yetkod deÄeri üretilir.HHS, YÃS'e ÃHK için \"yetkod\" deÄeri üretildiÄinin bilgisini Olay Bildirim servisleri aracılıÄı ile iletir. Olay tipi \"AYRIK_GKD_BASARILI\" olacak Åekilde bir POST /olay-dinleme servis çaÄrısı yapılır. \n \n \n YÃS kendisine gelen olay bildirimi ile \"yetkod\" deÄerinin HHS'de üretildiÄinin bilgisini alır. \"yetkod\" deÄerini öÄrenebilmek için HHS'yi sorgulaması gerekmektedir. \nHHS'nin açacaÄı GET /yetkilendirme-kodu endpointi ile bu bilgiye eriÅebilir. \n \n \n YÃS, \"yetkod\" ile POST /erisim-belirteci endpointinden eriÅim belirteci alır. Böylelikle ÃHK'nın Ayrık GKD süreci tamamlanmıŠolur. \n 5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi \n CSRF Ataklarından korunmak için ve YÃS uygulamasının bir önceki durumunu restore edebilmesi için; YÃS tarafından iletilen yönlendirme ve bildirim adreslerine , Oauth2 standartlarındaki state parametresine eÅdeÄer, durum ko
16du (drmKod) parametresinin eklenmesi gerekmektedir. Durum kodu parametresi YÃS tarafından üretilen, tekil ve kolay tahmin edilemeyen bir deÄer olmalıdır. Rıza isteÄi gönderimi aÅamasında oluÅturulmalıdır. YÃS uygulamasında uygun bir yerde saklanmalıdır (cookie, session, local storage gibi) . \n Durum kodu, rıza isteÄindeki yönlendirme adresine parametre olarak eklenir. GKD süreci sonrasında yetki kodu ile birlikte bu bilgi, HHS tarafından YÃSâe iletilir. YÃS sakladıÄı deÄer ile parametre olarak gelen deÄerin eÅitliÄini kontrol eder. Aynı ise eriÅim belirteci almak üzere akıÅı ilerletir. Farklı ise iÅlemi keser. \n 5.4 Güçlü Kimlik DoÄrulama Kontrolleri \n ÃHK, GKD için HHS uygulamasına yönlendirildiÄinde, HHSânin çeÅitli kontroller yaparak iÅlemin doÄruluÄunu teyit etmesi gerekmektedir.\nYapılması gereken kontrollere ait temel senaryolar aÅaÄıdaki tabloda belirtilmiÅtir. Bu senaryolar baz alınarak HHSâler tarafından zenginleÅtirilebilir. \n AÅaÄıdaki tabloda yer alan 07-13 arası Rıza İptal Detay Kodlarının oluÅtuÄu senaryolar, HHS uygulamasında yapılan kullanıcı doÄrulama öncesi ve sonrası olarak iki adımda incelenmelidir. \n HHS tarafında, kullanıcı doÄrulama öncesinde yapılan kontroller neticesinde verilemeyen rızalar için â04â : Süre AÅımı : Yetki Bekleniyor iptal kodu atanır. HHS'nin YÃS uygulamasına 04 kodunu iletmesi beklenmez. YÃS zaman aÅımı neticesinde rıza statüsünü sorgulayarak öÄrenir. \nKullanıcı doÄrulandıktan sonra rıza verilemiyorsa ilgili hata kodunun YÃS'e iletilmesi beklenmektedir. Kullanıcı doÄrulama sonrası YÃS'e iletilen rıza iptal detay kodu ile HHS veri modelinde tutulan rıza ile iliÅkili rıza iptal detay kodu, aynı deÄeri alacak Åekilde güncellenmelidir. YÃS, HHS tarafından kendine iletilen rıza iptal detay kodunu kendi veri modelinde güncellemelidir. \n Zorunlu olarak belirtilen hata durumlarının HHSâler tarafından gerçeklenmesi ve uygun hata kodlarının YÃSâe iletilmesi; ileride oluÅabilecek mutabakatlaÅma sorunlarını ortadan kaldırabilecek, yapılacak raporlamalar kapsamında sistem ve süreç iyileÅtirmelerine katkı saÄlayacak, son kullanıcı açısından da alınan hataya yönelik bilgilendirici içerik saÄlayacaktır. \n Hata açıklamaları; hata koduna uygun ya da uyumlu olmak kaydıyla, HHS ve YÃS tarafından farklı Åekillerde sunulabilir. \n GKD Sırasında yapılması gereken kontroller \n \n \n \n Rıza İptal Detay Kodu \n HHS hata açıklaması* \n Yös ekranında listelenecek örnek mesaj metni* \n Ãrnek Senaryo \n Zorunlu / Opsiyonel \n \n \n \n \n 07 \n Rıza mevcut ve durumu \"Yetkilendirildi\" veya \"Yetki Kullanıldı\" \n Yetki Hatası \n ÃHK, kullanıcı doÄrulama iÅlemi tamamlandıktan sonra YÃS ekranında ileri - geri yaparak ya da ÃHK'nın yönlendirme adresini kopyalayarak tarayıcıya yapıÅtırması ile tekrar HHS'ye yönlendirir. Bu durumda HHS bu rıza iptal detay kodunu iletir. HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 08 \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. \n İÅlem gerçekleÅtirilememiÅtir. \n YÃS tarafından baÅlatılan rıza içerisinde yer alan kimlik bilgisi (örn:TCKN) ile HHS'de baÅarılı kimlik doÄrulama yapılan ÃHK'nın bilgilerinin uyuÅmadıÄı durumda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 09 \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) \n Gösterilebilecek hesap/kart bulunamamıÅtır. \n HHS, kullanıcı doÄrulama yaptıktan sonra, ÃHK'nın uygun statülü hesabının olmadıÄı durumda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 10 \n ÃHK'nın Açık Bankacılık kanalı iÅleme kapalı \n ÃHK'nın Açık Bankacılık kanalı iÅleme kapalı \n Açık bankacılıÄı ayrı bir kanal olarak tanımlamıŠHHS'lerde, ÃHK kullanıcı doÄrulama yaptıktan sonra yapılan kontrollerde, ÃHK'nın iÅlemlerini AB kanalına kapatmıŠolması durumunda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Opsiyonel \n \n \n 11 \n ÃHK'nın HHS'deki hesaplarında yeterli yetkisinin olmaması \n Yetki hatası \n 1- Kurumsal firma kullanıcılarının hesaplar üzerinde iÅlem yetkisinin olmaması durumunda 2- Bireysel ortak hesaplarda hesap kısıtı bulunuyorsa (para çıkıÅına izin verilmediÄi durum) HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 12 \n HHSânin, ÃHK özelinde yaptıÄı kontrollerin baÅarısız olması \n Yetki hatası \n HHS'nin, kullanıcı doÄrulama sonrası ÃHK için iç sistemlerinde yaptıÄı kontrollerin baÅarısız olması. ÃrneÄin: MüÅterinin henüz bankacılık hizmet sözleÅmesi gibi Internet Åubesi üzerinde iÅlem yapmasını engelleyen eksikleri olması durumunda veya kurumsal kullanıcıda vekalet süresinin dolması/eksik doküman olması durumunda kanal üzerinde iÅlem yapamadıÄı durum HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Opsiyonel \n \n \n 13 \n ÃHK isteÄi ile GKDâden vazgeçilmesi \n MüÅteri iÅlemden vazgeçmiÅtir. \n HHS ekranında yer alan VAZGEà butonuna basılması durumu (ÃHK,HHS uygulamasında kullanıcı doÄrulama yaptıktan sonra VAZGEà butonu olabilir.) \n Zorunlu \n \n \n 14 \n GKD İptali: Fraud Åüphesi \n İÅlem gerçekleÅtirilememiÅtir. \n HHS Fraud Åüphesi nedeniyle iÅlemin devamına izin vermez. HHS'nin, fraud kontrollerinin ödeme baÅlatma hizmeti için yapması ve â14- GKD İptali: Fraud Åüphesiâ ile rıza iptalini gerçekleÅtirmelidir. HBH servislerinde HHS'nin rıza iptal kodu 14 ile iÅlemi kesmesi HHS'nin kendi insiyatifindedir yani opsiyoneldir. \n KoÅullu \n \n \n 99 \n DiÄer \n İÅlem gerçekleÅtirilememiÅtir. \n OluÅabilecek diÄer senaryolar. \n Zorunlu \n \n \n \n GKD sırasında iletilen rıza no eÄer HHSânin sisteminde bulunamazsa durumu güncellenecek bir rıza no da olmayacaktır. HHS kendi önyüzünde bu duruma uygun bir mesaj gösterebilir. YÃSâe de DiÄer hata kodu ile bu durumu iletebilir. \n"},{title:"3. Temel Prensipler",frontmatter:{},regularPath:"/v2.0.0/contents/temel-prensipler.html",relativePath:"v2.0.0/contents/temel-prensipler.md",key:"v-9f53f9d6",path:"/v2.0.0/contents/temel-prensipler.html",headers:[{level:2,title:"3.1 Genel",slug:"_3-1-genel"},{level:2,title:"3.2.\tİstem (ÃaÄrı) ve Oturum",slug:"_3-2-istem-cagrı-ve-oturum"},{level:2,title:"3.3.\tRESTful API",slug:"_3-3-restful-api"},{level:2,title:"3.4.\tSürüm Yönetimi",slug:"_3-4-surum-yonetimi"},{level:2,title:"3.5.\tKaynak URI Yol Yapısı",slug:"_3-5-kaynak-uri-yol-yapısı"},{level:2,title:"3.6.\tKarakter Kodlama",slug:"_3-6-karakter-kodlama"},{level:2,title:"3.7.\tVeri Formatı",slug:"_3-7-veri-formatı"},{level:2,title:"3.8.\tİstemci Sertifika Yönetimi",slug:"_3-8-istemci-sertifika-yonetimi"},{level:2,title:"3.9.\tYetkilendirme Türleri",slug:"_3-9-yetkilendirme-turleri"},{level:2,title:"3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları",slug:"_3-10-istek-cevap-mesajlarında-kullanılan-nesne-yapıları"},{level:2,title:"3.11. Sayfalandırma ve Filtreleme",slug:"_3-11-sayfalandırma-ve-filtreleme"},{level:2,title:"3.12. Mesaj İmzalama",slug:"_3-12-mesaj-imzalama"},{level:2,title:"3.13. Durum Kodu",slug:"_3-13-durum-kodu"},{level:2,title:"3.14. Gereksinimlerinin Sınıflandırılması",slug:"_3-14-gereksinimlerinin-sınıflandırılması"},{level:2,title:"3.15. İstek BaÅlıÄı",slug:"_3-15-istek-baslıgı"},{level:2,title:"3.16. Yanıt BaÅlıÄı",slug:"_3-16-yanıt-baslıgı"},{level:2,title:"3.17. Idempotency Kuralları",slug:"_3-17-idempotency-kuralları"},{level:2,title:"3.18. HTTP Durum Kodları",slug:"_3-18-http-durum-kodları"},{level:2,title:"3.19. Maskeleme Kuralları",slug:"_3-19-maskeleme-kuralları"},{level:2,title:"3.20. Fonksiyonel Olmayan Gereksinimler",slug:"_3-20-fonksiyonel-olmayan-gereksinimler"},{level:2,title:"3.21. Otomatik Sorgular",slug:"_3-21-otomatik-sorgular"}],content:' 3. Temel Prensipler \n Bu bölümde Ãdeme Hizmetleri Veri PaylaÅım Servisleri (Hesap Bilgisi Hizmeti, Ãdeme Emri BaÅlatma Hizmeti) için tanımlanan temel prensipler açıklanmaktadır. \n 3.1 Genel \n \n \n HHSâler YönetmeliÄin 59. maddesinin beÅinci fıkrası ve Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄin (TebliÄ) 23. maddesinin birinci fıkrası uyarınca, ödeme hizmetleri veri paylaÅım servislerini GEÃİT aracılıÄıyla HBHS ve ÃBHSâye sunmakla yükümlüdür. \n \n \n TebliÄin 23. maddesinin ikinci fıkrası uyarınca ödeme emri baÅlatma hizmetinde açık iletiÅim servisinin tarafları ÃBHS ile HHSâdir. \n \n \n TebliÄin 23. maddesinin üçüncü fıkrası uyarınca hesap bilgisi hizmetinde açık iletiÅim servisinin tarafları HBHS ile HHSâdir. \n \n \n YönetmeliÄin 60. maddesinin birinci fıkrası uyarınca müÅteri, ödeme emri baÅlatma hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n YönetmeliÄin 61. maddesinin birinci fıkrası uyarınca müÅteri, hesap bilgisi hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n TebliÄin 25. maddesi uyarınca HHS ve YÃS (ÃBHS ve HBHS) arasında baÄlantı uçtan uca güvenli bir Åekilde saÄlanır. Bu amaçla iletim katmanında TLS (asgari 1.2 sürümü) ile Åifreli iletiÅim saÄlanır. \n \n \n TebliÄin 23. maddesinin dördüncü fıkrası uyarınca HHS tarafından sunulan ödeme hizmetleri veri paylaÅım servislerini kullanan yetkilendirilmiŠödeme hizmeti saÄlayıcılarının TCMB tarafından ilgili ödeme hizmeti için yetkilendirilmiÅ olduÄu kontrol edilir. \n \n \n TebliÄin 25. maddesinin beÅinci fıkrası uyarınca zaman damgası, 15/1/2004 tarihli 5070 sayılı Elektronik İmza Kanunu kapsamında tanımlanan zaman damgasına dayanır. \n \n \n API alan isimleri Türkçe olarak tanımlanmıÅtır. Ancak API baÅlıÄı (header) alanındaki alan isimleri özelinde, API Geçitleri tarafından otomatik olarak tanınabilmesi gözetilerek, İngilizce isimlendirme tercih edilmiÅtir. \n \n \n ÃHK halihazırda ödeme hesaplarına, çevrim içi (mobil bankacılık, internet bankacılıÄı vb.) eriÅebilir durumda ise, HHS\'nin varsa Açık Bankacılık kanal veya yetki tanımını varsayılan deÄeri AÃIK olacak Åekilde sunması gerekmektedir. HHSânin, Bireysel/Kurumsal/Ticari müÅteri ayrımı yapmaksızın tüm müÅterileri için, çevrim içi kanallarda hesap hareketlerine eriÅim ve ödeme yapabilme yetkisi bulunması durumunda, yine aynı Åekilde Açık Bankacılık kanal veya yetki tanımını da varsayılan deÄeri AÃIK olacak Åekilde sunması gerekmektedir. HHS Açık Bankacılık hizmetini kanal/yetki tanımı ile yönetmesi durumunda hizmeti verdiÄi ilgili kanallar(web,mobil) üzerinden müÅterisine Açma/Kapama olanaÄı Åeklinde sunması gerekmektedir. \n \n \n 5411 Sayılı Kanun kapsamındaki bankalar, HHS API içerisinde Aktif durumda listelenmemiÅken, YÃS API içerisinde listelenemezler. \n 3.2.\tİstem (ÃaÄrı) ve Oturum \n \n \n Her istek tekil istek numarası ve ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) içerir. Birden fazla istek içeren iÅlem YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi (istek numarası: X-Request-ID) ve rıza sürecine özgü talep kimliÄi (iÅlem grup numarası: X-Group-ID) deÄerleri kullanılmalıdır. Aynı rıza noâya ait tüm isteklerde aynı X-Group-ID bilgisi deÄeri gönderilmelidir. \n \n \n Oturum takibi ise PSU-Session-ID ile yapılır. Oturum numarası (PSU-Session-ID) ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) ile birlikte ilgili tüm iÅlem verilerini içerecek Åekilde k
16ayıt altına alınır. \n \n \n ÃrneÄin, bir ödeme emri baÅlatma iÅlemi birden fazla istekten oluÅur. Her istek yukarıda belirtildiÄi gibi biricik istek numarası ve ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) içerir. Ancak iÅlemin oturum bütünlüÄü PSU-Session-ID ile saÄlanır. \n \n \n Taraflar açtıkları oturumu iÅlem bütünlüÄünü saÄlayacak süre içerisinde açık tutar ve iÅlem biter bitmez kapatır. \n 3.3.\tRESTful API \n APIâler, dünya ölçeÄinde yaygın bir Åekilde kullanılan Temsili Durum Transferi (Representational State Transfer, REST) mimari tarzı ve JavaScript Nesne Notasyonu (JavaScript Object Notation, JSON) veri formatlarına uygun olarak geliÅtirilir. En üst seviye Veri Tanımlama Dili (Data Description Language) ve en iyi uygulama örnekleri için ^JSON Åeması temel alınır. \n İstek ve yanıt mesajlarında, isteÄe baÄlı veya koÅullu bir alan, deÄer içermiyorsa, bu alan JSON payloadunda yer almamalıdır. \n Ãrnek kod bloÄu. \n "rzBlg":{\n "rizaNo":"aa9bd7e7-0ccd-4edc-9639-5a358dbf2335",\n "olusZmn":"2022-11-28T12:00:21+03:00",\n "gnclZmn":null, --\x3e hatalı\n "rizaDrm":"K",\n "rizaIptDtyKod":"" --\x3e hatalı \n },\n \n Ãrnek kod bloÄu: \n \n "alc":{\n "hspNo": "TR800800004162387689546019",\n "unv": "AHMET YILMAZ", \n "kolas":{} --\x3e nesne gönderimi hatalı\n },\n 3.4.\tSürüm Yönetimi \n API sonraki aÅamalarda doÄabilecek gereksinimleri ve daha karmaÅık kullanım durumlarını karÅılamak için sürümler halinde geliÅtirilir ve bu durum tasarım sırasında göz önünde bulundurulur. \n API v1.0.2 sürümünde ; \n \n Kapsamdaki ödeme hesapları : Vadesiz TL, yabancı para hesapları (gerçek ve tüzel kiÅilere ait ödeme hesapları), Kredili Mevduat Hesabı \n Tekil ödeme (Virman/Havale/FAST/MüÅterilerarası TL Aktarım Sistemi)\n \n Virman ve havale iÅlemleri kapsamında yabancı para transferi yapılabilir. \n \n \n Hesap bilgisi hizmetleri\n \n Temel veya ayrıntılı hesap bilgisi \n Bakiye \n GerçekleÅen iÅlemler için Hesap hareketleri \n \n \n Karekodlu ödemelerdeki 01, 02 ve 03 akıŠtürleri\nyer almaktadır. \n \n API v1.1.0 sürümünde ; \n \n \n API v1.0.2 sürümüne ek Olay Bildirim ve Ayrık GKD özellikleri eklenmiÅtir. Süreçlerin daha iyi iÅlemesi için çeÅitli güncellemeler yapılmıÅtır. \n \n \n API v2.0 sürümünde ileri tarihli ödeme emri, düzenli ödeme emri, hesap bilgisi hizmeti içerisinde kart hizmetleri, YÃS üzerinden rıza güncelleme hizmetine dair güncellemeler eklenmiÅtir. \n \n \n Her sürüm deÄiÅikliÄinde bir önceki sürüm belirli bir süre desteklenecektir. DiÄer bir ifadeyle, sadece belirli bir süre için mevcut ve bir önceki sürüm aynı anda eriÅilebilir olacaktır. \n 3.5.\tKaynak URI Yol Yapısı \n YÃSâlerin baÅlattıÄı çaÄrılarda URI yolu aÅaÄıdaki yapıyı takip eder: \n [hhs-yol-ön-eki]/ohvps/ [kaynak-grubu]/ [sürüm]/ [kaynak]/[kaynak-no]/[alt-kaynak] \n Bu, aÅaÄıdaki unsurlardan oluÅur: \n \n [hhs-yol-ön-eki] \nİsteÄe baÄlı, HHS\'ye özgü yol ön ekini ifade eder. \nGEÃİT üzerinden yapılan çaÄrılarda BKM tarafından belirlenen sistem adı ve yol ön eki kullanılır. \n ohvps \nSabit metin âohvpsâ (Ãdeme Hizmetleri Veri PaylaÅım Servisleri kısaltması) \n [kaynak-grubu] \nKaynak grubu, APIâye eriÅmek için kullanılan ödeme hizmetine (HBH, ÃBH) göre eriÅim adresi (end point) grubunu tanımlar (âhbhâ veya âobhâ). \n [sürüm] \nAPI sürümünü ifade eder (â/s[ana-sürüm].[alt-sürüm]/â). \n [kaynak]/[kaynak-no] \nKaynak detaylarını ifade eder. \n [alt-kaynak] \nAlt kaynak detaylarını ifade eder. \n \n HHS, tüm kaynakları için aynı katılımcı yolu ön ekini ve sistem adını kullanmalıdır. \n BKM APIâlerine eriÅmek isteyen uygulamaların yetkilerine göre aÅaÄıdaki APIâlere abone olmaları gerekmektedir: \n OBH: \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s2.0/odeme-emri-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s2.0/odeme-emri \nHBH: \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesap-bilgisi-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar/1234/islemler \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar/1234/bakiye \nGKD \n https://gecit-api.bkmtest.com.tr/ohvps/gkd/s2.0/erisim-belirteci \nHHS â YÃS API \n https://gecit-api.bkmtest.com.tr/hhs-api/s2.0/hhs \n https://gecit-api.bkmtest.com.tr/hhs-api/s2.0/hhs/1234 \n https://gecit-api.bkmtest.com.tr/yos-api/s2.0/yos \n https://gecit-api.bkmtest.com.tr/yos-api/s2.0/yos/1234 \n HHSâlerin saÄlayacakları APIâlerdeki URI çevrimi örnekleri aÅaÄıdaki gibidir. \n \n https://xbank.com.tr/api-portal/ohvps/obh/s2.0/odeme-emri \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s2.0/odeme-emri (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s2.0/hesap-bilgisi-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesap-bilgisi-rizasi (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s2.0/hesaplar \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s2.0/hesaplar/1234 \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar/1234 (BKM API) \n \n GEÃİT üzerinden yapılan çaÄrılarda, istek baÅlıÄında bulunan âx-aspsp-codeâ (isteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodu) deÄerine göre HHS APIâde standart olarak tanımlanmıŠolan âbasePathâ bilgisine servis uzantısı eklenerek HHSâye yönlendirme yapılır. \n ÃrneÄin, istek baÅlıÄında xbank âın kodu varsa, YÃS tarafından yapılan \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesap-bilgisi-rizasi \nçaÄrısı GEÃİT tarafından karÅılanarak \n https://xbank.com.tr/api-portal/ohvps/hbh/s2.0/hesap-bilgisi-rizasi \nadresine yönlendirilir. \n Bu örnekte, https://xbank.com.tr/api-portal basePath bilgisi HHS tarafından HHS APIâye girilen deÄerdir. \n ÃNEMLİ : URI Query parametreleri GET ile iletilirken deÄerlerde url-encode yapılmalıdır. Ãrnek bir API isteÄi; \nGET /ohvps/hbh/s2.0/hesaplar/xxx/islemler?hesapIslemBslTrh=2023-02-07T16:42:38%2B03:00&hesapIslemBtsTrh=2023-02-07T17:09:18%2B03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfKytSayi=10&syfNo=1 \n Burada \'+\' karakterinin boÅluk olarak algılanmaması için %2B deÄeri ile iletilmiÅtir. \n 3.6.\tKarakter Kodlama \n API istekleri ve yanıtlarının BaÅlık parametrelerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. 3.15. İstek BaÅlıÄı bölümünde detaylandırılmıÅtır. \n API istekleri ve yanıtlarında Gövde parametrelerinde UTF-8 karakter kodlaması kullanılır. Bu, JSON için varsayılan karakter kodlamasıdır. \n Ancak, bir HHS\'nin kendi uygulamaları ve ödeme baÅlattıÄı ödeme sistemi (Havale vb.) bazı UTF-8 karakterlerini kabul etmeyebilir. HHS, UTF-8 kodlaması içeren bir mesajı iÅleyemez ve reddederse, HTTP 400 (Hatalı İstek) durum ko
16du ile yanıt vermelidir. \n ÃHVPS kapsamında iletilen deÄerler içerisinde iÅlenemeyecek karakterler var ise "TR.OHVPS.Business.InvalidCharacter" hatası verilir. \n Gövde parametrelerinde desteklenen UTF-8 karakter kümesi aÅaÄıda listelenmiÅtir. \n \n \n \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n \n \n \n \n \n 20 \n = \n 3d \n X \n 58 \n r \n 72 \n \n \n ! \n 21 \n ? \n 3f \n Y \n 59 \n s \n 73 \n\n 23 \n @ \n 40 \n Z \n 5a \n t \n 74 \n \n \n % \n 25 \n A \n 41 \n [ \n 5b \n u \n 75 \n \n \n & \n 26 \n B \n 42 \n \\ \n 5c \n v \n 76 \n \n \n \' \n 27 \n C \n 43 \n ] \n 5d \n w \n 77 \n \n \n ( \n 28 \n D \n 44 \n ^ \n 5e \n x \n 78 \n \n \n ) \n 29 \n E \n 45 \n _ \n 5f \n y \n 79 \n \n \n * \n 2a \n F \n 46 \n a \n 61 \n z \n 7a \n \n \n + \n 2b \n G \n 47 \n b \n 62 \n { \n 7b \n \n \n , \n 2c \n H \n 48 \n c \n 63 \n } \n 7d \n \n \n - \n 2d \n I \n 49 \n d \n 64 \n à \n c3 87 \n \n \n . \n 2e \n J \n 4a \n e \n 65 \n à \n c3 96 \n \n \n / \n 2f \n K \n 4b \n f \n 66 \n à \n c3 9c \n \n \n 0 \n 30 \n L \n 4c \n g \n 67 \n ç \n c3 a7 \n \n \n 1 \n 31 \n M \n 4d \n h \n 68 \n ö \n c3 b6 \n \n \n 2 \n 32 \n N \n 4e \n i \n 69 \n ü \n c3 bc \n \n \n 3 \n 33 \n O \n 4f \n j \n 6a \n Ä \n c4 9e \n \n \n 4 \n 34 \n P \n 50 \n k \n 6b \n Ä \n c4 9f \n \n \n 5 \n 35 \n Q \n 51 \n l \n 6c \n İ \n c4 b0 \n \n \n 6 \n 36 \n R \n 52 \n m \n 6d \n ı \n c4 b1 \n \n \n 7 \n 37 \n S \n 53 \n n \n 6e \n Å \n c5 9e \n \n \n 8 \n 38 \n T \n 54 \n o \n 6f \n Å \n c5 9f \n \n \n 9 \n 39 \n U \n 55 \n p \n 70 \n \n \n \n \n : \n 3a \n V \n 56 \n q \n 71 \n \n \n \n \n ; \n 3b \n W \n 57 \n \n \n \n \n \n \n \n Ancak EriÅim belirteci, Yenileme belirteci ve Authorization parametreleri daha dar bir karakter kümesi ile doldurulmalıdır. \n Bearer HTTP Authorization Åeması RFC 6750\'de tanımlanmıÅtır. https://www.rfc-editor.org/rfc/rfc6750#section-2.1 bölümünde izin verilen karakterlerin gönderilmesi beklenmektedir. Buradaki standartın her 3 parametre için de uygulanmasına karar verilmiÅtir. \n RFC 6750 içerisinde bearer token formatı Åu Åekildedir : 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"=" \nAugmented BNF for Syntax Specifications (ABNF) ile ifade edilen bu formatta token en az 1 adet alfanumerik karakter veya özel karakter ("-", "." , "_" , "~" , "+" , "/") içermeli ve 0 ya da daha çok sayıda "=" karakteri ile bitmelidir. \n ALPHA = A-Z / a-z aralıÄındaki harflerdir. \nDIGIT = 0-9 aralıÄındaki rakamlardır. \n 3.7.\tVeri Formatı \n \n Açık bankacılık kapsamındaki zaman damgası, ISO 8601 standartına uygun olarak yerel saat bilgisini ve timezone bilgisini de içerecek Åekilde " yyyy-MM-ddâTâHH:mm:ssXXX " formattaki haliyle hazırlanmalıdır. \n \n Ãrnek: "timestamp": "2021-05-30T20:34:15+03:00" \nyyyy : 4 hane yıl \nMM : BaÅa â0â eklenmiÅ, toplam 2 hane ay \ndd : BaÅa â0â eklenmiÅ, toplam 2 hane gün \nHH : BaÅa â0â eklenmiÅ, toplam 2 hane saat (0-23 arası deÄer alabilir.) \nmm : BaÅa â0â eklenmiÅ, toplam 2 hane dakika \nss : BaÅa â0â eklenmiÅ, toplam 2 hane saniye \nXXX : ISO 8601 Time zone \n \n \n Zaman damgası hesaplamalarında, yeni günün baÅlangıç saatinin 00:00:00 olduÄu kabul edilmiÅtir. \n \n \n JWT veri paketlerinde kullanılan zaman damgaları, 1 Ocak 1970 Saat 00:00:00 (UTC) anından itibaren geçen saniye sayısı deÄerini (Unix Time) kullanmalıdır. \n \n \n Bir HHS, tarihi yanlıŠbiçimlendirilmiÅ bir istek aldıÄında, 400 (Hatalı İstek) durum kodu ve ilgili hata kodu ile yanıt vermelidir. \n \n \n ISO 4217 Standartında para birimleri ve kaç basamak ondalık deÄer içerebilecekleri belirlenmiÅtir. \n https://www.iso.org/iso-4217-currency-codes.html adresinden ücretsiz olarak listeye eriÅilebilir. \nAPI Standartlarında da para birimleri ISO 4217âde tanımlanmıŠolan 3 harfli kodlarla iletilir. Tüm tutar alanları ISO 4217\'de tanımlanmıŠpara birimlerinin ondalık basamak deÄerleri de göz önünde bulundurularak iletilmelidir. Tutar alanları artı ya da eksi deÄer alabileceÄi için API deseninde tanımlanmıŠregular expressionlar dikkate alınmalıdır. \nÃrneÄin; Bakiye API\'sindeki "Kredili Mevduat Hesabı Bakiyesi" alanı "-100.25" ve "Para Birimi" alanı "TRY" olarak
16iletildiÄinde 25 deÄerinin kuruÅ olduÄu anlaÅılmalıdır. \nÃdeme Emri Rızası API\'sinde yer alan "İÅlem Tutarı" alanı "104.75" TRY olarak iletildiÄinde "75" deÄerinin kuruÅ olduÄu anlaÅılmalıdır. \n"12000" Japon Yeni için, ISO 4217âde JPY para biriminin ondalık kısmı olmadıÄından "İÅlem Tutarı" alanında "12000" ve "Para Birimi" alanında "JPY" deÄeri iletilmelidir. \n \n \n Altın para birimi özelinde ISO 4217âye uygun olarak "XAU" cinsinde ve 2 basamak ondalık rakam içerecek Åekilde iletilmelidir. ÃrneÄin içerisinde "13,50 gr" altın olan hesap için bakiye "13.50", para birimi "XAU" olarak gönderilmelidir. \n \n \n DiÄer madenlerde ondalık basamak ISO 4217 standartında tanımlandıÄı gibi olmalıdır. \n \n \n Sıralı veri tipleri büyük küçük harfe duyarlı olmalıdır. \n 3.8.\tİstemci Sertifika Yönetimi \n ÃHVPS kapsamında YÃS ve HHSâlerin güvenli bir Åekilde tanımlanması amacıyla elektronik sertifikalar kullanılır. \n ÃHVPS kapsamında tarafların güvenli bir Åekilde tanımlaması, uçtan uca güvenli iletiÅim, mesaj Åifreleme ve mesaj imzalama iÅlevleri 15/1/2004 tarihli ve 5070 sayılı Elektronik İmza Kanunuânda açıklanan elektronik sertifikalar kullanılarak saÄlanır. Elektronik sertifikada Türkiye Cumhuriyet Merkez Bankası tarafından verilen kuruluÅ kodu ve kuruluÅun türüne dair bilgiler bulunur. \n GEÃİT üzerinden yapılan eriÅimlerde YÃS ve HHSâlere önceden daÄıtılmıŠolan istemci sertifikaları kullanılarak tarafların (sunucu) kimliklerinin doÄrulanması saÄlanacaktır. İstemci sertifikaları hem test hem de üretim ortamında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi sertifikasyon sürecinde de sınanacaktır. Söz konusu sertifikaların daÄıtım prosedürleri ve kullanımlara yönelik açıklamalar EK-3âte yer verilmiÅtir. \n 3.9.\tYetkilendirme Türleri \n GEÃİT üzerinden yapılan çaÄrılarda iki temel yetkilendirme türü kullanılır: \n 1.\tİstemci Kimlik Bilgileri: MüÅteri onayının gerekmediÄi, sadece YÃSâün tanımlanıp doÄrulandıÄı API çaÄrılarında kullanılır. YÃSâün yetkilendirilmiÅ olduÄu ve faaliyet izninin yaptıÄı hizmet çaÄrısına uygun olduÄu kontrol edilir. Bu amaçla, YÃSâlere clientId ve clientSecret tahsis edilecektir. YÃSâler ilgili clientId ve clientSecret ile sadece yetkilendirilmiÅ oldukları servislere eriÅebileceklerdir. YÃSâler kendilerine BKM tarafından sunulacak APIâyi, kendi clientID ve clientSecret deÄerleri ile sorgulayarak âİstemci Kimlik Bilgileriâ belirtecini (access token) elde edeceklerdir.\nHHSâler de GEÃİT üzerindeki YÃS APIâsini sorgulama maksadı ile GEÃİT\'e geldiklerinde, kendilerine atanmıŠolan clientID ve clientSecret bilgileri ile yetki kontrolleri yapılır.\nHHS ve YÃSâler ; ilettikleri client id ve secret deÄerleri kullanılarak oluÅturulacak bearer authentication metodu ile servislerini sunacaklardır. \n 2.\tYetkilendirme Kodu: YÃSâün doÄrulanmasının yanısıra müÅterinin GKD ile doÄrulanması gereken API çaÄrılarında kullanılır. MüÅteri doÄrulanarak yetkilendirme kodu oluÅturulması HHSânin yetkilendirme arayüzüne yönlendirilir. GKDânin baÅarıyla tamamlanması sonrasında yetkilendirme kodu YÃSâe dönülür. YÃS daha sonra HHSânin eriÅim belirteci (access token) eriÅim adresini (EK-3: POST /erisim-belirteci) çaÄırmak suretiyle yetkilendirme kodunu bir eriÅim belirteci (access token) ile deÄiÅtirerek ilgili kaynakları kullanabilir. \n Ãdeme emri baÅlatma ve hesap bilgisi hizmetlerinde hangi yetkilendirme türlerinin kullanılacaÄı bilgisi, ilgili baÅlıklardaki eriÅim adresleri (endpoints) tablolarında yer almaktadır. \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir.\nBelirli bir süre için tanımlanan eriÅim belirteci (access token) deÄerinin yenileme belirteci (refresh token) ile yenilenmesi gerekir. \n EriÅim adreslerinde kullanılan yetkilendirme türü ilgili eriÅim adresi tablolarında belirtilmiÅtir. \n 3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları \n İstek ve Cevap mesajlarında kullanılacak olan nesneler tüm elemanlarını kapsayacak Åekilde Ek-1 de listelenmiÅtir. Tüm listelenen elemanlar açısından (Uç nokta mesaj yapılarının belirtildiÄi tablolarda belirtildiÄi üzere) alanın Zorunlu (z) veya İsteÄe BaÄlı (İ) olma durumlarına göre bazı alanlar gönderilebilir veya gönderilmeyebilir. \n 3.11. Sayfalandırma ve Filtreleme \n Sayfalandırma \n ÃaÄrıya dönülen kaynak nesnesi içerisindeki kayıtlar bir sayfalandırma yapısı ile ç
16aÄrılacak Åekilde istek oluÅturulur. \n OluÅturulacak isteÄin içerisinde parametreler ile filtreleme, sayfa baÅına gösterilecek kayıt sayısı ve hangi sayfanın önyüzde gösterileceÄi bilgileri eriÅim noktasına iletilir ve ilgili kayıtlar cevap olarak alınır. \n Filtreleme \n HHS, birden çok kayıt dönülmesi gereken GET çaÄrılarında sınırlı filtreleme desteÄi saÄlamalıdır. Filtre parametreleri her zaman kaynak nesnesinin belirli alanlarına özgüdür ve nesne için tanımlanan kurallara uymalıdır. \n 3.12. Mesaj İmzalama \n Elektronik imzalar, ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini destekler. İmzaların kaynak bazında hangi istek ve yanıtlara uygulandıÄı belirlidir. \n API yalnızca TLS\'ye dayanırsa, dijital kayıtları ve inkâr edilemezlik kanıtlarını tutmak zor olur. Bu nedenle, TLS\'ye dayanmayan bir inkâr edilemezlik çözümü olarak API isteÄinin HTTP baÅlıÄında bir JWS kullanılarak saÄlanabilir. \n HTTP isteÄinin gövdesinin hash fonksiyonu (SHA256) ile özeti alınacaktır. Elde edilen özet, asimetrik anahtarları destekleyen bir algoritma kullanılarak imzalanacak ve JWS elde edilecektir. İsteÄin kendinize geldiÄi durumda body üzerinde hiç bir deÄiÅikliÄe tabi tutmadan (serialize/deserialize, minify, trim, vb yapmadan) doÄrulama yapmanız gerekmektedir. Aynı Åekilde isteÄin kendinizden çıktıÄı aÅamada da response body üzerinde hiç bir deÄiÅikliÄe tabi tutmadan (serialize/deserialize, minify, trim, vb yapmadan) mesaj imzalama yapılmalıdır. \n Bir istek, YÃS\'nin özel anahtarı ile imzalanacak ve bu isteÄe karÅılık gelen yanıt, HHS\'nin özel anahtarı tarafından imzalanacaktır. \n Tüm API istekleri ve yanıtları imzalanmaz. Mesaj imzalamanın zorunlu olup olmadıÄı, desteklenip desteklenmediÄi her API özelinde belirlenir. \n Anahtar Deposu \n HHS\'ler ve YÃS\'ler tarafından güvenilen bir Güven Otoritesi (Trust Anchor), taraflar için bir genel anahtar deposu saÄlamaktan sorumludur. \n Güven Otoritesi, taraflardan herhangi birisinin oluÅturduÄu bir anahtar çiftinin açık bölümünü saklayan merkezi bir dizin (BKM tarafından tutulan merkezi kayıt sistemi vb.) olacaktır. \n Mesajları doÄrulamak için tarafların genel anahtarlarının paylaÅılması için BKM bir servis saÄlayacaktır. HHS API olarak adlandırılımıŠolan bu servis ile HHS ve YÃS listelerine ulaÅılabildiÄi gibi doÄrulama iÅlemi için ihtiyaç duyulacak olan genel anahtarlara da bu servis üzerinden eriÅilebilinecektir. \n İlgili Mesaj Åifreleme için genel akıÅ, Ek-5 bölümünde detaylarıyla paylaÅılmaktadır. \n 3.13. Durum Kodu \n APIâler, iki farklı amaca hizmet eden iki durum kodu kullanır: \n \n HTTP Durum Kodu, API çaÄrısının (kaynaktaki HTTP iÅlemi) sonucunu yansıtır. \n Bazı kaynak payloadâlarındaki Durum alanı, kaynakların durumunu yansıtır. \n 3.14. Gereksinimlerinin Sınıflandırılması \n EriÅim adreslerinin ve alanların kullanımı Zorunlu(Z), İsteÄe BaÄlı(İ) veya KoÅullu(K) olabilir. Kullanımlara iliÅkin durumlar ve kullanımın (K) koÅullu olduÄu duruma iliÅkin açıklamalar ilgili tablolarda belirtilmiÅtir. \n ÃHVPS API\'lerinin (HBH,ÃBH,GKD) istek ve yanıtta kullanılacak baÅlık isimleri, ilgili RFC dokümanlarında ve aÅaÄıdaki tabloda yer aldıÄı Åekilde kullanılacaktır. Uygulamaya özelleÅmiÅ baÅlıklar "X-" ile baÅlayacaktır. BaÅlık isimlerinde yer alacak kısaltmalar (örn. PSU, ASPSP gibi) tamamı büyük harfle yazılacak Åekilde tanımlanacaktır. BaÅlık isimleri büyük â küçük harfe duyarlı olmamalıdır. ÃrneÄin x-request-id ya da X-Request-ID olarak gönderilmiÅ olan bir istek baÅlıÄı deÄiÅkeni, sunucu tarafında hata vermeyecek Åekilde iÅlenebilmelidir. \n 3.15. İstek BaÅlıÄı \n \n "BaÅlık isimleri" yorumlanırken küçük büyük harfe duyarlı olmamalıdır. ÃrneÄin "x-ReQuEsT-Id" geçerli bir baÅlık ismidir. \n "BaÅlık deÄerleri" yorumlanırken ise küçük büyük harf duy
16arlılıÄı olmalıdır. ÃrneÄin "xyz123" ile "XYZ123" deÄerleri farklıdır. \n BaÅlık deÄerlerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. ÃrneÄin "PSU-Device-Data" deÄerinde "İOS12" yazmak, büyük "İ" harfinin ISO-8859-1 içerisinde yer almamasından dolayı, hataya yol açacaktır. \n İstek baÅlıÄında aÅaÄıdaki tabloda belirtilen alanlar dıÅında gönderim yapılmamalıdır. \n İstek baÅlıÄında boÅ deÄer içeren bir baÅlık ismiyle gönderim yapılmamalıdır. Ãrnek; "PSU-Initiated":"" \n İstek ve Yanıt baÅlıÄında yer alan alanların; POST GET DELETE methodlarında, OBH,HBH,GKD,OAS,ODS API\'leri bazında Zorunlu/KoÅullu/İsteÄe BaÄlı kullanım durumları aÅaÄıdaki tabloda listelenmiÅtir. \n \n Tablo 2: İstek BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n POST \n GET \n DELETE \n POST \n GET \n DELETE \n \n \n \n \n \n \n \n OBH HBH GKD \n OBH HBH GKD \n OBH HBH GKD \n OAS ODS \n OAS ODS \n OAS ODS \n \n \n X-Request-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası. Ãrnek: Ãdeme emri baÅlatma iÅ akıÅının her adımda farklı âx-request-idâ deÄeri kullanılır. ÃaÄrıların aynı yanıtı dönmesinin beklendiÄi durumlarda (idempotent iÅlemlerde) aynı deÄer ile çaÄrı yapılır. \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. Aynı rıza noâya ait tüm isteklerde aynı x-group-id bilgisi deÄeri gönderilmelidir. Ãrnek: Ãdeme emri baÅlatma/hesap bilgisi iÅ akıÅının her adımında aynı âx-group-idâ deÄeri kullanılır. \n Z \n Z \n Z \n - \n - \n - \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder. Bu deÄerin application/json olarak gönderilmesi gerekmektedir. Hata durumlarında application/problem+json da iletilebilir. (BaÅka bir deÄere ayarlanırsa, HHS, 415 Desteklenmeyen Ortam Türü (Unsupported Media Type) ile yanıt vermelidir) \n Z \n - \n - \n Z \n - \n - \n \n \n X-ASPSP-Code \n AN4 \n Hesap Hizmeti SaÄlayıcısının (HHS) kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-TPP-Code \n AN4 \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n PSU-Auth-Date \n ISODateTime \n ÃHKânın YÃS üzerinde en son oturum açtıÄı saat. [RFC7231] ÃrneÄin: auth-date: Tue, 11 Sep 2012 19:43:31 GMT \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-IP-Address \n AN7..15 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın IP adresi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-IP-Port \n AN1..5 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın Port adresi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-GEO-Location \n AN1..36 \n ÃHKânın iÅlemi baÅlattıÄı cihazın konum bilgisi. RFC2426 standartına uygun olarak paylaÅılmalıdır. ÃrneÄin GEO:"<enlem >, <boylam>GEO:52.506931,13.144558 \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-User-Agent \n AN 1.. 255 \n ÃHKânın iÅlemi baÅlattıÄı cihazın saÄladıÄı user-agent bilgisi. (Tarayıcı, versiyon, iÅletim sistemi bilgileri) \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Timestamp \n ISODateTime \n ÃHKânın iÅlemi baÅlattıÄı cihazın tarih saat içeren zaman bilgisi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Device-ID \n AN5..40 \n ÃHK iÅlemi mobil uygulama aracılıÄıyla baÅlattıysa, kullanılan mobil uygulama ilk yüklendiÄinde oluÅturulan tekil cihaz veya uygulama belirteci. ÃHK cihazının UUID deÄeri kullanılabilir. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Device-Data \n AN1..1024 \n ÃHKânın iÅlemi baÅlattıÄı mobil cihaza ait veriler. Ãrnek alanlar: - Platform - (Android, iOS, Windows 10 Mobile) - Device Model - OS Name - OS Version - Locale - Time zone \n İ \n İ \n İ \n - \n
16- \n - \n \n \n PSU-Initiated \n AN1 \n İÅlemin ÃHK tarafından baÅlatılması durumunda E , sistem tarafından baÅlatıldıÄı durumda H deÄerini, olay bildirimine istinaden yapılacak isteklerde O deÄerini alması beklenir. İÅlemler servisinde yapılacak sistemsel sorgulardaki iÅlem limitlerini kontrol amacıyla kullanılır. O deÄerinin gönderilebileceÄi API\'ler Asıl Verinin Elde EdileceÄi API olarak ilgili sayfada yer alan Olay Tipleri ve Kaynak Tipleri İliÅkisi tablosunda yer almaktadır. Asıl verinin elde edileceÄi API\'ler özelinde O gönderimi yapılabilir. O olarak yapılan her isteÄe HHS\'nin yanıt vermesi gereklidir. Otomatik sorgularda uygulanan üst limitler, O gönderimi durumunda geçerli deÄildir. \n Z \n Z \n Z \n - \n - \n - \n \n \n PSU-Fraud-Check \n AN1..4096 \n YÃS\'lerin çeÅitli güvenlik kontrollerini gerçekleÅtirerek, önemli görülen aÅaÄıdaki bilgileri HHS\'ler ile paylaÅmaları gerekmektedir. Bu bilgiler ıÅıÄında müÅterinin profili oluÅturulmasına katkı saÄlanacaktır. ÃHKâlı iÅlemlerde (PSU-Initiated = E gönderildiÄi durumlarda) gönderilmesi zorunludur. Sistemsel yapılan API çaÄrımlarımda, Olay Bildirim Servis ÃaÄrımlarında ve HHS-YÃS API çaÄrımlarında gönderilmesine gerek bulunmamaktadır. PaylaÅılacak bilgiler Åu Åekildedir. FirstLoginFlag : ÃHK\'nın, müÅterilik ömründe ilgili YÃS sistemine (mobil ya da web uygulaması) ilk login olma süresini ifade eden deÄer. ÃHK\'nın ilk yaptıÄı HBH ya da ÃBH iÅlemi deÄil, YÃS sisteminde kendini aktifleÅtirme tarih aralıÄı bilgisidir. YÃS, kullanıcının ilk login bilgisini tutarak sonraki iÅlemlerinde bu bilgiyi belirlenen format ile HHS\'ye aktaracaktır. ÃrneÄin; YÃS\'ün 7 aydır müÅterisi olan bir kullanıcı için bu alan "5" olarak YÃS tarafından beslenecektir. Burada amaç; ilgili kullanıcının YÃS\'ün eski bir müÅterisi mi, yoksa yeni bir müÅterisi mi olup olmadıÄını anlamaktır. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. DeviceFirstLoginFlag : ÃHK\'nın, müÅterilik ömründe iÅlem anında kullandıÄı cihazla YÃS uygulamasına (web ya da uygulama tabanlı) ilk login olma süresini ifade eden deÄer. ÃHK cihaz deÄiÅikliÄi yaparsa FirstLoginFlag deÄeri sabit kalmalı ancak DeviceFirstLoginFlag deÄeri deÄiÅmelidir. FirstloginFlag deÄeri ile ÃHKânın YÃS uygulamasına ilk login tarih bilgisi ile ilgili bilgi verilirken, DeviceFirstLoginFlag ile de ÃHKânın YÃS uygulamasına farklı bir cihaz aracılıÄı ile ilk login tarihinin bilgisi verilmektedir. ÃrneÄin; ÃHK 7 aydır YÃS\'ün müÅterisi olabilir, böyle bir durumda FirstLoginFlag deÄeri "5" olacaktır. Ancak son iÅlemini daha önce hiç kullanmadıÄı bir cihazdan yapmıÅtır. Yeni cihazdaki login süre aralıÄı 0-2 saat aralıÄında olduÄu için DeviceFirstLoginFlag deÄeri "1" olacaktır.FirstLoginFlag deÄeri yine "5" olarak kalmaya devam edecektir.Bu bilgi ile YÃS, ilgili HHS\'ye ilk kez geliyor olsa bile; HHS, müÅterinin YÃS\'ü uzun süredir kullandıÄını ama yeni bir cihazla iÅlemlerine devam ettiÄini anlayabilecektir. Bir ÃHK, farklı cihazlar veya platformlar üzerinden YÃS ile etkileÅime girebilir. Kullanıcı ve YÃS arasında bir oturum baÅlatılmıŠise YÃSâün tutarlı ve kalıcı bir kimlik (device id) ataması beklenmektedir. Device ID: Web sitesi veya mobil uygulama kullanıcıları için üretilen, tarayıcı ya da mobil uygulama tabanlı benzersiz (tekil) tanımlayıcı deÄer. Mobil uygulamalar için ÃHKânın ilk defa ilgili cihaza aktivasyon yaptıÄı tarih bilgisi alınmalıdır. Device ID bilgileri YÃS uygulama ortamı (web ya da uygulama tabanlı) ve ÃHK cihazı bazında tutulmalıdır. YÃSâten baÅlatılan iÅlem hangi uygulama ortamına ait ise ilgili ortamala iliÅkili tutulan Device IDânin ilk login tarihine bakılarak güncel flag deÄeri hesaplanmalıdır. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. LastPasswordChangeFlag : ÃHK\'nın, YÃS (cihaz baÄımsız) uygulamasına login olduÄu Åifre bilgisinin en son deÄiÅtirildiÄi süreyi ifade eden deÄer. MüÅterinin en son ne zaman Åifre deÄiÅikliÄi yaptıÄını anlamak için kullanılan alandır. Yeni müÅteri ve hiç Åifre deÄiÅikliÄi yapmamıŠolabilir, böyle bir durumda ilgili alan "0" olarak beslenecektir. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. BlacklistFlag : ÃHK\'nın herhangi bir sebeple YÃS\'ün sakıncalı müÅteriler listesinde bulunup bulunmadıÄını ifade eden deÄer. Burada amaç herhangi bir sebeple YÃS tarafında yasaklı olarak kayıtlı olan ÃHK bilgisinin, dolandırıcılıÄı önceden tespit etmek amaçlı HHS\'ye aktarılması olarak açıklanabilir. ÃrneÄin, YÃS tarafından tespit edilen dolandırıcı kullancılara ait device id bilgisi, bu kara listede tutulur daha sonra aynı cihazla baÅka bir ÃHK iÅlem yapacak olsa bile bu alanda ilgili bilgi "1" deÄeri ile HHS\'ye aktarılır. HHS\'de olmayıp YÃS tarafında olan bu örnekteki sakıncalı müÅteri/cihaz bilgisinin, dolaylı yoldan HHS\'ye aktarılması amaçlanmaktadır. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.VarYok sıralı veri tipinin alabileceÄi deÄerleri alabilir. MalwareFlag : YÃS uygulamasının çalıÅtıÄı cihaz üzerindeki son 21 güne ait zararlı yazılım tespit bilgisini ifade eden deÄer. ÃrneÄin ÃHK\'nın cihazında zararlı yazılım olduÄ
16u ayın 1\'inde YÃS tarafından tespit edildi. Zararlı yazılım tespitinden 2 saat sonra YÃS üzerinden login olan ÃHK\'nın durumu, "1" olarak iletilecektir. Bir gün sonra ayın 2\'sinde, yeni bir zararlı yazılım tespiti yok ancak mevcut zararlı yazılım aktifse alan "2" deÄeri ile iletilecektir. Süreler artarak 21 güne kadar TR.OHVPS.DataCode.ZmnAralik deÄerlerine göre iletilecektir.Son 21 gün içinde yeni bir tespit yoksa ayın 22\'sinden itibaren ilgili alan "0" deÄeri ile beslenecektir. Not: Zararlı yazılım, bankacılık iÅlemlerinin yapıldıÄı uygulamalara giriÅte kullanılan bilgilerin (Åifre, kullanıcı kodu gibi) ele geçirilmesi amacıyla kullanılan bir uygulama ya da kod parçacıÄı olabilir. Bu amaçlar dıÅında kullanılan (bankacılıÄa yönelik bir zararlı yazılım olmayan) yazılım tespitleri iletilmemelidir. YÃS kanallarına her bir loginde, kullanılan cihazda bir zararlı yazılım var mı yok mu kontrolü yapılmalıdır. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. AnomalyFlag : DiÄer Åüpheli durumların varlıÄını ifade eden deÄer. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.VarYok sıralı veri tipinin alabileceÄi deÄerleri alabilir. UnsafeAccountFlag : HHS tarafından aktarılan bilgi ile son 21 gün içinde ÃHK\'nın dolandırıcılık maÄduru olması durumunu ifade eden deÄer. ÃrneÄin; HHS 1, ayın 1\'inde süphe veya sahtekarlık nedeniyle bir ödeme iÅlemine izin vermediÄi durumda, bu bilgiyi rıza iptal detay kodu ile YÃS\'e aktarmıŠolur. Bu bilgiyi tutan YÃS, ilgili müÅterinin 15 dakika sonra HHS 2\'de yaptıÄı iÅlem için ilgili alanı "1" deÄeri ile besler. Böylece HHS 2, ÃHK\'nın farklı bir HHS\'de son 15 dakika içinde Åüpheli veya sahte bir iÅlemi olduÄunu anlayabilecektir. Ayın 22\'sinde yeni bir tespit/kayıt yoksa bu alan YÃS tarafından "0" olarak beslenecektir. Gönderilmesi Opsiyonel alandır.TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. Flaglar JWT claims içine key value Åeklinde eklenerek gönderilecektir. EK-5: Mesaj İmzalama AkıÅı\'nda belirtilen yöntemle imzalanarak oluÅturulan JWT PSU-Fraud-Check alanına konularak YÃS\'ler tarafından HHS\'ye iletilmelidir. \n K \n K \n Z \n - \n - \n - \n \n \n PSU-Session-ID \n AN1..100 \n İsteÄi baÅlatan YÃS tarafından belirlenen oturuma özgü talep kimliÄi. ÃHK\'nın YÃS uygulaması üzerinden kimlik doÄrulama mekanizması ile bilgi sistemlerine dâhil olmalarından iÅlemlerini tamamlayıp sistemden ayrılmalarına kadar geçecek tüm süreci kapsayacak Åekilde aynı deÄeri almalıdır. Tek seferlik ödeme gibi ÃHKânın tanınmadan baÅlatıldıÄı iÅlemlerde bu deÄer boÅ olarak iletilmelidir. \n İ \n İ \n İ \n - \n - \n - \n \n \n Authorization \n AN1..4096 \n Katılımcı ile GEÃİT arasındaki otorizasyon için kullanılan token bilgisidir. Yekilendirme türlerinden İstemci Kimlik Bilgileriâni adresler. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-Access-Token \n AN1..4096 \n ÃHKânın GKD sürecinde doÄrulanması sonrasında kullanılan eriÅim simgesi. Yetkilendirme türlerinden Yetkilendirme Kodu (GKD)ânu adresler. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. \n İ \n İ \n İ \n - \n - \n - \n \n \n X-JWS-Signature \n AN1..4096 \n Payload gövdesinin ayrılmıŠbir JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. Mesaj imzalama kullanılan API ve methoda göre gönderimi zorunludur. \n K \n K \n K \n K \n - \n - \n 3.16. Yanıt BaÅlıÄı \n \n "BaÅlık isimleri" yorumlanırken küçük büyük harfe duyarlı olmamalıdır. ÃrneÄin "x-ReQuEsT-Id" geçerli bir baÅlık ismidir. \n "BaÅlık deÄerleri" yorumlanırken ise küçük büyük harf duy
16arlılıÄı olmalıdır. ÃrneÄin "xyz123" ile "XYZ123" deÄerleri farklıdır. \n BaÅlık deÄerlerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. ÃrneÄin "Link" deÄerinde "İOS12" yazmak, büyük "İ" harfinin ISO-8859-1 içerisinde yer almamasından dolayı, hataya yol açacaktır. \n Yanıt baÅlıÄında aÅaÄıdaki tabloda belirtilen alanlar dıÅında gönderim yapılmamalıdır. \n Yanıt baÅlıÄında boÅ deÄer içeren bir baÅlık ismiyle gönderim yapılmamalıdır. Ãrnek; "PSU-Initiated":"" \n \n Tablo 3: Yanıt BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n Kullanım Durumu OBH HBH GKD \n Kullanım Durumu OAS ODS \n \n \n \n \n X-Request-ID \n AN1..36 \n YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası İlgili istek baÅlıÄındaki bilgi geri dönülür. \n Z \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. İlgili istek baÅlıÄındaki bu deÄer geri dönülür. \n Z \n - \n \n \n X-ASPSP-Code \n AN4 \n Hesap Hizmeti SaÄlayıcısının (HHS) kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n Z \n \n \n X-TPP-Code \n AN4 \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n Z \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder: application/json \n Z \n Z \n \n \n X-JWS-Signature \n AN1..4096 \n JWS imzasını içeren üstbilgi. Bu baÅlıÄın hangi yanıtlar için kullanılması gerektiÄi ilgili endpoint için belirtilmiÅtir. Hata durumlarında, yanıt gövdesi deÄeri dönülüyor ise imzalanmalı ve imza bilgisi x-jws-signature alanında iletilmelidir. Ancak uygulama katmanı tarafından yakalanamayan dolayısı ile imzalanamayan hata durumlarında x-jws-signature alanı HHS\'ler tarafından boÅ gönderilebilir. Hatalı yanıt alındıÄı durumlarda ise X-JWS-Signature baÅlık deÄeri dolu ise doÄrulama yapılmalıdır. (4**, 5**) \n K \n K \n \n \n X-RateLimit-Limit \n N 1..18 \n İstek kısıtı uygulanan servislerde en fazla kaç adet istek yapılabileceÄini gösterir. Kısıt uygulanan servislerde bu baÅlıÄın dönmesi zorunludur. \n K \n - \n \n \n X-RateLimit-Remaining \n N 1..18 \n İstek kısıtı uygulanan servislerde k
16aç adet istek hakkı kaldıÄını gösterir. Kısıt uygulanan servislerde bu baÅlıÄın dönmesi zorunludur. \n K \n - \n \n \n X-RateLimit-Reset \n AN 1..255 \n İstek kısıtı uygulanan servislerde çaÄrım hakkı bittikten sonra yeniden denemeden önce beklemesi gereken süreyi (saniye cinsinden) gösterir. HTTP 429 durum kodu (Too Many Requests) ile dönülen yanıtların baÅlıÄında dönülmesi zorunludur. YÃS olarak yaptıÄınız sistemsel sorgularda; HTTP 429 durum kodu (Too Many Requests) ile dönülen yanıt aldıÄınızda tekrar sorgu yapmadan önce âX-RateLimit-Resetâ yanıt baÅlıÄını kontrol ederek, bu baÅlıktaki süre kadar bekledikten sonra yeniden sorgulama yapılması gerekmektedir. \n K \n - \n \n \n x-total-count \n N 1..18 \n Hesaplar, İÅlemler, Bakiye, İletilemeyen Olaylar servislerinde sayfalama kullanıldıÄı durumda, sorgu sonucu dönecek toplam kayıt sayısı bilgisi, bu alanda HHS isteÄine baÄlı olarak gönderilebilir. Kayıt sayısı 0 olduÄu durumda gönderimi zorunludur. \n K \n K \n \n \n Link \n 1..4096 \n âLinkâ alanının Hesap Bilgisi Hizmeti için EriÅim Adresleri tablosundaki parametre = Sayfalama olan APIâlerde ve İletilemeyen Olaylar API\'sinde gönderim yapılması zorunludur. Sayfalama yapısı kullanıldıÄında gelen yanıtta birden fazla sayfa var ise; önceki, sonraki, ilk, son sayfalara gitmek için gerekli referanslar link headerında aÅaÄıdaki örnekteki gibi doldurulabilir. x-total-count alanının gönderimi kayıt sayısı 0 olduÄu durum dıÅında isteÄe baÄlı olduÄu için; Link içerisindeki son sayfa bilgisi (last) isteÄe baÄlı hale getirilmiÅtir. âÃncekiâ( prev) ve âSonrakiâ (next) adımlarının uygun olan her durumda yer alması zorunludur. İlk sayfada âÃncekiâ seçeneÄi olmamalı, son sayfada ise âSonrakiâ seçeneÄi olmamalıdır. </ohvps/hbh/s2.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=6&syfKytSayi=100>; rel="next", </ohvps/hbh/s2.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=4&syfKytSayi=100>; rel="prev", </ohvps/hbh/s2.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=14&syfKytSayi=100>; rel="last", </ohvps/hbh/s2.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=0&syfKytSayi=100>; rel="first" Hiç hesap hareketinin olmadıÄı durumda dönen yanıt baÅlıÄınızın Åu Åekilde olması beklenmektedir. Response body: [] Response header: Link: </ohvps/hbh/s2.0/hesaplar?srlmKrtr=hspRef&srlmYon=A&syfNo=1&syfKytSayi=100>; rel="last",</ohvps/hbh/s2.0/hesaplar?srlmKrtr=hspRef&srlmYon=A&syfNo=1&syfKytSayi=100>; rel="first" x-total-count alanı da 0 olarak iletilmelidir. \n K \n K \n 3.17. Idempotency Kuralları \n YÃSâün aÅaÄıdaki durumlarda aynı istek numarası (x-request-id) ve aynı veri gövdesiyle çaÄrıyı tekrarlaması; HHSânin de bu durumlarda aynı yanıtı dönmesi gereklidir. \n \n HHSânin yanıtı kesinti/arıza nedeniyle YÃSâe ulaÅmaz ve zaman aÅımı söz konusu olması, \n ÃHK, YÃS uygulaması üzerinden çift tıklama ile mükerrer defa HHS APIâlerini çaÄırılması,\n(API kontrollerinden önce YÃS uygulamasının, çift tıklama kontrolü yapması önerilmektedir.) \n YÃS, yanıt almasına raÄmen iÅleyemeden kaybedilmesi, \n \n durumlarında HHS aÅaÄıdaki kuralları iÅletir: \n \n HHS gelen istek numarasını ve veri gövdesini birleÅtirerek checksum deÄeri üretir. \nchesksum deÄeri x-request-id|request.body ânin hash algoritmalarından (CRC32,MD5 vb) geçirilerek üretilebilir. \n HHS bu checksum deÄeri ile YÃSâe dönmüŠolduÄu yanıtı 5 dk boyunca saklar. Saklama yöntemi olarak veri tabanı veya önbellek araçları kullanılabilir. \n YÃS aynı istek numarası ve aynı veri gövdesi ile yeni bir çaÄrı yaptıÄında, aynı checksum deÄeri üretileceÄi için 5dk boyunca bu deÄere karÅılık gelen yanıtı döner. \n 5 dk sonrasında istek numarası veya veri gövdesi deÄiÅmemiÅ olsa dahi bu HHS tarafından yeni istek olarak kabul edilir. \n \n AÅaÄıdaki Public Post iÅlemleri için bu kural setinin iÅletilmesi gerekmektedir: \n 1- Ãdeme emri rızası oluÅturma \n2- EriÅim belirteci oluÅturma \n3- Ãdeme emri \n4- Hesap bilgisi rızası oluÅturma \n5- İleri Tarihli Ãdeme Emri Rızası oluÅturma \n6- İleri Tarihli Ãdeme Emri \n7- Düzenli Tekrarlı Ãdeme Emri Rızası oluÅturma \n8- Düzenli Tekrarlı Ãdeme Emri \n 3.18. HTTP Durum Kodları \n RFC 2616\'da belirlenmiÅ olan durum ko
16dları (status code) gönderilen isteÄin durumunu YÃSâa standart bir Åekilde ifade eder. EÄer bir hata varsa hatayı, gönderilen istek baÅarılı bir Åekilde iÅlem gördüyse ona iliÅkin durumu aktarır. Durum kodları genel olarak 5 kategoridedir. \n \n 1xx Bilgi \n 2xx BaÅarılı \n 3xx Yönlendirme \n 4xx İstemci Hatası \n 5xx Sunucu Hatası \n \n errorCode Alanında Kullanılabilecek Sıralı Hata Tipleri : \n \n TR.OHVPS.Resource \n \n â¨\tInvalidFormat \n â¨\tConsentMismatch \n â¨\tNotFound \n â¨\tInvalidSignature \n â¨\tMissingSignature \n â¨\tMethodNotAllowed \n â¨\tNotAcceptable \n â¨\tUnsupportedMediaType \n â¨\tConsentRevoked \n \n \n \n TR.OHVPS.Business \n \n â¨\tInvalidContent \n â¨\tInvalidAccount \n \n \n \n TR.OHVPS.Connection \n \n â¨\tInvalidCertificate \n â¨\tExceededRate \n â¨\tInvalidTPP \n â¨\tInvalidASPSP \n â¨\tInvalidToken \n â¨\tInvalidTPPRole \n \n \n \n TR.OHVPS.Server \n \n â¨\tInternalError \n â¨\tServiceUnavailable \n \n \n TR.OHVPS.Resource.InvalidFormat hatası alındıÄı durumda; fieldErrors nesnesi içerisinde verilecek hata kodları : \n \n TR.OHVPS.Field \n \n â¨\tMissing \n â¨\tInvalid \n \n \n Veri Tipi ÃrneÄi: \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "d8bd4e5f-f094-48a6-aee1-3a800e2709d9" , \n "timestamp" : "2022-12-22T10:33:15+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.islTtr.prBrm" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } , \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.kmlk.kmlkVrs" , \n "messageTr" : "boyut \'1\' ile \'30\' arasında olmalı" , \n "message" : "size must be between 1 and 30" , \n "code" : "TR.OHVPS.Field.Invalid" \n } \n ] , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" \n } \n \n Tablo 4: HTTP Durum Kodları \n \n \n \n HTTP Durum \n İstek Sonucu ve Açıklamalar \n POST \n GET \n DELETE \n \n \n \n \n 200 OK \n İstek BaÅarıyla Tamamlandı. Kaynak güncellemek için yapılan (örneÄin, GET) ve baÅarıyla tamamlanan isteklerinde kullanılır. \n H \n E \n H \n \n \n 201 Created \n İstek BaÅarılı Oldu. Kaynak yaratma isteÄi (örneÄin, POST /ödeme-emri-rizasi) baÅarıyla sonuçlandı. \n E \n H \n H \n \n \n 204 No Content \n Silme iÅlemi baÅarıyla tamamlandı. Kaynak silme isteÄi (örneÄin, DELETE /hesap-rizasi/{RizaNo} ) baÅarıyla sonuçlandı. \n H \n H \n E \n \n \n 400 Bad Request \n İstekte bozuk, eksik veya uyumlu olmayan JSON gövdesi, URL parametreleri veya baÅlık alanları var. İstekle baÅlatılan iÅlem yapısal bozukluk, eksik veya tutarsız veri veya HHS tarafındaki kontrollerin hatalı sonuçlanması nedeniyle hata ile sonuçlanır ve hataya iliÅkin veriler hata nesnesi içerisinde dönülür. \n E \n E \n E \n \n \n 401 Unauthorized \n Yetkilendirme baÅlıÄı eksik, hatalı veya geçersiz olduÄundan istek yetkilendirilmediÄinde ve eriÅim reddedildiÄinde http 401 kodu dönülmelidir. \n E \n E \n E \n \n \n 403 Forbidden \n EriÅim belirtecinin veya rızanın kapsamı uyuÅmuyor. YÃS bir hesaba/iÅlem kaynaÄına eriÅmeye çalıÅır ve YÃS, istenen kaynaÄa eriÅmek için geçerli izinlere sahip bir rızası yoktur. ÃrneÄin; hesap bilgisi rızası bakiye izni almamıÅtır ancak /bakiyeler adresinden istekte bulunmuÅtur. \n \n \n \n \n \n 404 Not Found \n **HHS geçerli bir API eriÅim adresini saÄlamıyorsa, o URL\'ye gelen istekler için 404 (Bulunamadı) ile yanıt vermelidir.**YÃS, uygulama esaslarında tanımlanmayan bir
16kaynak için bir URL\'ye eriÅmeye çalıÅırsa (örneÄin, GET /yurtdisi-odeme), HHS, 404 (Bulunamadı) ile yanıt vermeyi seçebilir. \n E \n E \n E \n \n \n 405 Method Not Allowed \n YÃS, desteklenmeyen bir yöntemle kaynaÄa eriÅmeye çalıÅtı. \n E \n E \n E \n \n \n 406 Not Acceptable \n İstek, geçersiz bir karakter kümesi içeriyor. \n E \n E \n E \n \n \n 415 Unsupported Media Type \n İstek gövdesi hedef kaynakta bu yöntem tarafından desteklenmeyen bir biçimde oluÅturulduÄu için iÅlem reddedildi \n E \n H \n H \n \n \n 429 Too Many Requests \n Belirli bir süre içinde çok fazla talepte bulunulduÄu için iÅlem reddedildi. HHSâler adil kullanım politikalarını aÅan talepleri kısıtlayabilir. \n E \n E \n E \n \n \n 500 Internal Server Error \n API sunucu / servis katmanında sorun oluÅtu. İÅlem baÅarısız. 5XX hata durumlarında yanıt gövde deÄeri olmadıÄı için mesaj imzalama yapılamaz ve x-jws-signature alanı boÅ olarak iletilir. Bu durumda x-jws-signature kontrolü yapılmamalıdır. \n E \n E \n E \n \n \n 503 Service Unavailable \n Hizmet sürümü kullanımdan kaldırıldı. Bir API\'nin kullanımdan kaldırıldıÄı ve artık bir HHS tarafından operasyonel olarak desteklenmediÄi durumlarda, URI yolu hala etkin olabilir ve API isteklerini kabul edebilir. Bu durumda, YÃS\'ün API sürümünün çevrimdıÅı olduÄunun farkında olması için 503 Hizmet Kullanılamıyor dönmesi önerilir. \n E \n E \n E \n \n \n \n İŠkuralları nezdinde ilgili hata kodları özelleÅtirilmiÅ olup HHS tarafından verilecek olan hata kodları ÃHVPS API İlke ve Kuralları dokümanında ilgili alanlarda paylaÅılmıÅtır. Bu çalıÅmaya ek olarak, HHS\'lerin YÃS\'lere; YÃS\'lerin de ÃHK\'lara iletecekleri hata mesaj içeriklerinde standartlaÅmaya gidilmiÅtir. Bu çalıÅmaya Türkiye\'nin İletiÅim Platformu altında yer alan ÃHVPS > Dokümanlar alanından ulaÅabilirsiniz. HHS\'lerin ve YÃS\'lerin ilgili dokümanı referans alarak mesaj içeriklerini, kurumların kendi müÅteri iletiÅim dili kapsamında düzenleyerek ÃHK\'lara gösterebilir olması beklenmektedir. \n Hata Ãrnekleri: \n 400 Bad Request \n TR.OHVPS.Resource.InvalidFormat hatası Åema validasyonu, alan uzunluk ve varlık kontrollerinin baÅarısız olduÄu durumda verilmelidir. \n \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "7f115b9c-d7c2-4a2a-bc45-5a9891c79072" , \n "timestamp" : "2022-12-22T10:47:57+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.alc.unv" , \n "messageTr" : "boyut \'3\' ile \'140\' arasında olmalı" , \n "message" : "size must be between 3 and 140" , \n "code" : "TR.OHVPS.Field.Invalid" \n } , \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.islTtr.ttr" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } \n ] , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" \n } \n\n \n Zorunlu header alanlarından biri ya da birkaçı eksik olarak gönderilirse aÅaÄıdaki gibi bir hata dönüÅü gerçekleÅebilir. \n HHS uygulaması tarafından dönülebilecek hata örnekleri: \n \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "2005515d-f0e6-4a07-a439-0ef3b0f56011" , \n "timestamp" : "2022-12-22T10:39:26+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" , \n "fieldErrors" : [ \n { \n "field" : "X-Request-ID" , \n "messageTr" : "X-Request-ID deÄeri boÅ olamaz." , \n "message" : "X-Request-ID cannot be null." , \n "code" : "TR.OHVPS.Field.Invalid" \n } \n ] \n } \n\n \n Business hata örneÄi - 1: \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "677cfd9d-77c1-4ea3-8bdf-74a6e9887177" , \n "timestamp" : "2022-12-22T11:05:59+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "gonUnvan wrong" , \n "moreInformationTr" : "Gönderen Ãnvan hatalı" , \n "errorCode" : "TR.OHVPS.Business.IncorrectSenderTitle" \n } \n \n Business hata örneÄi - 2: \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "5df3b402-3aca-4305-a35b-5af0f3184b40" , \n "timestamp" : "2022-12-22T11:06:47+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Sender account is disabled or not found." , \n "moreInformationTr" : "Gonderen hesap aktif deÄil veya bulunamadı." , \n "errorCode" : "TR.OHVPS.Business.InvalidAccount" \n } \n \n GEÃİT\'te yapılan zorunlu header kontrollerinde aÅaÄıdaki hatalar dönebilir: \n \n { \n "timestamp" : "2022-12-22T10:40:28+03:00" , \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "d4375748-6fc7-4f7e-94f3-6411cab1d59f" , \n "moreInformationTr" : "Geçersiz HHS kodu." , \n "errorCode" : "TR.OHVPS.Connection.InvalidASPSP" , \n "moreInformation" : "Invalid ASPSP Code" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" \n } \n \n GEÃİT tarafından dönülecek hata örneÄi: \n \n { \n "timestamp" : "2022-12-22T10:40:28+03:00" , \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "d4375748-6fc7-4f7e-94f3-6411cab1d59f" , \n "moreInformationTr" : "Geçersiz HHS kodu." , \n "errorCode" : "TR.OHVPS.Connection.InvalidTPP" , \n "moreInformation" : "Invalid TPP Code" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" \n } \n \n GEÃİT tarafından dönülecek hata örneÄi: \n \n { \n "timestamp" : "2022-12-22T11:14:05+03:00" , \n "path" : "/ohvps/hbh/s2.0/hesap-bilgisi-rizasi" , \n "id" : "ee1e3ea7-a5e5-468b-bb02-314148f84e6a" , \n "moreInformationTr" : "Geçersiz yös rolü. İlgili api çaÄrısı için yetkisi yok." , \n "errorCode" : "TR.OHVPS.Connection.InvalidTPPRole" , \n "moreInformation" : "Invalid TPP Role" , \n "httpCode" : 403 , \n "httpMessage" : "Forbidden" \n } \n\n \n 401 Unauthorized \n YÃS, süresi dolmuÅ bir eriÅim belirteci kullandıÄında, HHS 401 (Yetkisiz) http kodu ile aÅaÄıdaki hata kodunu dönmelidir. AÅaÄıdaki nedenlerden herhangi biri nedeniyle bir EriÅim Belirtecinin süresi dolduÄunda bu durum ortaya çıkabilir: \n \n Rızanın süresi doldu (Son Kullanma Tarihi geçti) \n EriÅim Belirtecinin Åüpheli kullanımı veya sahtekarlık Åüphesi \n Rızada belirlenen gün s
16ayısının aÅımı\nBu hata, müÅteriden doÄru izinlerle yeniden kimlik doÄrulaması isteyerek çözülebilir. \n \n \n { \n "path" : "/ohvps/gkd/s2.0/erisim-belirteci" , \n "id" : "ed3fd667-fc58-40ad-a982-e8937faccd15" , \n "timestamp" : "2022-12-22T11:17:33+03:00" , \n "httpCode" : 401 , \n "httpMessage" : "Unauthorized" , \n "moreInformation" : "Refresh token expired or not found in database" , \n "moreInformationTr" : "Yenileme belirteci zaman aÅımına uÄramıŠveya veri tabanında yok" , \n "errorCode" : "TR.OHVPS.Connection.InvalidToken" \n } \n \n\n \n 403 Forbidden \n Ãrn; YÃS yetkisi olmayan rol(ÃBH/HBH) ile iÅlem yapmaya çalıÅtıÄı durumda 403 hatası alarak iÅleme devam edemez. \n { \n "path" : "/ohvps/hbh/s2.0/bakiye" , \n "id" : "3e48ea98-f889-48b9-aa6e-28aabc6cfb14" , \n "timestamp" : "2022-12-22T11:20:05+03:00" , \n "httpCode" : 403 , \n "httpMessage" : "Forbidden" , \n "moreInformation" : "Forbidden" , \n "moreInformationTr" : "Bakiye Bilgileri için ÃHK izni bulunmamaktadır." , \n "errorCode" : "TR.OHVPS.Resource.Forbidden" \n } \n \n 404 Not Found \n Ãrn; GET /odeme-emri-rizasi/123456 çaÄrısı durumunda 123456 geçerli bir ödeme kaynaÄı deÄilse, HHS, 404 koduyla cevap vermelidir. \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi/123456" , \n "id" : "22f52b2d-d442-4a6a-8f39-d23eba45a34b" , \n "timestamp" : "2022-12-22T10:53:53+03:00" , \n "httpCode" : 404 , \n "httpMessage" : "Not Found" , \n "moreInformation" : "Resource not found" , \n "errorCode" : "TR.OHVPS.Resource.NotFound" , \n "moreInformationTr" : "Kaynak bulunamadı" \n } \n\n \n 405 Method Not Allowed \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "3e5c6b28-7ee4-4469-b541-843fb4a94eec" , \n "timestamp" : "2022-12-22T11:35:10+03:00" , \n "httpCode" : 405 , \n "httpMessage" : "Method Not Allowed" , \n "moreInformation" : "Method not allowed" , \n "errorCode" : "TR.OHVPS.Resource.MethodNotAllowed" , \n "moreInformationTr" : "İstek yapılan URL için izin verilmeyen metot" \n } \n \n 406 Not Acceptable \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "3e5c6b28-7ee4-4469-b541-843fb4a94eec" , \n "timestamp" : "2022-12-22T11:35:10+03:00" , \n "httpCode" : 406 , \n "httpMessage" : "Not Acceptable" , \n "moreInformation" : "Not Acceptable" , \n "errorCode" : "TR.OHVPS.Resource.NotAcceptable" , \n "moreInformationTr" : "Kabul edilmedi" \n } \n \n 415 Unsupported Media Type \n İstek baÅlıÄında content-type, JSON dıÅında bir veri iletilirse bu hata verilebilir. \n \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "63cc94b6-1b51-4648-9671-95e6e2e7e03d" , \n "timestamp" : "2022-12-22T11:37:12+03:00" , \n "httpCode" : 415 , \n "httpMessage" : "Unsupported Media Type" , \n "moreInformation" : "Content type not supported" , \n "errorCode" : "TR.OHVPS.Resource.UnsupportedMediaType" , \n "moreInformationTr" : "Desteklenmeyen içerik tipiâ" \n } \n \n 429 Too Many Requests \n { \n "path" : "/ohvps/hbh/s2.0/hesaplar/aef6061f-2978-4bb4-980d-b4c634c8055b/islemler" , \n "id" : "20473c5f-2f4f-4b2e-8b66-7978aec442f7" , \n "timestamp" : "2022-12-22T00:21:07+03:00" , \n "httpCode" : 429 , \n "httpMessage" : "Too Many Requests" , \n "moreInformation" : "Exceeded rate" , \n "moreInformationTr" : "EriÅim sıklıÄı limiti aÅımı" , \n "errorCode" : "TR.OHVPS.Connection.ExceededRate" \n } \n \n 500 Internal Server Error \n { \n "id" : "1b90c6dc-0277-4755-8b05-9297ddfab743" , \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "timestamp" : "2022-12-22T11:41:34+03:00" , \n "httpCode" : 500 , \n "httpMessage" : "Internal Server Error" , \n "moreInformation" : "Unexpected condition was encountered." , \n "moreInformationTr" : "Beklenmeyen bir durumla karÅılaÅıldı." , \n "errorCode" : "TR.OHVPS.Server.InternalError" \n } \n\n \n 503 Service Unavailable \n \n "timestamp" : "2022-12-20T23:18:56+03:00" , \n "path" : "/ohvps/hbh/s2.0/hesap-bilgisi-rizasi/2a72678ee3d24de2be47887e4903a8c6" , \n "id" : "e76315b7-09f4-4295-b6d8-1f7fec632159" , \n "moreInformationTr" : "HHS Åu anda hizmet veremiyor." , \n "errorCode" : "TR.OHVPS.Server.ServiceUnavailable" , \n "moreInformation" : "HHS is currently unavailable" , \n "httpCode" : 503 , \n "httpMessage" : "Service Unavailable" \n 3.19. Maskeleme Kuralları \n Maskeli olarak iletilmesi gereken verilerin maskeleme kuralları Åu Åekildedir: \n \n IBAN verileri Hesap Numarası : İlk 4 ve son 4 karakteri açık, diÄer karakterler maskeli olmalıdır. Ãrnek: TR54******************4812 \n Ad-Soyadı / Ticari Unvan : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet â â karakteri konumlandırılmalıdır.\nÃrneÄin: âFATİH SERKAN ERENâ ifadesi âFA *** SE**** ER****â Åeklinde gösterilmelidir. \n Tabela Unvanı : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet \' \' karakteri konumlandırılmalıdır. ÃrneÄin âBANKALARARASI KART MERKEZİ ANONİM ÅİRKETİâ ifadesi âBA *** KA**
16** ME**** AN**** Åİ****â Åeklinde gösterilmelidir. \n YÃSâten girilen alıcı unvan ve IBAN bilgileri ödeme emri rızası ve ödeme emri yanıtında açık dönülür, Kolas akıÅında ödeme emri rızası yanıtı ve ödeme emri istek ve yanıtında maskeli taÅınır. \n 3.20. Fonksiyonel Olmayan Gereksinimler \n \n \n HHSâlerin sunuyor oldukları servisleri en fazla 6000 ms içinde yanıt dönecek Åekilde tasarlamalıdır. \n \n \n HHS\'ler mevcut online iÅlem kanallarından sundukları eriÅilebilirlik ve performans kriterlerinden daha düÅük bir hizmet kalitesi sunmamalıdır. \n \n \n HHSâlerin sunuyor oldukları servislere sistemin güvenlik ve sürekliliÄini saÄlamak adına rate limit koyma ihtiyaçları olur ise, standartlar ve ihtiyaçlara uygun Åekilde bir konfigürasyon yapabilirler. \n \n \n HHS rate limit tanımı uyguluyor ise; YÃS\'ler arasında ayrım yapmadan, adil ve makul sınırlar dahilinde uygulamalıdır. \n \n \n YÃS tarafından kullanıcının baÅlatmadıÄı otomatik sorgu limitleri 3.21 Otomatik Sorgular bölümünde detaylandırılmıÅtır. HHS\'lerin bu servisler için minimumda cevap vermesi gereken sorgu sayıları belirlenmiÅtir. Bu sayıların üzerinde yapılan servis çaÄrısına yanıt dönmek HHS inisiyatifindedir. DiÄer taraftan kullanıcının baÅlattıÄı istekler için uygulanacak limitler, HHS\'nin online iÅlem kanallarından sunulan sorgu limitlerinden daha az olmamalıdır. \n \n \n HHS\'ler, çaÄrım limitlerini aÅan istekler için HTTP 429 - Too Many Request hatasını dönmelidir. Ãrnek hata mesajı 3.18 HTTP Durum Kodları bölümünde bulunmaktadır. Rate Limit özelinde tanımlanmıŠparametreler olan X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset alanları da 3.16 Yanıt BaÅlıÄı bölümünde açıklanmıÅtır. YÃS\'ler de HHS\'nin belirlediÄi rate limit kurallarına uymakla yükümlüdür. \n 3.21. Otomatik Sorgular \n YÃS uygulaması, ÃHK\'nın baÅlattıÄı iÅlemler neticesinde API çaÄrımı yapabileceÄi gibi, sistemsel bir Åekilde otomatik API çaÄrımı da yapabilir. \nHHS, API çaÄrımının ÃHK\'lı ya da ÃHK\'sız olduÄunu istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n ÃHK YÃS uygulamasına giriÅ yaptıÄı andan çıkıŠyaptıÄı ana kadar yani ÃHK oturumu boyunca yapılan API çaÄrımlarında, PSU-Initiated deÄerinin "E" olması gerekmektedir. YÃS uygulamasında ÃHK oturumu boyunca, ÃHK\'nın bilgilerinden minimumda "bakiye" bilgisinin, uygulama arayüzlerinde güncel deÄeri ile online sorgularla gösterimi YÃS\'ün insiyatifindedir. \n ÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \n YÃS, aÅaÄıdaki API\'leri sistemsel bir Åekilde çaÄırabilir. \nHHS\'lerin bu servisler için minimumda cevap vermesi gereken sorgu sayıları belirlenmiÅtir. Bu sayıların üzerinde yapılan servis çaÄrısına yanıt dönmek HHS inisiyatifindedir. \nHHS tarafından izin verilen sorgu sayısının üzerinde yapılan bir sorgu için HTTP 429 durum kodu (Too Many Requests) hatası dönülmelidir. Yanıt gövdesinde tekrar hata nesnesinin oluÅturulması HHS inisiyatifindedir. HHS yanıt headerı alanında iletilecek X-RateLimit-Reset (saniye cinsinden) deÄeri kadar süre sonunda\nYÃS\'ün tekrar sorgulama yapması beklenmektedir. \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Otomatik Sorgu Sayısı \n \n \n \n \n 1 \n erisim-belirteci \n POST \n /erisim-belirteci \n --- \n \n \n 2 \n odeme-emri-rizasi \n GET \n /odeme-emri-rizasi/{rizaNo} \n Rıza bazında günde 4 \n \n \n 3 \n odeme-emri \n GET \n /odeme-emri/{odemeEmriNo} \n Rıza bazında günde 24 \n \n \n 4 \n ileri-tarihli-odeme-emri-rizasi \n GET \n /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n Rıza bazında günde 4 \n \n \n 5 \n ileri-tarihli-odeme-emri \n GET \n /ileri-tarihli-odeme-emri
16/{odemeEmriNo} \n Rıza bazında günde 24 \n \n \n 6 \n ileri-tarihli-odeme-emri-rizasi \n DELETE \n /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n --- \n \n \n 7 \n duzenli-odeme-emri-rizasi \n GET \n /duzenli-odeme-emri-rizasi/{rizaNo} \n Rıza bazında günde 4 \n \n \n 8 \n duzenli-odeme-emri \n GET \n /duzenli-odeme-emri/{talimatNo} \n Rıza bazında günde 24 \n \n \n 9 \n duzenli-odeme-emri-rizasi \n DELETE \n /duzenli-odeme-emri-rizasi/{rizaNo}} \n --- \n \n \n 10 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Rıza bazında günde 4 \n \n \n 11 \n duzenli-odeme-talimat-plani \n GET \n /duzenli-odeme-emri/{talimatNo}/odeme-plani \n Rıza bazında günde 24 \n \n \n 12 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n --- \n \n \n 13 \n hesaplar \n GET \n /hesaplar \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 14 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 15 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 16 \n bakiye \n GET \n /bakiye \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 17 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Bireysel günde 4 Kurumsal ÃHK - saatte 12 \n \n \n 18 \n kartlar \n GET \n /kartlar \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 19 \n kartlar \n GET \n /kartlar/{kartRef} \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 20 \n kart-detay \n GET \n /kartlar/{kartRef}/kart-detay \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 21 \n kart-hareketleri \n GET \n /kartlar/{kartRef}/kart-hareketleri \n Bireysel günde 32 Kurumsal ÃHK - günde 32 \n \n \n \n YÃS ve HHS son 24 saat içerisindeki sorgu sayılarını toplayarak elde ettiÄi sonuçlarla limit kontrolü yapmalıdır (Pencere yöntemi). \n İÅlemler servisinin çaÄrım detaylarına ^Bölüm 7.8 üzerinden ulaÅılabilir. \n Hesap bilgisi rızasının YÃS tarafından otomatik bir Åekilde iptal edilmesi durumu ^Bölüm 9\'da açıklanmıÅtır. \n Kart hareketleri için sistemsel sorgu yapıldıÄı durumda aynı ekstre türü için dönem deÄeri deÄiÅtikçe limit düÅmeyecektir. Sayfalama yapıldıÄı durumlarda ise deÄiÅen sayfa numaraları özelinde de limit düÅmeyecektir. Aynı sayfa ve aynı dönem özelinde tekrar sorgu yapılması halinde limit düÅümü gerçekleÅecektir. \n Ekstre türü deÄiÅmesi durumunda da limit düÅümü olmalıdır. \n'},{frontmatter:{},regularPath:"/v2.0.0/deneyalani/hhs-yos-api.html",relativePath:"v2.0.0/deneyalani/hhs-yos-api.md",key:"v-d8bdee46",path:"/v2.0.0/deneyalani/hhs-yos-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.0/deneyalani/ileri-tarihli-odeme-emri-api.html",relativePath:"v2.0.0/deneyalani/ileri-tarihli-odeme-emri-api.md",key:"v-b537e5f2",path:"/v2.0.0/deneyalani/ileri-tarihli-odeme-emri-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.0/deneyalani/hesap-bilgisi-api.html",relativePath:"v2.0.0/deneyalani/hesap-bilgisi-api.md",key:"v-7b0a82c6",path:"/v2.0.0/deneyalani/hesap-bilgisi-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.0/deneyalani/olay-bildirim-api.html",relativePath:"v2.0.0/deneyalani/olay-bildirim-api.md",key:"v-5a2e0d7d",path:"/v2.0.0/deneyalani/olay-bildirim-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.0/deneyalani/odeme-emri-api.html",relativePath:"v2.0.0/deneyalani/odeme-emri-api.md",key:"v-35eaf572",path:"/v2.0.0/deneyalani/odeme-emri-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.0/deneyalani/test.html",relativePath:"v2.0.0/deneyalani/test.md",key:"v-aa99c1f6",path:"/v2.0.0/deneyalani/test.html",content:" \n \n "},{title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",frontmatter:{},regularPath:"/v2.0.1/contents/ekler.html",relativePath:"v2.0.1/contents/ekler.md",key:"v-51c1355d",path:"/v2.0.1/contents/ekler.html",headers:[{level:2,title:"EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları",slug:"ek-1-istek-cevap-mesajlarında-kullanılacak-nesne-yapıları"},{level:2,title:"EK-2: Sıralı Veri Türleri",slug:"ek-2-sıralı-veri-turleri"},{level:2,title:"EK-3: İstemci Sertifikalarının Tanım ve Yönetimi",slug:"ek-3-istemci-sertifikalarının-tanım-ve-yonet
16imi"},{level:2,title:"EK-4: Sunucu Sertifikaları",slug:"ek-4-sunucu-sertifikaları"},{level:2,title:"EK-5: Mesaj İmzalama AkıÅı",slug:"ek-5-mesaj-imzalama-akısı"},{level:3,title:"İmzalama Kuralları (YÃS)",slug:"imzalama-kuralları-yos"},{level:2,title:"EK-6: HHS/YÃS API Mimarisi",slug:"ek-6-hhs-yos-api-mimarisi"}],content:' EK-1: İstek/Cevap Mesajlarında Kullanılacak Nesne Yapıları \n Açık Bankacılık simülatör uygulaması üzerinde swagger dökümanlarının güncel sürümlerine eriÅim saÄlanabilir. \n EK-2: Sıralı Veri Türleri \n \n \n \n Kod \n Açıklama \n \n \n \n \n TR.OHVPS.DataCode.BrcAlc \n İÅlemin hesabı borçlandırdıÄı ya da alacaklandırdıÄı bilgisidir. B : Borç A : Alacak N : Finansal Olmayan \n \n \n TR.OHVPS.DataCode.EvetHayir \n E : Evet H : Hayır \n \n \n TR.OHVPS.DataCode.GkdTur \n GKD yapılmasını gerekli bulduÄu durumda HHS, YÃSâün belirlediÄi yöntemi dikkate alarak kendi belirlediÄi GKD yöntemini bildirir: Y: Yönlendirmeli GKD A: Ayrık GKD \n \n \n TR.OHVPS.DataCode.HHSDurumu \n A : Açık. Ãretim Ortamında HHSânin aktif bir Åekilde hizmet vermesi durumu. Y : YaygınlaÅtırma. Ãretim Ortamında HHSânin kendisi tarafından tanımlanmıŠkısıtlı ÃHKâya hizmet vermesi durumu. G : Geçici Hizmet Veremiyor. HHS servislerinde teknik bir sorun olması nedeniyle HHSânin hizmet verememesi durumu. K: Kapalı. HHSânin hizmet vermeme durumu. \n \n \n TR.OHVPS.DataCode.HHSYOSSrlmKrtr \n âkodâ : Kod âunvâ : Unvan \n \n \n TR.OHVPS.DataCode.HspDrm \n Hesabın durumunu belirtir: AKTIF PASIF KAPALI \n \n \n TR.OHVPS.DataCode.HspTip \n Hesap çeÅidini belirtir: VADESIZ KREDILI_MEVDUAT_HESABI POS CEK YATIRIM \n \n \n TR.OHVPS.DataCode.HspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.IslemAmaci \n 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aidat ödemesi 12: Gayrimenkul alım ödemesi 13: Motorlu taÅıt alım ödemesi 14: Borç verme/Borç ödeme 15: Hediye/baÄıÅ/yardım 16: Vergi/resim/harç ödemesi 17: Tazminat/sigorta ödemesi 18: Avukatlık/DanıÅmanlık/MüÅavirlik Ãdemesi 19: SaÄlık ödemesi 20: Kripto/dijital varlık 21: Åans oyunları/bahis ödemesi 22: EÄlence/sosyal medya ödemesi 99: DiÄer \n \n \n TR.OHVPS.DataCode.IslemTuru \n Hesap hareketleri (iÅlemler) sorgusunda dönülen İÅlem Türü (islTur) parametresi aÅaÄıdaki deÄerlerden birini alabilir: HAVALE EFT FAST PARA_YATIRMA PARA_CEKME YABANCI_PARA_HAVALE YATIRIM_HESABINA_AKTARIM YATIRIM_HESABINDAN_AKTARIM KURUM_FATURA_ODEMESI CEK SENET SIGORTA_ODEMESI UCRET_KOMISYON_FAIZ SGK_ODEMESI VERGI_ODEMESI DOVIZ_ALIM DOVIZ_SATIM KREDI_ODEMESI KREDI_KULLANIM KK_ODEMESI KK_NAKIT_AVANS SANS_OYUNU UYE_ISYERI_ISLEMLERI HGS_OGS_ISLEMLERI DOGRUDAN_BORCLANDIRMA_SISTEMI DIGER \n \n \n TR.OHVPS.DataCode.IzinTur \n 01: Temel Hesap Bilgisi 02: Ayrıntılı Hesap Bilgisi 03: Bakiye Bilgisi 04: Temel İÅlem (Hesap Hareketleri) Bilgisi 05: Ayrıntılı İÅlem Bilgisi 06: Anlık Bakiye Bildirimi 07: Temel Kart Bilgisi 08: Detaylı Kart Bilgisi 09: Ayrıntılı Kart İÅlem Bilgisi \n \n \n TR.OHVPS.DataCode.KareKodAksTur \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. 01: FAST katılımcısından dinamik doÄrulamalı hizmet alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulamalı iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n TR.OHVPS.DataCode.KaynakTip \n HESAP_BILGISI_RIZASI ODEME_EMRI_RIZASI ODEME_EMRI ILERI_TARIHLI_ODEME_EMRI_RIZASI ILERI_TARIHLI_ODEME_EMRI DUZENLI_ODEME_EMRI_RIZASI DUZENLI_ODEME_PLANI DUZENLI_ODEME_EMRI BAKIYE COKLU_ISLEM_TALEBI HHS YOS KART_BILGILERI \n \n \n TR.OHVPS.DataCode.KimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) Y , YKN , N11 P , PNO , AN7..9 \n \n \n TR.OHVPS.DataCode.KolasHspTur \n Hesabın bireysel veya ticari nitelikte olduÄunu belirtir: B: Bireysel T: Ticari \n \n \n TR.OHVPS.DataCode.KolasTur \n MüÅterinin sorgulama istediÄi Kolay Adres Tipi deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır: T: Telefon Numarası E: E-Posta K: TCKN V: VKN Y: YKN P: Pasaport Numarası \n \n \n TR.OHVPS.DataCode.KurumKimlikTur \n Kod, Tip, Format K , TCKN , N11 M , MNO , AN1..30 (HHSâye özel bireysel veya kurum müÅteri numarası) V , VKN , AN10 \n \n \n TR.OHVPS.DataCode.LogoArkaPlan \n B : Logoların arka planının beyaz olması (Erkek Logo) K : Logoların arka planının renkli/koyu olması (DiÅi Logo) \n \n \n TR.OHVPS.DataCode.LogoFormat \n SVG : Logonun svg formatında olmasını ifade eder. Logonun 1:2 oranında olması gerekmektedir. PNG : Logonun png formatında olmasını ifade eder. Logonun 500 X 1000 px olması gerekmektedir. \n \n \n TR.OHVPS.DataCode.LogoTur \n FULL_LOGO : Yazı ve ikon Åekillerin bir arada olduÄu logo ICON_LOGO : İkon Åekillerin olduÄu ( Sadece görsel olan-yazısız ) logo \n \n \n TR.OHVPS.DataCode.OdemeAmaci \n Ãdemenin Amacına yönelik olarak aÅaÄıdaki deÄerlerden birini alır: 01: Konut Kirası Ãdemesi 02: İŠyeri Kirası Ãdemesi 03: DiÄer Kira Ãdemesi 04: E-Ticaret Ãdemesi: Elektronik ticaret iÅlem amaçlı aktarımlar 05: ÃalıÅan Ãdemesi: MaaÅ, harcırah, prim gibi çalıÅan ödemeleri 06: Ticari ödeme: Ticari iÅletmelerin birbirlerine, kendi hesaplarına veya müÅterilerine ödemeleri, borç, ithalat, ihracat, Åirket satın alma, vb. kapsamında ödemeler 07: Bireysel Ãdeme: Ãzel amaçlı (aile bireylerine, hediye, baÄıÅ, borç, alıÅveriÅ vs.) ödemeler 08: Yatırım: Mevduat, menkul kıymet, döviz, gayrı menkul, taÅıt, varlık alımı, temettü ödeme, tahsilat vb. gibi yatırım amaçlı ödemeler 09: Finansal: Kredi, depo, repo, türev, finansal varlık alım/satımı vb. ödemeler 10: EÄitim ödemesi 11: Aid
16at ödemesi 12: Gayrimenkul alım ödemesi* 13: Motorlu taÅıt alım ödemesi* 14: Borç verme/Borç ödeme* 15: Hediye/baÄıÅ/yardım* 16: Vergi/resim/harç ödemesi* 17: Tazminat/sigorta ödemesi* 18: Avukatlık/DanıÅmanlık/MüÅavirlik Ãdemesi* 19: SaÄlık ödemesi* 20: Kripto/dijital varlık* 21: Åans oyunları/bahis ödemesi* 22: EÄlence/sosyal medya ödemesi* Liste içerisinde * ile iÅaretlenen \'Ãdeme Amacı\' deÄiÅiklikleri, TCMB geçiÅ süreciyle senkronize Åekilde, 02 Nisan 2026 gün sonu ile birlikte devreye alınacaktır. \n \n \n TR.OHVPS.DataCode.OdemeDurumu \n Ãdemenin durumunu gösterir. AlabileceÄi deÄerler: 01: GerçekleÅti (Ãdeme ilgili ödeme sistemine iletildi ve alıcı hesabına ulaÅtı.) 02: Gönderildi (Ãdeme ilgili ödeme sistemine iletildi ancak alıcı hesabına ulaÅtıÄına dair teyit alınmadı.)İÅlemin son durumunun teyidi için YÃS sorgulama yapmalıdır. 03- GerçekleÅmedi (Ãdemenin ilgili ödeme sistemine iÅletiminde veya iÅlenmesi sırasında hata, zaman aÅımı, sistemin gün sonu iÅlemlerine baÅlaması vb. durum oluÅtu ve ödeme gereçeklemedi veya iade edildi.) 04- Onayda bekliyor (Ãdeme emri veya ileri tarihli ödeme emri alındı. Ãoklu onay akıÅının tamamlanması bekleniyor.) 05- Ãdeme Bekleniyor ( Ãdeme Sistemine gönderilmeden önceki statüdür.) 06- Kısmen GerçekleÅti ( İleri tarihli ve düzenli ödeme talimatlarında kısmi ödeme yapılan iÅlemler için geçerli statüdür.) 07- İptal Edildi ( Ãdeme sistemine gönderilmeden önce müÅteri ya da herhangi bir sebepten iptal edilen durumlarda kullanılabilir.) \n \n \n TR.OHVPS.DataCode.OdemeKaynak \n I: İnternet bankacılıÄından gönderilen ödemelerde kullanılır. A: Otomatik para makineleri (ATM) ile gönderilen ödemelerde kullanılır. T: Telefon bankacılıÄı ile gönderilen ödemelerde kullanılır. K: Kiosklar aracılıÄıyla gönderilen ödemelerde kullanılır. S: Åubeden girilen ödemelerde kullanılır. M: Mobil uygulamadan gönderilen ödemelerde kullanılır. D: Yukarıdakiler dıÅındaki ödeme kaynaklarından gönderilen ödemelerde kullanılır. O: Açık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır. \n \n \n TR.OHVPS.DataCode.OdemeSistemi \n İÅlemin yönlendirildiÄi Ãdeme Sistemine göre aÅaÄıdaki deÄerlerden birini alabilir: H: Havale F: FAST E: EFT (PÃS) deÄerlerinden birini alabilir. \n \n \n TR.OHVPS.DataCode.OhkTur \n B: Bireysel K: Kurumsal \n \n \n TR.OHVPS.DataCode.OhkTanimTip \n TCKN: TCKN  (ohkTanimDeger N11 olarak gönderilmelidir.) MNO:   HHSâye özel bireysel veya kurum müÅteri numarası (OHKTanimDeger AN1..30 olarak gönderilmelidir. ) YKN:   Yabancı Kimlik Numarası (OHKTanimDeger N11 olarak gönderilmelidir.) PNO:   Pasaport numarsı (ohkTanimDeger AN7..9 olarak gönderilmelidir.) GSM:   Cep telefonu numarası (ohkTanimDeger N10 olarak gönderilmelidir.) IBAN:  IBAN numarası (OHKTanimDeger AN26 olarak gönderilmelidir.) \n \n \n TR.OHVPS.DataCode.OlayTip \n KAYNAK_GUNCELLENDI AYRIK_GKD_BASARILI AYRIK_GKD_BASARISIZ HHS_YOS_GUNCELLENDI \n \n \n TR.OHVPS.DataCode.YOSDurumu \n A : Açık. Ãretim Ortamında YÃSâün aktif bir Åekilde hizmet vermesi durumu. G : Geçici Hizmet Veremiyor. YÃS servislerinde teknik bir sorun olması nedeniyle YÃS\'ün hizmet verememesi durumu. K: Kapalı. YÃS\'ün hizmet vermeme durumu. \n \n \n TR.OHVPS.DataCode.PSUInitiated \n âEâ : Evet âHâ : Hayır âOâ : Olay Bildirim \n \n \n TR.OHVPS.DataCode.RizaDurumu \n B: Yetki Bekleniyor Y: Yetkilendirildi K: Yetki Kullanıldı E: Yetki Ãdeme Emrine/Talimata DönüÅtü S: Yetki Sonlandırıldı I :Yetki Iptal \n \n \n TR.OHVPS.DataCode.RizaIptDtyKod \n â01â :Yeni Rıza Talebi ile İptal â02â :Kullanıcı İsteÄi ile HHS üzerinden İptal â03â :Kullanıcı İsteÄi ile YÃS üzerinden İptal â04â :Süre AÅımı : Yetki Bekleniyor â05â :Süre AÅımı : Yetkilendirildi â06â :Süre AÅımı : Yetki Ãdemeye DönüÅmedi â07â :GKD iptali : Aynı rıza no ile mükerrer çaÄrımı â08â :GKD iptali : Rızano ile TCKN uyuÅmaması â09â :GKD iptali : Uygun ürünü bulunmuyor â10â :GKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı â11â :GKD iptali : Hesap Yetki S
16orunu â12â :GKD iptali : ÃHK HHS kontrollerini aÅamadı â13â :GKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi â14â :GKD iptali : Fraud Åüphesi â15â :Hesap Rıza Güncelleme Talebi ile İptal â99â :GKD iptali : DiÄer \n \n \n TR.OHVPS.DataCode.RizaTip \n H: Hesap Bilgisi Rızası O: Ãdeme Emri Rızası I: İleri Tarihli Ãdeme Emri Rızası D: Düzenli Ãdeme Emri Rızası \n \n \n TR.OHVPS.DataCode.SrlmYon \n âAâ: Azalan deÄerle sıralama âYâ: Artan deÄerle sıralama \n \n \n TR.OHVPS.DataCode.VarYok \n 0 : Kayıt Yok 1 : Kayıt Var \n \n \n TR.OHVPS.DataCode.YetTip \n AlabileceÄi deÄerlere göre hangi belirtecin döneceÄine karar verilir. yet_kod yenileme_belirteci \n \n \n TR.OHVPS.DataCode.ZmnAralik \n 0 : Kayıt Yok 1 : 0-2 saat 2 : 2 saat 1 dakika-24 saat 3 : 1-3 gün 4 : 4-15 gün\t 5 : 16 gün ve üstü \n \n \n TR.OHVPS.DataCode.HizmetTipi \n 01 : Ayrık GKD 02 : İleri Tarihli Ãdeme 03 : Düzenli Ãdeme \n \n \n TR.OHVPS.DataCode.OdemePeriyodu \n G : Günlük H : Haftalık A : Aylık D : DiÄer \n \n \n TR.OHVPS.DataCode.KartTip \n B : Banka Kartı K : Kredi Kartı P : Ãn Ãdemeli(Prepaid) Kart \n \n \n TR.OHVPS.DataCode.AltKartTip \n A : Asıl E : Ek Kart S : Sanal Kart \n \n \n TR.OHVPS.DataCode.KartStatu \n A : Açık/Aktif P : Pasif I : İptal \n \n \n TR.OHVPS.DataCode.IslemPuanDurumu \n 01 : Puan Kazanımı 02: Puan Kullanımı 03: Puan İade 04: Puan İptal \n \n \n TR.OHVPS.DataCode.KartSema \n T : TROY M : Mastercard V : Visa U : UnionPay A : American Express J : JCB \n \n \n TR.OHVPS.DataCode.KartTuru \n B : Bireysel T :Ticari \n \n \n TR.OHVPS.DataCode.KartFormu \n F : Fiziksel D :Dijital \n \n \n TR.OHVPS.DataCode.EkstreStatu \n A : Aktif P : Pasif \n EK-3: İstemci Sertifikalarının Tanım ve Yönetimi \n Tüm katılımcıların GEÃİT\'e eriÅebilmesi için, BKM tarafından yapılan istemci sertifika doÄrulamasından geçmesi gerekmektedir. İstemci sertifikası üretilmeden önce katılımcıların CSR üretme akıÅını tamamlaması gerekmektedir. \n OpenSSL ile CSR (Certificate Signing Request) OluÅturma \nAÅaÄıdaki komut ile 2048-bit RSA private key ve CSR oluÅturulur. \nopenssl req -new -newkey rsa:2048 -nodes -keyout PRIVATEKEY.key -out CSR.csr \n CSR ile ilgili detay bilgilerin giriÅinde; \nCommon Name (CN) olarak 4 karakterli hhsKod ya da yosKod deÄeri ile, \ndiÄer alanlar için de kurum bilgileriniz ile giriÅ yapılır. \n Tüm bilgilerin girilmesinden sonra oluÅan private key dosyası kurumunuzda saklanır.\nCSR dosyası ise istemci sertifika üretmek üzere kullanılır. Bu aÅamada takip edilmesi gereken adımlar Åu Åekildedir: \n Katılımcıların, TRIP ortamı üzerinden, BKM Tarafından yetki verilmiÅ kullanıcılarının görebileceÄi "İstemci Sertifika Talebi" menü adımına giriÅ yapmaları beklenir. Açılan ekranda,"CSR Dosyası Yükleme" alanı içerisine, katılımcının üretmiÅ olduÄu csr dosyası yüklenir. YaklaÅık 1 dakika içerisinde kuruma özel olarak üretilmiÅ olan client sertifikası indirilmeye hazır hale gelecektir. "İndir" butonu ile client sertifika indirilir. İstemci tarafında web isteÄinin ilgili sertifika ile iliÅkilendirilerek oluÅturulması gerekmektedir. \n Uzun dönemli olarak hazırlanacak olan sertifikalar sertifikasyon ve üretim ortamlarında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi bu aÅamalarda sınanacaktır. \n GEÃİT\'in test ve üretim ortamları ayrımında istemci sertifikaları, HHS Listeleme API eriÅimleri ve Sertifikasyon baÄlantıları Åekil 15-HHS/YÃS API Mimarisi Diagramında resmedilmiÅtir. \n EK-4: Sunucu Sertifikaları \n Sunucu sertifikalarının endpoint bilgisini (Fqdn) içerecek ve global bir Certification Authority tarafından imzalanmıŠolarak sunulması gerekmektedir.\nÃrneÄin; entegrasyon formu içerinde yer alan URL bilgisinin (test.xbank.com.tr) sertifika içerisinde tanımlı olması ve bu sertifikanın global bir CA örneÄin Verisign tarafından imzalanmıŠolarak sunulması gerekmektedir. \n Hizmet saÄlayıcı olan HHS\'ler tarafından sunucu sertifikaları uygulanmalıdır. \n EK-5: Mesaj İmzalama AkıÅı \n Dijital imzalama yapısı,
16ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini saÄlamak amacıyla kurgulanmıÅtır. İmzaların kaynak bazında hangi istek ve yanıtlara uygulandıÄı belirlidir. \n API yalnızca TLS\'ye dayanırsa, dijital kayıtları ve inkâr edilemezlik kanıtlarını tutmak zor olur. Bu nedenle, TLS\'ye dayanmayan bir inkâr edilemezlik çözümü olarak API isteÄinin HTTP baÅlıÄında bir JWS kullanılarak saÄlanabilir. \n HTTP isteÄinin gövdesinin hash fonksiyonu (SHA256) ile özeti alınacaktır. Elde edilen özet, asimetrik anahtarları destekleyen bir algoritma kullanılarak imzalanacak ve JWS elde edilecektir. İsteÄin kendinize geldiÄi durumda body üzerinde hiç bir deÄiÅikliÄe tabi tutmadan (serialize/deserialize, minify, trim, vb yapmadan) doÄrulama yapmanız gerekmektedir. Aynı Åekilde isteÄin kendinizden çıktıÄı aÅamada da response body üzerinde hiç bir deÄiÅikliÄe tabi tutmadan (serialize/deserialize, minify, trim, vb yapmadan) mesaj imzalama yapılmalıdır. \n Bu kapsamda imzalama akıÅı aÅaÄıdaki gibi olmalıdır: \n \n HHS ve YÃS öncelikle özel ve açık anahtarlarını oluÅturmalıdır. Bu anahtarları oluÅturmak için aÅaÄıda âopensslâ kullanılarak oluÅturma örneÄi paylaÅılmıÅtır. Bu anahtarlardan özel olan anahtar mesajı imzalamak için kullanılacak olup, açık anahtar ise mesajı doÄrulamak amacıyla mesajın alıcısı tarafından kullanılacaktır. \n \n Ãzel anahtarın oluÅturulması. private.pem => Ãzel anahtar \n openssl genrsa -out private.pem 2048 \n Ãzel anahtardan açık anahtarın oluÅturulması. public_key.pem => Açık anahtar (BKM ile paylaÅılacak açık anahtar) \n openssl rsa -in private.pem -pubout -outform PEM -out public_key.pem \n Opsiyonel olarak özel anahtarın PCKS8 formatına çevrilmesi (Java açısından PCKS8 formatında olma ihtiyacı nedeniyle). private_key.pem => Ãzel anahtarın formatlanmıŠhali. \n openssl pkcs8 -topk8 -inform PEM -in private.pem -out private_key.pem ânocrypt \n \n \n Açık ve Ãzel anahtarlar oluÅturulduktan sonra Açık Anahtar BKM ile paylaÅılır. BKM bu açık anahtarı diÄer katılımcıların ulaÅabilmesi ve alabilmesi için bir Anahtar Deposu yaklaÅımı ile bünyesinde tutar. İlgili anahtarı iletebilmek ve alabilmek için kullanılacak HHS/YOS API ye eriÅim detayları EK-6 bölümünde detaylı olarak paylaÅılmıÅtır. EÄer kurumun ilgili anahtar çiftinin yenilenme durumu söz konusu ise yenilemenin hemen ardından açık anahtar yeni bir imzalama yapılmadan önce mutlaka BKM ile paylaÅılmalıdır. \n \n \n İmzalı mesajı açacak olan kurum mesajı imzalayan kurumun açık anahtarını her sorguda yeniden almak durumunda deÄildir. Belirli periyodlarda kendi ortamındaki anahtarı yenileyerek sistemi iÅletebilir. Ancak imzalayan kurum anahtar çifti yenilemesi yaptıÄında BKM ile açık anahtarını paylaÅsa dahi imzalı mesajı doÄrulayacak taraf eski açık anahtar ile doÄrulama yapmaya çalıÅtıÄı için hata alacaktır. Bu ilk hata durumunda hızlıca BKM üzerinden yeni anahtarı alıp mesajı tekrar doÄrulamayı denemelidir. EÄer yine hata alıyor ise doÄrulama iÅlemini hata statüsüne almalıdır. Bu sebeple anahtar yenileyen kurum yeni açık anahtarını yeni bir mesaj imzalama yapmadan önce mutlaka BKM ile paylaÅmalıdır. \n \n \n PSU-Fraud-Check alanı için de JWT formatında çıktı hazırlanması beklenmektedir. Ãrnek bir PSU-Fraud-Check payload deÄeri aÅaÄıdaki gibidir; \n {"AnomalyFlag": "0", \n"LastPasswordChangeFlag": "1", \n"FirstLoginFlag": "1", \n"DeviceFirstLoginFlag": "1", \n"BlacklistFlag": "0", \n"MalwareFlag": "0", \n"UnsafeAccountFlag": "0", \n"exp": 1663424479, \n"iat": 1663338079, \n"iss": "[https://apigw.bkm.com.tr|https://apigw.bkm.com.tr/]" } \n İmzalama Kuralları (YÃS) \n Bir YÃS üzerinden baÅlayan akıŠörnek olarak paylaÅılmıÅtır. \n \n \n YÃS, mesaj imzalama gerektiren her API isteÄinin HTTP gövdesini (request body) kendi özel anahtarı ile Åifreleyerek imza bilgisini oluÅturur. \n \n \n Ardından bu imza verisini, göndereceÄi mesajın istek baÅlıÄında yer alan X-JWS-Signature alanında göndermelidir. \n \n \n X-JWS-Signature alanında gönderilecek olan bilgi aÅaÄıdaki yöntem ile oluÅturulmalıdır. \n \n \n Bu alana yazılacak olan bilgi JWT formatında oluÅturulmalıdır. \n \n \n Bir JWT, header-payload-signature alanlarından oluÅmaktadır. \n \n Header alanında JWTâyi imzalamak için kullanılacak algoritma belirtilmelidir. Standartlar kapsamında RS256 kullanılacaktır. \n Payload kısmında özel olarak oluÅturulacak olan âbodyâ claim alanına istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı yazılmalıdır. \n JSON payload oluÅturulurken RFC 7519 baz alınmalıdır. "iss" (Issuer) Claim, "exp" (Expiration Time) Claim, "iat" (Issued At) Claim, âbodyâ Claim alanlarının gönderilmesi zorunludur. ^RFC7519 \na.\t"iss" (Issuer) Claim : Kurumunuza özel bilgidir. \nb.\t"exp" (Expiration Time) Claim: Saniye cinsinden (Unix time) imzanın son geçerli olduÄu tarih. Bu tarih mevcut sunucu saatinizden 60 dakika sonra olacak Åekilde kullanılmalıdır. \nc.\t"iat" (Issued At) Claim : Saniye cinsinden (Unix time) imzanın oluÅturulduÄu tarih. Bu tarih mevcut sunucu saatinizden 5 dakika önce olacak Åekilde kullanılmalıdır. \nd.\tâbodyâ Claim : istek gövdesi (request body) verisinin SHA256 hash deÄeri karÅılıÄı. \n Signature alanında da özel anahtar ile imzalanmıŠolan imza içeriÄi yer alacaktır. \n \n X-JWS-Signature: JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. \n Ãrnek X-JWS-Signature Payload DeÄeri \n { \n"iss": "https://apigw.bkm.com.tr", \n"exp": 1646832405, \n"iat": 1646746005, \n"body": "c543072f97a761a1d891dc81acc380bc1e6f61ca6541bd93ebfdece338457922" \n} \n \n \n \n \n YÃS, isteÄi gönderir. Sadece mesajın bütünlüÄünü ve doÄruluÄunu teyit amacı ile istek gövdesi (request body) SHA256 hash deÄeri imzalanarak X-JWS-Signature alanında bu imza iletilir. İsteÄin gövde (request body) kısmı açık ve Åifresiz olarak gönderilmektedir. \n \n \n HHS, isteÄi alır, talebi gerçekleÅtirmeden önce aldıÄı API isteklerinin imzasını doÄrulamalıdır. X-JWS-Signature alanındaki JWT aÅaÄıdaki adımlarla doÄrulanmalıdır. \n \n Header kısmındaki algoritmanin RS256 olduÄu kontrol edilir. \n Gönderen kurumun açık anahtarı ile JWT verify (doÄrulama) iÅlemi yapılır. \n Yukarıdaki iÅlemlerin doÄruluÄunun ardından JWTânin payload kısmındaki âbodyâ claim alanındaki bilginin, isteÄin gövde verisinin SHA256 hash deÄerlerinin aynı olduÄu kontrol edilir. \n Ãrnek checksum deÄeri "a64b19f95eeb1fb0a0a3e2dbbc6e3d8472c52184d4543417ddc6d156fc5c5571" veya "A64B19F95EEB1FB0A0A3E2DBBC6E3D8472C52184D4543417DDC6D156FC5C5571" Åeklinde olabilir. İki hali de aynı deÄere sahiptir. Kontrollerde buna dikkat edilmesi gerekmektedir. \n \n \n \n Yukarıdaki iÅlemler ile doÄruluÄu teyit edilmiÅ olan isteÄin talebi gerçekleÅtirir. \n \n \n EÄer istek doÄrulanamıyor ise gönderen kurumun açık ve özel anahtar çifti yenilenmiÅ olabilir. \n \n \n BKM HHS API üzerinden ilgili kurumun bilgilerini (kurum ko
16du vs) kullanarak kurumun detay bilgileri çeker ve kendi ortamında yeniler. \n \n \n Ardından imzayı tekrar açık anahtar ile doÄrulayarak kontroller gerçekleÅtirilir. (EÄer halen doÄrulama iÅlemi baÅarısız ise bu istek için hata akıÅı çalıÅtırılır. TR.OHVPS.Resource.InvalidSignature kodu ile hata üretilebilir.) \n \n \n İmza bilgisinin beklendiÄi (x-jws-signature) servislerde, bu bilginin iletilmediÄi durumlarda TR.OHVPS.Resource.MissingSignature hatası üretilebilir. \n \n \n HHS isteÄi iÅledikten sonra cevabı oluÅtururken de yukarıdaki akıÅlar ile göndereceÄi cevabı imzalamalıdır. \n \n \n İstek yanıt gövdesinin SHA256 checksum deÄeri için hexadecimal çıktı kullanılacaktır. OluÅacak çıktının 64 karakter olması beklenmektedir. Kontrol için "^[A-Fa-f0-9]{64}$" RegEx tarifini kullanabilirsiniz. \n \n \n Ãrnek bir gövde: \n {"katilimciBlg":{"hhsKod":"8000","yosKod":"8000"},"gkd":{"yetYntm":"Y","yonAdr":"https://boss-test.bkm.com.tr/boss/ab/yosSimulator/8000?drmKod=6021de9f-55e7-454a-94be-2044866b22e1"},"kmlk":{"kmlkTur":"M","kmlkVrs":"123456","ohkTur":"B"},"hspBlg":{"iznBlg":{"iznTur":["01","02","03","04","05"],"erisimIzniSonTrh":"2022-10-12T23:59:59+03:00","hesapIslemBslZmn":"2021-10-10T00:00:00+03:00","hesapIslemBtsZmn":"2023-10-10T23:59:59+03:00"}}}\n \n Bu gövdenin checksum\'ı: \n a64b19f95eeb1fb0a0a3e2dbbc6e3d8472c52184d4543417ddc6d156fc5c5571\n \n Bu checksum\'ın iletildiÄi x-jws-signature baÅlık deÄeri: \n eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwaWd3LmJrbS5jb20udHIiLCJleHAiOjE2NjU0NzU1NjIsImlhdCI6MTY2NTM4OTE2MiwiYm9keSI6ImE2NGIxOWY5NWVlYjFmYjBhMGEzZTJkYmJjNmUzZDg0NzJjNTIxODRkNDU0MzQxN2RkYzZkMTU2ZmM1YzU1NzEifQ.Q65PI_1fTEzzBMirvmJvXgVX3orhhZ4_UqujtGdHkU7me-1ymIjvPrzy3kfyER1pedFb7HDCBuPvYoqjX8eUnpiiZsxfzCiEa0McIhoFeUOggq-O8VihItp8bLr2DWwQ9JHN1-WXB2mL31KAKFAL1VY9-DXuAdT-RfE_SLYsl2ycmNy4ti4XvfDvvlE56ZsieFZ727VuwR8wi7F0kKDc6UhjaMF9xcUeAM1fxX-bmcOaOo1NZGC0vvgjNZKz_OJrN-q8VhWYnQPiJ7wY7S9IG8bHIkBImKSVf8LuOEvl8u0BZzADLH1iOBd9x2l1plyI_NLPTrnOqhWhKlljkkJBCg\n \n EÄer PSU-Fraud-Check için baÅlık gönderilecekse, yine JWT formatında imza üretilmelidir. Ãrnek bir psu-fraud-check baÅlık deÄeri: \n eyJhbGciOiJSUzI1NiJ9.eyJBbm9tYWx5RmxhZyI6IjAiLCJMYXN0UGFzc3dvcmRDaGFuZ2VGbGFnIjoiMSIsIkZpcnN0TG9naW5GbGFnIjoiMSIsIkRldmljZUZpcnN0TG9naW5GbGFnIjoiMSIsIkJsYWNrbGlzdEZsYWciOiIwIiwiTWFsd2FyZUZsYWciOiIwIiwiVW5zYWZlQWNjb3VudEZsYWciOiIwIiwiZXhwIjoxNjY1NDc1NTU2LCJpYXQiOjE2NjUzODkxNTYsImlzcyI6Imh0dHBzOi8vYXBpZ3cuYmttLmNvbS50ciJ9.DhUh_nsXDuNIrvsQ3KOhOXdVcJg6fTDVW8K1oea8kLtmb7n-_hJHY3mWX5zzobu-Vh2VvFzIxPhHtol6gLHFktmIMiQ9TDHb_mRZFXgJB4ToNfqc3Fy9mi5bS8By2IYi1HxDaCStstaZDaunzXfHCtqybfZXyk6teDrf-iIf6lqX9Keo7GZO-Y7mP7C13-c_QwyNKrZK4TZwUQbecRqXYn1DcEHM7kukQHTar_hKBWkXPmNpScY0J2rKksr4ejR1uLhdQm-Pdwoe9y6qrNEB79vMLBkRNtbuV0vc1GYHp_YKkzBKBI_58uuB2GD9877CsrcRnHMQb88xpxiPKh6-ew\n EK-6: HHS/YÃS API Mimarisi \n HHS/YÃS API Uygulama Mimarisinde Test ve Ãretim ortamlarında aÅaÄıdaki alanda yer almaktadır. \n \n Åekil 15: HHS/YÃS API Mimarisi \n'},{title:"8.\tDüzenli Ãdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v2.0.1/contents/duzenli-odeme-emri-hizmeti.html",relativePath:"v2.0.1/contents/duzenli-odeme-emri-hizmeti.md",key:"v-1d292df6",path:"/v2.0.1/contents/duzenli-odeme-emri-hizmeti.html",headers:[{level:2,title:"Düzenli Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"duzenli-odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"8.1.\tADIM 0 - Düzenli Ãdeme Emri Rızası BaÅlatma IsteÄi",slug:"_8-1-adim-0-duzenli-odeme-emri-rızası-baslatma-istegi"},{level:2,title:"8.2.\tADIM 1 - Düzenli Ãdeme Emri Rızasının Hazırlanması",slug:"_8-2-adim-1-duzenli-odeme-emri-rızasının-hazırlanması"},{level:2,title:"8.3.\tADIM 2- Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_8-3-adim-2-duzenli-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"8.4.\tADIM 2.1 â Düzenli Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_8-4-adim-2-1-duzenli-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"8.5.\tADIM 3- Duzenli Ãdeme Emrinin OluÅturulması",slug:"_8-5-adim-3-duzenli-odeme-emrinin-olusturulması"},{level:2,title:"8.6.\tADIM 3.1- Duzenli Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_8-6-adim-3-1-duzenli-odeme-emri-sorgusu-istege-baglı"},{level:2,title:"8.7.\tADIM 4- Düzenli Ãdeme Planı Sorgulama",slug:"_8-7-adim-4-duzenli-odeme-planı-sorgulama"},{level:2,title:"8.8.\tADIM 5- Düzenli Ãdeme Emri Rıza İptali",slug:"_8-8-adim-5-duzenli-odeme-emri-rıza-iptali"}],content:" 8.\tDüzenli Ãdeme Emri BaÅlatma Hizmeti \n Ãdeme hizmeti kullanıcısının düzenli tekrar eden bir ödeme talimatı gerçekleÅtirmek istediÄi ödeme emirlerinde bu hizmeti kullanabilir. Ãdemenin Havale / PÃS / FAST ödeme sistemlerinden hangisi ile gerçekleÅeceÄine, ödeme günü geldiÄinde HHS karar verir. \n Düzenli ödeme hizmetini online bankacılık sistemlerinde sunan HHS'lerin, ÃHVPS üzerinden bu hizmetleri sunması zorunludur. Mevcutta online kanallarından bu hizmeti sundukları müÅteri segmentine (bireysel,kurumsal vb.), ÃHVPS üzerinden hizmet sunmaya devam etmeleri gerekmektedir. YÃS, bireysel müÅteri özelinde düzenli ödeme hizmeti vermeyen HHS'ye düzenli ödeme talimatı rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.IndividualCustomerNotSupported hatası , kurumsal müÅteri özelinde düzenli ödeme talimatı rızası isteÄi yapıldıÄında HHS tarafından TR.OHVPS.Business.CorporateCustomerNotSupported hatası verilmelidir. \n HHS'ler düzenli ödeme hizmetini sunuÅ bilgilerini HHS API aracılıÄı ile yayınlayacaklardır. YÃS, düzenli ödeme hizmeti baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\":\"03\" parametresi ile alabilir. YÃS, düzenli ödeme hizmeti sunmayan HHS'ye düzenli ödeme talimat rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.RegularPaymentOrderNotSupported hatası
16iletilmelidir. \n Düzenli ödeme emri hizmetinde TRY dıÅındaki yabancı para birimleri için HHS tarafından destek verilmemesi durumunda TR.OHVPS.Business.InvalidCurrencyCode hataası verilmelidir. \n Düzenli ödeme talimatı güncelleme hizmeti YÃS üzerinden yapılamayacaktır. ÃHK aktif olan düzenli ödeme talimat rızasını iptal ederek, yeniden oluÅturabilecektir. \n HHS üzerinden ilgili güncelleme hizmeti saÄlanabilir. Ãdeme planında yapılan güncelleme sonucunda olay bildirim ile YÃS'e bildirim saÄlanacaktır. HHS üzerinden güncelleme yapılırken son ödeme günü için ileri bir tarihe güncelleme adımı olmamalıdır. Sadece ilk oluÅturulan düzenli ödeme emri içerisindeki son ödeme gününden öncesi olacak Åekilde güncelleme yapılmasına izin verilmelidir. \n Düzenli Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n Düzenli Ãdeme Emri Rızası BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden düzenli ödeme emri rızasını baÅlatır. \n Düzenli Ãdeme Emri Rıza Hazırlanması: ÃBHS, âDüzenli Ãdeme Emri Rızası BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve düzenli ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n Düzenli Ãdeme Emrinin BaÅlatılması: ÃBHS, âdüzenli ödeme emriâni HHSâye iletir. \n Düzenli Ãdeme Emri Rıza Durumu, Düzenli Ãdeme Emri Durumu, Düzenli Ãdeme Emri Detayı Sorguları: ÃBHS, Düzenli Ãdeme Emri Rıza Durumu, Düzenli Ãdeme Emri Durumu, Düzenli Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n Düzenli Ãdeme Planı Sorguları: ÃBHS, Düzenli Ãdeme Emri için oluÅturulan talimata dair ödeme planını sorgulayabilir. \n \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin hem HBH hem de ÃBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini(önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n YÃS'ler gönderen hesap seçimini aÅaÄıdaki yöntemlerden biri ya da birkaçı ile saÄlayabilirler: \n \n YÃS, müÅterisinin ödeme hesabını HHS ekranından seçtirebilir. \n YÃS, müÅterisinden Hesap Bilgisi rızası alır. Rıza aldıÄı hesaplar üzerinden hesap referansı aracılıÄı ile düzenli ödeme emri baÅlatabilir. \n YÃS, müÅterisinin ödeme hesabını elle girmesine olanak tanıyabilir. IBAN'ı olmayan HHS'ler düzenli ödeme emri rızası adımında TR.OHVPS.Business.IBANNotSupported hatasını vermelidir. IBAN'ı olan HHS'lerin bu akıÅı desteklemesi zorunludur. \n YÃS; müÅterisinin hesap referansını elle girmesini saÄlayabilir. Hesap Referansı bilgisi ile baÅlatılan düzenli ödeme emri iÅlemlerinde HHS seçimi zorunludur. \n \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN sunmadıkları için, YÃS'ler hesap referansı ile ödeme baÅlatabilirler. Bunların dıÅındaki HHS'lerin, gönderen IBAN veya hesap referansı ile ödeme akıÅını desteklemesi zorunludur. \n Düzenli Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n Düzenli Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. Ãdeme Emri Hizmeti ile aynı etki alanı(scope) kullanılmaktadır. \n Tablo : Düzenli Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n duzenli-odeme-emri-rizasi \n POST \n /duzenli-odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n DuzenliOdemeEmriRizasiIstegi \n DuzenliOdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 3 \n duzenli-odeme-emri-rizasi \n GET \n /duzenli-odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n DuzenliOdemeEmriRizasi \n \n \n 4 \n duzenli-odeme-emri \n POST \n /duzenli-odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı İstek ve Yanıt \n DuzenliOdemeEmriIstegi \n DuzenliOdemeEmri \n \n \n 5 \n duzenli-odeme-emri \n GET \n /duzenli-odeme-emri
16/{talimatNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n DuzenliOdemeEmri \n \n \n 6 \n duzenli-odeme-emri-rizasi-iptal \n DELETE \n /duzenli-odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n - \n - \n - \n \n \n 7 \n duzenli-odeme-talimat-plani \n GET \n /duzenli-odeme-emri/{talimatNo}/odeme-plani \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n DuzenliOdemeEmriPlani \n 8.1.\tADIM 0 - Düzenli Ãdeme Emri Rızası BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) düzenli ödeme emri rızası sürecini baÅlatır. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 8.2.\tADIM 1 - Düzenli Ãdeme Emri Rızasının Hazırlanması \n \n Åekil : Düzenli Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak düzenli ödeme emri rıza kaynaÄının oluÅturulmasını (DuzenliOdemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ olduÄu geçit tarafından kontrol edilir. \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahipliÄi geçit tarafından kontrol edilir. \n HHS tarafından, istek baÅlıÄındaki x-aspsp-code ile katilimciBlg içerisinde yer alan hhsKod deÄeri ile aynı olduÄunu kontrol edilir. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n \n \n \n POST baÅarılı olursa, HHS, düzenli ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren DuzenliOdemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1 HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /duzenli-odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir DuzenliOdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, düzenli ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n YÃS, düzenli ödeme hizmeti sunmayan (HHS API'de yer alan \"hizmetTipi\":\"03\" yok ise) HHS'ye düzenli ödeme talimat rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.RegularPaymentOrderNotSupported hatası dönülür. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hata kodu iletilmeli ve fieldErrors dolu olacak Åekilde hatalı alanı belirten detaylı açıklama gönderilmelidir. InvalidFormat hata kodlarında fieldErrors içeriÄi gönderilmeli ve anlaÅılır açıklama ile message, messageTr alanları doldurulması zorunludur. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n YÃS, bireysel müÅteri özelinde düzenli ödeme hizmeti vermeyen HHS'ye düzenli ödeme talimatı rızası isteÄi yapması durumunda HHS tarafından \"TR.OHVPS.Business.IndividualCustomerNotSupported\" hatası , kurumsal müÅteri özelinde düzenli ödeme talimatı rızası isteÄi yapıldıÄında HHS tarafından \"TR.OHVPS.Business.CorporateCustomerNotSupported\" hatası dönülür. \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme adresleri ile düzenli ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini y
16apar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.TPPRedirectionAddressMismatch\" hatası dönülür. \n HHS; kimlik bilgileri nesnesinde yer alan kimlik bilgileri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerNotFound\" hatası dönülür. \n Düzenli Ãdeme Emri BaÅlatma Hizmeti rıza isteÄinde bulunan ÃHKânın âAçık Bankacılık Kanal Yetkiâ tanımı yok ise \"TR.OHVPS.Business.OpenBankingChannelClosed\" hatası dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n Ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapılması durumunda HHS tarafından \"TR.OHVPS.Business.DecoupledAuthenticationNotSupported\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından \"TR.OHVPS.Business.EventSubscriptionNotFound\" hatası dönülür. \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin, ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından \"TR.OHVPS.Business.CustomerInfoMismatch\" hatası dönülür. \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS tarafından \"TR.OHVPS.Business.CustomerMobileApplicationNotFound\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n HHS kimlik bilgisi ile gönderen ünvanının uyumlu olduÄunu kontrol eder. HHS'ler EFT/FAST iÅlemlerinde kabul ettikleri kontrol kriterleri ile iÅleme izin verebilirler. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.IncorrectSenderTitle\" hatası dönülür. \n Gönderen Hesap Numarası ÃBHS tarafından iletildiÄi durumda;\n \n IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.InvalidAccount\" hatası dönülür. \n IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountCodeMismatch\" hatası dönülür. \n Hesap numarasının ÃHKâya ait olduÄu kontrol edilir.Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerAccountMismatch\" hatası dönülür. \n HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. (İlgili hesabın para transfer iÅlemine yetkisi olmaması) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountUnauthorized\" hatası dönülür. \n HHSâde gönderen hesabın aktifliÄi kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountInactive\" hatası dönülür. \n \n \n Gönderen hesap numarası için, Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile düzenli ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise \"TR.OHVPS.Business.ActiveConsentNotFound\" hatası verilmelidir. \n Düzenli ödeme emri rızasında alıcı hesap bilgileri Karekod ya da Kolas ile belirlenebilir. HHS online kanallarında düzenli ödeme hizmetini Karekod ve Kolas aracılıÄı ile kabul ediyorsa, ÃHVPS servisleri ile de kabul etmek zorundadır. YÃS tarafından düzenli ödeme emri rızası isteÄi içerisinde alıcı bilgisi için karekod ya da kolas kompleks alanları yer alması durumunda , destek vermeyen HHS'ler tarafından \"TR.OHVPS.Business.RecipientAccountTypeNotSupported\" hatası verilmelidir. \n Alıcı ve gönderen hesabın aynı olması durumunda âTR.OHVPS.Business.SenderRecipientSameâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n MüÅterinin kendi hesapları arasında talimat veremeyeceÄi durumların kontrolü için âTR.OHVPS.Business.SameAccountTransferRestrictedâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, DuzenliOdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n Bu aÅamada ÃHKânın HHS tarafından tanımlanmıŠve isteÄin veri alanında gönderen hesaba (borçlandırılacak hesaba) iliÅkin bir bilgisinin olması gerekmez. \nHesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK düzenli ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n POST /duzenli-odeme-emri-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âDuzenliOdemeEmriRizasiIstegiâ nesnesi (Tablo) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âDuzenliOdemeEmriRizasiâ (Tablo) nesnesi oluÅturulur. \n BAÅARILI İSTEK: \n Tablo : âDuzenliOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından düzenli ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n >
16 Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda düzenli ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile düzenli ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, HspRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının ünvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n Talimatın gerçekleÅeceÄi ana kadar KOLAS tanımınında deÄiÅiklik olabileceÄi için, KOLAS ile yapılan düzenli ödeme emri iÅlemleri, talimatın verildiÄi anda çözülen IBAN'a yapılacaktır. \n Kolas ile düzenli ödeme emri hizmeti desteklenmiyorsa; HHS tarafından hata dönülmelidir. \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n Karekod ile yapılan düzenli iÅlemler, talimatın verildiÄi anda çözülen IBAN'a yapılacaktır. \n Karekod ile düzenli ödeme emri hizmeti desteklenmiyorsa; HHS tarafından hata dönülmelidir. \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n HHS, YÃS'ün API deseninde \"O\" kodunu ilettiÄini kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarında: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tİÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n YÃS bu deÄeri ÃHKâyı HHSâye yönlendirmeden önceki ekranda göstermeli, ve HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak yine ÃHKâya göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âDuzenliOdemeEmriRizasiâ nesnesi Tabloâda parametrelerden oluÅur: \n Tablo : âDuzenliOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n DuzenliOdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n DuzenliOdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n DuzenliOdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n >
16 Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen ünvanını göndermesi zorunludur. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n 8.3.\tADIM 2- Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil : Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın düzenli ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, düzenli ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=D&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, düzenli ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=D&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=D&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın düzenli ödeme emri rızasını baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK, bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, düzenli ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, düzenli ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 8.4.\tADIM 2.1 â Düzenli Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âDuzenliOdemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp Düzenli Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda düzenli ödeme emri isteÄinde gönderen hesap bilgilerinin zorunlu olması nedeniyle, DuzenliOdemeEmriRizasi nesnesi sorgulanarak bu bilgiler alınmalıdır. HHS, â ADIM 2 -Düzenli Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin DuzenliOdemeEmriRizasi nesnesine iÅler. \n \n Sorgulama yapılan Düzenli Ãdeme Emri HHS tarafında bulunmuyor ise \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n \n GET /duzenli-odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir DuzenliOdemeEmriRizasi k
16aynaÄının durumunu isteÄe baÄlı olarak alabilir. \n Durum \n DuzenliOdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine/Talimata DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n Düzenli Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /duzenli-odeme-emri-rizasi/{rizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âDuzenliOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-8âde yer alan parametreleri içeren âDuzenliOdemeEmriRizasiâ oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âDuzenliOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /duzenli-odeme-emri-rizasi/{rizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âDuzenliOdemeEmriRizasiâ nesnesini çekmelidir. \n 8.5.\tADIM 3- Duzenli Ãdeme Emrinin OluÅturulması \n \n Åekil 8: Duzenli Ãdeme Emrinin OluÅturulması \n POST /duzenli-odeme-emri \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS DuzenliOdemeEmri kaynaÄını oluÅturur.\nDuzenli Ãdeme emri (DuzenliOdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır. \n \n EriÅim Belirteci kontrolü yapılır. Geçerli bir EriÅim Belirteci yok ise \"TR.OHVPS.Connection.InvalidToken\" hatası dönülür. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor, Y: Yetkilendirildi ya da E: Yetki Ãdeme Emrine DönüÅtü ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n POST /duzenli-odeme-emri-rizasi ile POST /duzenli-odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır. Düzenli Ãdeme Emri rızasında gönderilen deÄerlerden farklı bir deÄer gönderildiÄi durumda âTR.OHVPS.Business.FieldMismatchâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra POST baÅarılı olursa, içerisinde tlmtNo deÄiÅkeni bulunan DuzenliOdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine/Talimata DönüÅtüâ olarak güncellenir. \n BAÅARILI İSTEK: \n Tablo 9: âDuzenliOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından düzenli ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n >Yönlendirme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n >Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. yetYntm = Y için bu nesne iletilmemelidir. \n \n \n \n >>OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >>OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n \n \n >Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. Duzenli Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Duzenli Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde, 1. HHS, Gönderen Adı ve Gönderen Hesap Numarasını düzenli ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Duzenli Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Duzenli Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. Duzenli Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n >
16 Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n Duzenli Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n Duzenli Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda düzenli ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi düzenli ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Duzenli Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Duzenli Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n KolasRef ( hem FAST hem de PÃS için aynı) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n Duzenli Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n Duzenli Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n Duzenli Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n Duzenli Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n Duzenli Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. \n RefBlg (Hem FAST hem de PÃS için aynı) \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n FAST/PÃS Acklm \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âDuzenliOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âDuzenliOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanıdır. \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n Z \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n Talimat Bilgileri \n tlmtBlg \n Kompleks: TalimatBilgileri \n
16- \n \n \n \n > Talimat Numarası \n tlmtNo \n AN1..128 \n Z \n Düzenli Ãdeme Emri nesnesinin UID'sidir. Düzenli Ãdeme Emri kaydı'na dair İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Talimat OluÅma Zamanı \n tlmtOlsZmn \n ISODateTime \n Z \n duzenliOdemeEmri nesnesinin oluÅturulma zamanı, talimatın HHS'de oluÅturulduÄu zaman bilgisidir. \n \n \n > Talimat Tutarı \n tlmtTtr \n AN1..24 \n Z \n ÃBHS'nin HHS'de belirlediÄi tutar bilgisidir. Talimata ait ilk ödeme emri kaydının tutar bilgisi iletilmelidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n > İlk Ãdeme Günü \n ilkOdmGn \n ISODate \n Z \n ÃBHS'nin HHS'de belirlediÄi ilk ödeme günü bilgisidir. AlabileceÄi minimum tarih deÄeri düzenli ödemenin verildiÄi tarihin 1 gün sonrası olabilir. Maksimum deÄer ise 30 gün olacak Åekilde seçilebilir. \n \n \n > Son Ãdeme Günü \n sonOdmGn \n ISODate \n Z \n ÃBHS'nin HHS'de belirlediÄi son ödeme günü bilgisidir. AlabileceÄi minimum gün deÄeri ilk ödeme gününün 1 gün sonrası olabilir. Maksimum deÄer ise 2 yıl olmalıdır. \n \n \n > Ãdeme Sayısı \n odmSayi \n N3 \n Z \n ÃBHS'nin HHS'de belirlediÄi ödeme sayısıdır. Minimum deÄer 2 adet olmalıdır. \n \n \n > Ãdeme Periyodu \n odmPryt \n AN1 \n Z \n ÃBHS'nin HHS'de belirlediÄi ödeme periyot bilgisidir. TR.OHVPS.DataCode.OdemePeriyodu sıralı veri deÄerlerinden birini alır. \n \n \n > Talimat Rumuzu \n tlmtRmz \n AN1..180 \n İ \n ÃBHS'nin HHS'de belirlediÄi talimata dair rumuz açıklamasıdır. İlgili alan isteÄe baÄlı olup HHS'lerin inisiyatifindedir. \n 8.6.\tADIM 3.1- Duzenli Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: Duzenli Ãdeme Emri Sorgusu \n GET /duzenli-odeme-emri/{tlmtNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla düzenli ödeme emrini sorgulayabilir. Maksimum talimata dair son ödeme gününün 5 gün sonrasına kadar sorgulama yapılabilir. Sonrasında yapılacak sorgulamalarda eriÅim belirtecinin yetki süresi sonlandıÄı için HHS TR.OHVPS.Resource.ConsentRevoked  hatasını dönmelidir.\nİptal edilmiÅ talimatın bilgileri sorgulanmak istendiÄinde de yine TR.OHVPS.Resource.ConsentRevoked  hatası verilmelidir. \n YÃS sadece kendi uygulaması üzerinden verilmiÅ düzenli ödemeleri sorgulayabilir. EriÅim izni olmayan bir ödeme emri numarası ile sorgulama yaptıÄında HHS'den TR.OHVPS.Resource.NotFound hatasını alır. \n BAÅARILI YANIT: \n GET /duzenli-odeme-emri/{tlmtNo} yanıtının (RESPONSE) gövdesinde (BODY) âDuzenliOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âDuzenliOdemeEmriâ nesnesi döner. \n 8.7.\tADIM 4- Düzenli Ãdeme Planı Sorgulama \n \n Åekil 10: Düzenli Ãdeme Planı Sorgulama \n GET /duzenli-odeme-emri/{talimatNo}/odeme-plani \n ÃBHS, bu eriÅim adresi aracılıÄıyla düzenli ödeme planını görüntüleyebilir. İptal edilen bir ödeme emri rızasına dair talimat ödeme planı görüntülenemeyecektir. İptal edilmiÅ bir talimata ait istek geldiÄinde HHS tarafından \"TR.OHVPS.Resource.ConsentRevoked\" hatası dönülmelidir. \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan \"DuzenliOdemeEmriPlani\" nesnesi Tablo-11âdeki parametrelerden oluÅur: \n Tablo 11: DuzenliOdemeEmriPlani nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Ãdeme Sıra Numarası \n odmSiraNo \n AN1..999 \
16n Z \n Ãdeme planı içerisindeki sırayı belirten deÄerdir. \n \n \n Ãdeme Tutarı \n odmTtr \n AN1..24 \n Z \n Ãdeme planı içerisinde ödeme numarası kaydına ait ödenecek tutar bilgisi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n GerçekleÅen Ãdeme Tutarı \n grckOdmTtr \n AN1..24 \n K \n Ãdeme planı içerisinde ödeme numarası kaydına ait ödenmiÅ tutar bilgisi. Kısmi ödeme yapılan iÅlemlerde kısmi ödeme tutar bilgisi eklenmelidir. Kısmi ödeme yerine ödenecek tutarın tamamı ödenmesi durumunda ilgili tutar bilgisi iletilmelidir. Ãdeme Durumu 01, 02 ve 06 olan kayıtlar için bu alanın gönderilmesi zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n Ãdeme Tutarı Para Birimi \n prBrm \n AN3 \n Z \n Tutara ait Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n Ãdeme Talimat Tarihi \n odmTlmtTrh \n ISODate \n Z \n Ãdeme planı içerisindeki ilgili ödemenin gerçekleÅmesi beklenen tarih bilgisidir. \n \n \n Ãdeme GerçekleÅme Zamanı \n odmGrckZmn \n ISODateTime \n K \n Ãdeme planı içerisindeki ilgili ödemenin gerçekleÅtiÄi tarih bilgisidir. Ãdeme durumu 01, 02 ve 06 olan kayıtlar için bu alanın gönderilmesi zorunludur. \n \n \n Ãdeme Durumu \n odmDrm \n AN2 \n Z \n Ãdeme planı içerisindeki ödemelere ait durumu belirten deÄerdir. TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. \n 8.8.\tADIM 5- Düzenli Ãdeme Emri Rıza İptali \n \n Åekil 10: Düzenli Ãdeme Emri Rızası İptali \n DELETE /duzenli-odeme-emri-rizasi/{rizaNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla düzenli ödeme emri rızasını iptal edebilir. \n DELETE /duzenli-odeme-emri-rizasi çaÄrısı, bir ÃBHS'nin önceden oluÅturulmuÅ bir düzenli ödeme emri rızasını silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, ÃBHS üzerinden bu rızasını kaldırmak isteyebilir. \n \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rıza, iptal edilen rizaNo bilgisi ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İptal edilmek istenen Düzenli Ãdeme Emri Rızası HHS tarafında bulunmuyor ise âTR.OHVPS.ResourceNotFoundâ hatası dönülür. \n Rıza durumu I ve S olmayan kayıtlar için rıza iptali saÄlanacaktır. I ve S olan kayıtlar için rıza iptal edilmek istendiÄinde HHS'ler tarafından TR.OHVPS.Resource.ConsentRevoked hatası dönülecektir. \n \n Yukarıda kontroller baÅarıyla tamamlandıktan sonra sırasıyla aÅaÄıdaki iÅlemler yapılır. \n \n Düzenli ödeme talimat planı içerisinde yer alan odmDrm deÄeri 04 ve 05 olan kayıtlar 07 durum kodu ile güncellenecektir. DiÄer durum kodları için 07 durum ko
16d güncellemesi yapılmayacaktır. \n İliÅkili düzenli ödeme emri talimatı iptal edilmelidir. \n Rıza iptal edilmelidir. \n \n Bu API çaÄrısı, müÅterinin ÃBHS üzerinden düzenli ödeme emri rızasını iptal etmesine ve HHS nezdindeki düzenli ödeme emri rızası nesnesinin silinmesini saÄlar.\nMüÅterinin ÃBHSânin veri eriÅim iznini iptal etmesi durumunda ÃBHS, HHSâde mevcut olan DuzenliOdemeEmriRizasi'na dair rıza ve talimat bilgilerini pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa\nDELETE /duzenli-odeme-emri-rizasi/{RizaNo}\nçaÄrısı aracılıÄı ile yerine getirilir. \n Servis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır.\nÃHK rızası baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ olarak ve gnclZmn zaman damgası vurularak güncellenir.\nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir:\nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (ÃBHS) \n"},{title:"Güçlü Kimlik DoÄrulama",frontmatter:{},regularPath:"/v2.0.1/contents/erisim-belirteci.html",relativePath:"v2.0.1/contents/erisim-belirteci.md",key:"v-1a476f8d",path:"/v2.0.1/contents/erisim-belirteci.html",headers:[{level:2,title:"Yetkilendirme Kodu API",slug:"yetkilendirme-kodu-api"},{level:2,title:"EriÅim Belirteci API",slug:"erisim-belirteci-api"}],content:' Güçlü Kimlik DoÄrulama \n \n ÃHK\'nın YÃS uygulamasından HHS uygulamasına yönlendirilmesi ile baÅlanan güçlü kimlik doÄrulama süreci, Oauth 2.0 standartları gereÄi öncelikle yetkod deÄerinin YÃS\'e iletilmesi ile baÅlar ve eriÅim belirtecinin alınması sonucunda baÅarı ile sonuçlanmıŠolur. \n Güçlü Kimlik DoÄrulama için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âhesap_bilgisiâ "odeme_emri" \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n yetkilendirme-kodu \n GET \n /yetkilendirme-kodu \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n \n yetkilendirmeKodu \n \n \n 2 \n erisim-belirteci \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n ErisimBelirteciIstegi \n ErisimBelirteci \n Yetkilendirme Kodu API \n GET /yetkilendirme-kodu \n Ayrık GKD sürecinde kullanılacak olan Yetkilendirme Kodu API\'nin HHS tarafından sunulması gerekmektedir. \n Ayrık GKD akıÅında; HHS, YÃS\'ün olay dinleme servisine "AYRIK_GKD_BASARILI" olay tipi ile olay bildirimi yapar. Böylece ÃHK\'nın kendi sistemine baÅarı ile login olduÄunu ve yetKod deÄerinin ÃHK ile iliÅkilendirildiÄinin bilgisini YÃS\'e iletmiÅ olur. \nHHS olay bildirimi için retry policy süreçleri kapsamında 1 dakikada 3 kez deneme yapabilir. YÃS\'e olay bildirimi yapılmamıŠise, kendisine gelmeyen olay bildirimi için yetkod\'un geçerli olduÄu 5 dakika boyunca yetkilendirme-kodu endpointi ile sorgulama yaparak yetkod deÄerini alabilir. \n YÃS, "ODEME_EMRI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=O \n YÃS, "ILERI_TARIHLI_ODEME_EMRI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=I \n YÃS, "DUZENLI_TEKRARLI_ODEME_EMRI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=D \n YÃS, "HESAP_BILGISI_RIZASI" kaynaÄı için bildirim yapıldı ise; GET /yetkilendirme-kodu endpointi ile yetkod sorgusu yapılır. \nÃrnek çaÄrım :\n GET /yetkilendirme-kodu?rizaNo=123&rizaTip=H \n İSTEK: \n YÃS, rıza numarasını ve isteÄin ÃBH ya da HBH olmasına göre deÄiÅen rıza tipini parametre olarak
16istek talebine ekler. Rıza tipinin alabileceÄi deÄerler TR.OHVPS.DataCode.RizaTip sıralı veri tiplerinde belirtilmiÅtir. \n HHS\'nin, yetkilendirme yöntemi "Ayrık Gkd" ise rıza numarası ile yetki kodu deÄerini dönmesi beklenmektedir. Yönlendirmeli GKD için bu endpoint "yetKod" deÄerini dönmemelidir. Yönlendirmeli GKDâye ait bir rıza no ile yetkilendirme kodu API kullanılarak yet_kod alınmak istendiÄinde HHS tarafından TR.OHVPS.Resource.NotFound hatası verilmelidir. \n YANIT: \n HHS yanıt nesnesi içerisinde, ÃHK\'ya ait yetki kodunu, rıza no ve rıza durumu ile birlikte YÃS\'e iletir. \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Yetki Kodu \n yetKod \n AN1..255 \n Z \n GKD sürecinde üretilen yetkilendirme kodudur. Tek kullanımlık olup, aynı yetKod ile birden fazla token alınamaz. yetKod Parametresinin yaÅam ömrü 5 dakika olmalıdır. \n \n \n RızaNo \n rizaNo \n AN1..128 \n Z \n Rıza nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n Ayrık GKD sürecinde, yetkod deÄerini alan YÃS; eriÅim belirteci API ile GKD sürecini tamamlar. \n EriÅim Belirteci API \n POST /erisim-belirteci \n İSTEK: \n YÃS erisim-belirteci eriÅim adresini 2 amaçla kullanır: \n \n \n Bir önceki adımdan aldıÄı rizaNo, rizaTip (ödeme emri baÅlatma hizmetinde âOâ, hesap bilgisi hizmetinde âHâ, ileri tarihli ödeme emri baÅlatma hizmetinde "I") ve GKD sonrası dönülen yetKod bilgilerini kullanarak HHS nezdinde ErisimBelirteci nesnesi oluÅturmak üzere istekte bulunur. YÃSâün istekte bulunabilmesi için GKD adımının baÅarılı bir Åekilde tamamlanması rizaDrm bilgisinin âyetkilendirildiâ olması gerekir. EriÅim Belirteci nesnesi ile rızası nesnesi (Ãdeme Emri Rızası, Hesap Bilgisi Rızası veya İleri Tarihli Ãdeme Emri Rızası) arasındaki iliÅki rıza numarası üzerinden saÄlanır. \n \n \n AldıÄı eriÅim belirtecinin Geçerlilik Süresinin dolduÄu durumda, yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alması gerekmektedir. \n \n \n POST /erisim-belirteci isteÄinin (REQUEST) gövdesinde (BODY) âErisimBelirteciIstegiâ nesnesi (Tablo-23) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âErisimBelirteciâ nesnesi (Tablo 24) oluÅturulur veya (Yenileme Belirteci için) güncellenir. Rıza durumu âYetki Kullanıldıâ olarak güncellenir. \n EriÅim Belirteci POST iÅlemi sonucunda HTTP 200 dönülmesi gerekmektedir. \n âErisimBelirteciIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n RızaNo \n rizaNo \n AN1..128 \n Z \n Rıza nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Rıza Tipi \n rizaTip \n AN1 \n Z \n O,H,I,D (TR.OHVPS.DataCode.RizaTip) \n \n \n Yetki Tipi \n yetTip \n AN1..50 \n Z \n âyet_kodâ yada âyenileme_belirteciâ deÄerini alabilir. (TR.OHVPS.DataCode.YetTip) \n \n \n Yetki Kodu \n yetKod \n AN1..255 \n K \n GKD iÅleminden dönen yetkilendirme kodudur. Tek kullanımlık olup, aynı yetKod ile birden fazla token alınamaz. yetKod Parametresinin yaÅam ömrü 5 dakika olmalıdır. yetTip = âyet_kodâ ise zorunludur. \n \n \n Yenilenme Belirteci \n yenilemeBelirteci \n AN1..4096 \n K \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. yetTip = âyenileme_belirteciâ ise kullanımı zorunludur. \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âerisimBelirteciâ nesnesinde bulunan eriÅim belirteci deÄeri ödeme emrinin baÅlatılması esnasında kullanılır. \n "ErisimBelirteci" nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format:Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n EriÅim Belirteci \n erisimBelirteci \n AN1..4096 \n Z \n Yetkilendirme Kodu karÅılıÄında HHS tarafından dönülen ve sonraki hesap bilgisi ve ödeme emri servislerine eriÅimde kullanılan bilgidir. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. Yenileme belirteci ile birden fazla eriÅim belirteci alınması durumunda verilen tüm eriÅim belirteçlerinin süreleri bitene kadar geçerli olmalıdır. \n \n \n Geçerlilik Süresi \n gecerlilikSuresi \n N1..9 \n Z \n EriÅim Belirtecini saniye cinsinden geçerlilik süresidir. EriÅim belirteci geçerli olduÄu son tarih ; Hesap Bilgisi Rızası için en fazla 30 gün en az ise 1 gün olmalıdır. EriÅimin Geçerli OlduÄu Son Tarih(erisimIzniSonTrh); EriÅim Belirteci Geçerlilik Süresi\'nden küçük ise EriÅimin Geçerli OlduÄu Son Tarih deÄeri ile sınırlıdır. Ãdeme Emri Rızası ,İleri Tarihli Ãdeme Emri Rızası ve Düzenli Tekrarlı Ãdeme Emri Rızası için 5 dakika olmalıdır. \n \n \n Yenileme Belirteci \n yenilemeBelirteci \n AN1..4096 \n Z \n EriÅim belirtecinin yenilenmesi amacıyla kullanılır. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. Yenileme Belirteci ile EriÅim Belirteci isteÄi yapıldıÄında HHS\'nin döndüÄü yanıt içerisindeki yenilemeBelirteci deÄerini kesinlikle deÄiÅtirmemesi gerekmektedir.Yenileme belirteci rıza süresi boyunca güncellenmemelidir. \n \n \n Yenileme Belirteci Geçerlik Süresi \n yenilemeBelirteciGecerlilikSuresi \n N1..9 \n Z \n Yenileme belirtecinin saniye cinsinden geçerlilik süresidir. Yenileme belirtecinin geçerli olduÄu son tarih ; Hesap Bilgisi için EriÅimin Geçerli OlduÄu Son Tarih ile sınırlı olmalıdır. Bu tarih geldiÄi zaman Hesap Bilgisi Rıza Durumunu âYetki Sonlandırıldıâ statüsüne çekilmesi gerekir. Ãdeme BaÅlatma için Rıza OluÅturma Zamanından 15 gün sonrası olmalıdır. 15 gün süresi sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. Ãdeme emri 5 dakika içinde gerçekleÅtirilmelidir. GerçekleÅmediÄinde 4.2.8 bölümünde aktarılan rıza statü güncellemesi yapılmalıdır. Yenileme belirteci geçerlilik süresi, İleri Tarihli Ãdeme Emri BaÅlatma için talimatın gerçekleÅeceÄi zamandan 15 gün sonrası olmalıdır. Talimat gerçekleÅtikten sonrası için 15 gün süreyle sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. Yenileme belirteci geçerlilik süresi, Düzenli Tekrarlı Ãdeme Emri BaÅlatma için talimatın gerçekleÅeceÄi son ödeme günü zamanından 5 gün sonrası olmalıdır. Son talimat gerçekleÅtikten sonrası için 5 gün süreyle sorgulama servislerinin çaÄrımını destekleyecek Åekilde uzun tutulmuÅtur. \n \n \n \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci, iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir. \n Yenilenme Belirteci (refreshToken) kullanılarak EriÅim Belirteci (accessToken) alındıÄında, döne
16n yanıttaki Yenileme Belirteci Geçerlik Süresi (yenilemeBelirteciGecerlilikSuresi) geçen süre eksiltilerek, kalan zamanın saniye cinsinden hesaplanmasıyla iletilmelidir. \n EriÅim Belirteci API çaÄrımı sırasında rıza durumları kontrol edilmelidir. Bu kontrollerin nasıl yapılması gerektiÄi 4-Rıza Durumları bölümünde aktarılmıÅtır. \n Yenileme belirteci karÅılıÄında yeni bir eriÅim belirteci alınması sırasında HHS\'nin döndüÄü hata yanıtında httpCode = 401 ve errorCode = "TR.OHVPS.Connection.InvalidToken" gelirse YÃS önce rızanın durumu sorgulamalıdır. \nEÄer geçerli bir rıza ise; HHS veya YÃS tarafında bir sorun olduÄu anlaÅılmalıdır. Sistem tarafından hata üretilmeli ve sorun incelenmelidir. \nEÄer geçerli bir rıza deÄil ise YÃS tarafındaki rıza durumu güncellenmelidir. \n'},{title:"5.\tGüçlü Kimlik DoÄrulama",frontmatter:{},regularPath:"/v2.0.1/contents/gkd.html",relativePath:"v2.0.1/contents/gkd.md",key:"v-7adaab06",path:"/v2.0.1/contents/gkd.html",headers:[{level:2,title:"5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama",slug:"_5-1-yonlendirmeli-guclu-kimlik-dogrulama"},{level:2,title:"5.2.\tAyrık Güçlü Kimlik DoÄrulama",slug:"_5-2-ayrık-guclu-kimlik-dogrulama"},{level:3,title:"5.2.1\tStatik Model",slug:"_5-2-1statik-model"},{level:2,title:"5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi",slug:"_5-3-yonlendirme-bildirim-adresleri-ve-durum-kodu-parametresi"},{level:2,title:"5.4 Güçlü Kimlik DoÄrulama Kontrolleri",slug:"_5-4-guclu-kimlik-dogrulama-kontrolleri"}],content:" 5.\tGüçlü Kimlik DoÄrulama \n MüÅteri için güçlü kimlik doÄrulama, ÃHKânın (müÅterinin) kimliÄinin doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin âbildiÄiâ, âsahip olduÄuâ veya âbiyometrik bir karakteristiÄi olanâ bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntemi tanımlar. \n Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄ uyarınca hesap bilgisi hizmetinde müÅterinin onayının alınması esnasında ve ödeme emri baÅlatma hizmetinde her bir ödeme emri baÅlatma iÅleminde HHS tarafından müÅteriye güçlü kimlik doÄrulama (GKD) uygulanması esastır. Buna göre: \n \n \n Hesap bilgisi hizmetinde ÃHKânın onayının alınması esnasında TebliÄin 26 ncı maddesinin 1 inci fıkrası uyarınca HHS tarafından ÃHKâya GKD uygulanır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 2 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanır ve iÅlem doÄrulama kodu ile ÃHKânın onayı alınır. \n \n \n Ãdeme emri baÅlatma hizmetinde, TebliÄin 26 ncı maddesinin 3 nci fıkrası uyarınca HHS tarafından ÃHKâya güçlü kimlik doÄrulama uygulanmasına iliÅkin istisna veya ilave güvenlik önlemleri iÅbu API İlke ve Kuralları belgesinde tanımlanır. \n \n \n HHS, güçlü kimlik doÄrulama sürecinde ÃHKânin sahip olduÄu bileÅen sınıfı olarak SMS OTP ya da SMS ile iÅlem doÄrulama kodu kullanabilir. \n \n \n HHS, aÅaÄıdaki hallerde veya TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre tek bileÅen ile kimlik doÄrulama yapabilir. \n \n Ãdemenin göndereni ve alıcısının aynı olması, \n Daha önce tanımlanmıŠgüvenli alıcılar listesine ödeme yapılması, \n ÃHKânin talimatına istinaden gerçekleÅtirilen düzenli bir ödeme olması. \n \n \n \n Tek bileÅen ile kimlik doÄrulama yapılan bu iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin müÅteri tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye ait olur. \n \n \n İÅlem DoÄrulamada TebliÄin 3 üncü maddesinin birinci fıkrası ÄÄ bendindeki iÅlem bilgisi tanımına uygun olarak aÅaÄıdaki bilgiler ile TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde tanımlanan iÅleme özel üretilmiÅ iÅlem doÄrulama kodu birlikte kullanılır. \n \n Alıcı Unvan (Kolas akıÅında maskeli olarak) (ödeme emri baÅlatma hizmeti) \n Tutar (ödeme emri baÅlatma hizmeti) \n Referans bilgisi (8 karakterden küçük ise alanın tüm deÄeri, büyük ise ilk 4 ve son 4 hanesi) \n \n İÅleme ait yukarıdaki bilgilerden en az biri deÄiÅtiÄi zaman TebliÄin 3 üncü maddesinin birinci fıkrası hh bendinde belirtildiÄi gibi yeni bir iÅlem doÄrulama kodu üretilecek Åekilde akıŠkurgulanmalıdır. \n \n \n İÅlem doÄrulama kodunun gönderilmesinden HHS sorumludur. HHS, TebliÄin 10 uncu maddesinin ikinci fıkrasında belirtilen risk deÄerlendirmesi sonucuna göre iÅlem doÄrulama kodu kullanmaksızın ÃHKânın onayını alabilir. İÅlem doÄrulama kodu kullanılmayan iÅlemlerle ilgili olarak gerçekleÅtirilen iÅlemin ÃHK tarafından yapıldıÄını ispat etme yükümlülüÄü HHSâye aittir. \n \n \n ÃHVPS API İlke ve Kuralları kapsamında iki adet Güçlü Kimlik DoÄrulama (GKD) yöntemi kullanılacaktır: \n \n Yönlendirmeli (Redirect) GKD Yöntemi \n Ayrık (Decoupled) GKD Yöntemi \n \n \n \n Hem web hem mobil uygulama hizmeti bulunan katılımcılar için her iki uygulama özelinde de yönlendirme yapılması zorunludur. Web ya da mobil uygulamalardan sadece birinin olması durumunda ilgili uygulama özelinde yönlendirme yapılması zorunludur. \n 5.1.\tYönlendirmeli Güçlü Kimlik DoÄrulama \n Yönlendirmeli GKD Yönteminde, müÅteri kimlik doÄrulama için YÃS tarafından HHS arayüzüne yönlendirilir. \n MüÅteri HHSâye (uygulama veya web arayüzü vasıtasıyla) yönlendirildikten s
16onra müÅterinin güçlü kimlik doÄrulaması adım adım ve doÄrudan HHS ile müÅteri arasında yürütülür. GKDânin tamamlanmasından sonra müÅteri tekrar YÃS uygulamasına yönlendirilir. \n Yönlendirmeli GKD Yöntemi için üst düzey örnek iÅ akıÅı aÅaÄıdaki adımlardan oluÅur: \n \n YÃS, GKD için HHS tarafından tanımlanan arayüze (tarayıcı ya da uygulama) yönlendirme yapar. \n MüÅteri, YÃS arayüzünden ayrılır, yönlendirildiÄi HHS arayüzü üzerinde kimlik doÄrulama iÅlemlerini gerçekleÅtirir. \n GKD tamamlandıktan sonra müÅteri, YÃS arayüzüne tekrar yönlendirilir ve iÅlem sonucu görüntülenir. \n \n Yönlendirmeli GKD için temel gereklilikler Åunlardır: \n \n Ãdeme hizmeti (hesap bilgisi veya ödeme emri baÅlatma hizmeti) tarayıcı ya da uygulama tabanlı bir Åekilde sunulabilir. Web ya da mobil uygulamalardan sadece birinin olması durumunda ilgili uygulama özelinde yönlendirme yapılması zorunludur. \n \n Tarayıcı Tabanlı Yönlendirme \n Yönlendirmeli GKD Yönteminde; rıza isteÄine baÅarılı yanıt alındıktan sonra, ÃHK, kimlik doÄrulama için YÃS tarafından HHS arayüzüne yönlendirilir.\nYÃS, yönlendirme akıÅını kendi sunucusundan karÅılayacaÄı bir istek ile baÅlatmalıdır. YÃS web arayüzündeki bu yapı, 302 yanıt kodu ve yanıt baÅlıÄındaki Location deÄeri ile ÃHK tarayıcısını HHS adresine yönlendirmelidir. Bu sayede GKD, HHS tarafında baÅlayabilir. \n YÃS tarafındaki yönlendirme servisi için örnek response; \n HTTP/1.1 302 Found\nLocation: {{hhsYonAdr}}\n \n ÃHK, HHSâye (app veya web arayüzü vasıtasıyla) yönlendirildikten sonra ÃHK'nin güçlü kimlik doÄrulaması HHS ile ÃHK arasında yürütülür. GKDânin tamamlanmasından sonra ÃHK tekrar YÃS uygulamasına yönlendirilir. \n HHS, yönlendirme akıÅını kendi sunucusundan karÅılayacaÄı bir istek ile baÅlatmalıdır. HHS web/app arayüzündeki bu yapı, ÃHK'nin oturumunu güvenli bir Åekilde kapatmalıdır. Ardından 302 yanıt kodu ve yanıt baÅlıÄındaki Location deÄeri ile ÃHK tarayıcısını YÃS adresine yönlendirmelidir. \n HTTP/1.1 302 Found\nLocation: {{yosYonAdr}}&rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=O\n \n HHSânin web arayüzüne, \n \n HHSânin mobil uygulamasının olmadıÄı, \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) sunduÄu mobil cihazda HHS uygulamasının yüklü olmadıÄı, \ndurumlarda yönlendirme yapılır. \n \n YÃSâün mobil uygulaması varsa mobil cihazda uygulamadan tarayıcıya, YÃSâün mobil uygulaması yoksa ödeme hizmetinin sunduÄu cihazda (KiÅisel Bilgisayar veya Mobil Cihaz) tarayıcı üzerinden yönlendirme yapılır. \n Uygulama Tabanlı Yönlendirme \n ÃHKânın ödeme hizmetini (hesap bilgisi veya ödeme emri baÅlatma hizmeti) YÃSâün mobil uygulaması ile kullanıyorsa, aynı mobil cihazda HHSânin mobil uygulamasının yüklenmiÅ olması durumunda, ÃHK doÄrulamasının HHS mobil uygulaması tarafından yapılması için uygulama tabanlı yönlendirme yapılır. Böylece ÃHK, ödeme hizmetine eriÅim için HHSânin mobil kanalına eriÅim sırasında kullandıÄı doÄrulama yöntemini ile doÄrulanabilir. \n HHS'nin mobil uygulaması olması durumunda hhsYonAdr olarak universal link kullanması gerekmektedir. \n Tablo 5: Yönlendirmeli Güçlü Kimlik DoÄrulama Kanalları \n \n \n \n DoÄrulama Yöntemi \n YÃS Olası Ortam \n HHS Olası Ortam \n \n \n \n \n Tarayıcı Tabanlı Yönlendirme \n KiÅisel Bilgisayar (masaüstü, dizüstü)/Mobil Cihaz \n KiÅisel Bilgisayar (masaüstü, dizüstü) / Mobil Cihaz \n \n \n Uygulama Tabanlı Yönlendirme \n Mobil Cihaz \n Mobil Cihaz \n 5.2.\tAyrık Güçlü Kimlik DoÄrulama \n Ayrık Güçlü Kimlik DoÄrulama, bir kullanıcının kimliÄinin, bir iÅlem baÅlatıldıktan sonra ayrı bir Åekilde doÄrulandıÄı yönteme verilen addır. Bu GKD modelinde, kimlik doÄrulama iÅlem sürecinden \"ayrıÅtırılmıÅtır\". Kullanıcılar, baÅka bir arayüze yönlendirilmek yerine ( tarayıcı veya uygulama tabanlı yönlendirme gibi), ayrı bir kanal üzerinden (telefonlarında bir uygulama bildirimi gibi) iÅlemi doÄrulamaları için bildirim alır.\nKullanıcı, iÅlemi tamamen ayrı bir cihaz veya uygulama kullanarak doÄrulayabilir. \n İlk fazda Ayrık GKD'de QRâlı modeller kullanılmayacaktır. \n Ayrık GKD uygulamalarının farklı örnekleri bulunmaktadır. Ancak yaygın olan yaklaÅım, bir web arayüzü ve bir mobil uygulamanın komb
16inasyonunu kullanmayı içerir. \n Mobil uygulaması bulunan HHS'ler için Ayrık GKD desteklenmesi zorunludur. HHSânin web olduÄu durumda Ayrık GKD akıÅı uygulanmayacaktır. Mobil uygulaması bulunup müÅteri özelinde mobil aktiflik kontrol süreci HHS inisiyatifindedir. Ayrık GKD sürecinde HHS tarafında sadece mobil uygulama üzerinden GKD yapılmalıdır. ÃHKânın web uygulamasına yönlendirme yapmaması gerekmektedir. \n YÃS rolünde Ayrık GKD akıÅının ÃHKâya sorularak baÅlatılmasına gerek bulunmamakla beraber bu bilginin ÃHKâya sorulması YÃS inisiyatifindedir. YÃS olarak, Ayrık GKD iÅ akıÅları kapsamında ÃHKâya ayrık GKD öncesi HHS mobil uygulamasının varlıÄı sorularak (bildirim ayarlarının açık olması gerektiÄi bilgisi de verilebilir) ilerlenebilir. Aynı zamanda Ayrık GKD ile rıza sürecinin baÅlatılması zorunlu deÄildir. Rıza süreci baÅlatılırken yetkilendirme yöntemi YÃS inisiyatifindedir. \n Ãrnek bir akıŠÅu Åekildedir: \n \n İÅlem BaÅlatma (YÃS Web/Mobil Arayüzü): ÃHK bir iÅlemi YÃSâün web/mobil arayüzünde baÅlatır. YÃS uygulaması, ÃHK'nın tekil bir kullanıcı kimliÄini rızaya ekleyerek bir rıza baÅlatma iÅlemini HHSâye iletir. HHS, tekil kullanıcı kimliÄini kullanarak ÃHK'nın mobil uygulamasına bir bildirim gönderir. \n Kimlik DoÄrulama İsteÄi (HHS Mobil Uygulama): ÃHK Mobil uygulama bildirimi alır ve mobil uygulama ÃHK'ya kimlik doÄrulama isteÄi sunar. HHSânin BDDK tarafından belirlenmiÅ GKD yöntemlerine uygun davranması beklenmektedir. \n Kimlik DoÄrulama Onayı (HHS Mobil Uygulama): Mobil uygulama, ÃHKânın kimlik doÄrulama giriÅimini doÄrular. BaÅarılı olursa rıza onayı sonrası mobil uygulama, 'Ayrık Yetkilendirme BaÅarılı' olay bildirimini YÃSâe gönderir. \n İÅlem Onayı (YÃS Web/Mobil Arayüzü): YÃS, HHS'den gelen 'Ayrık Yetkilendirme BaÅarılı' olay bildirimine konu olan rızayı kullanarak yetkilendirme koduna eriÅir. Bundan sonraki süreç eriÅim belirteci alınması servisi ile devam eder. \n \n Ayrık Güçlü Kimlik DoÄrulamanın Olay Bildirim Servisleri ile olan BaÄımlılıkları \n Ayrık GKD sürecinde; HHS'nin yetkilendirme kodunu YÃS'e iletmesi için gerekli önkoÅul olan ÃHK doÄrulaması adımının tamamlanmasını olay bildirimi ile YÃS'e yapması gerekmektedir.\nBu nedenle YÃS'lerin eÄer Ayrık GKD sürecini destekleyecek ise; /olay-dinleme endpointini açarak olay bildirimi alması zorunludur. \n Ãzetle: \n Yönlendirmeli GKD \n \n HHS mobil uygulaması olması durumunda yönlendirme adresi olarak universalLink kullanmalı. \n Bu link tanımı uygulama var ise uygulamayı aç yoksa webden devam et Åeklinde olmalı. \n YÃSâün mobilden mi webden mi geldiÄi HHS açısından önemli deÄildir. HHS olarak YÃS hangi adresi yonAdr deÄerinde göndermiÅ ise yetkilendirme süreci bittiÄinde o adrese yönlendirme yapılmalıdır. \n \n Ayrık GKD \n \n Mobil uygulaması bulunan HHS'ler için Ayrık GKD desteklenmesi zorunludur. HHSânin web olduÄu durumda Ayrık GKD akıÅı uygulanmayacaktır. Mobil uygulaması bulunup müÅteri özelinde mobil aktiflik kontrol süreci HHS inisiyatifindedir. Ayrık GKD sürecinde HHS tarafında sadece mobil uygulama üzerinden GKD yapılmalıdır. ÃHKânın web uygulamasına yönlendirme yapmaması gerekmektedir. \n ÃHKânin Mobil uygulamasının olmadıÄını tespit edebildiÄiniz her durum için rıza oluÅturma aÅamasında âTR.OHVPS.Business.CustomerMobileApplicationNotFoundâ hatası döülür. \n HHS, ÃHKânın mobil uygulamasının bulunmadıÄı bilgisine ulaÅamazsa kendisinin belirleyeceÄi bildirim yöntemlerinden biri ile ÃHKâye bilgilendirme yapar. Bildirim yöntemi SMS ise ÃHKâya mobil uygulamasını açtıracak Åekilde adres iletir, Web uygulamayı açtıracak bir link iletilmemelidir. ÃHK bu bildirimi dikkate almazsa/alamazsa veya ÃHKâda mobil uygulama yok ise bu durumda rıza süre aÅımından iptal olur. \n ÃHK mevcut bankacılık iÅlemlerinde bildirimi nasıl gönderiyorsanız (ÃrneÄin: Anlık bildirim gönderildi, alınmadı, SMSâe dönüldü gibi.) aynı Åekilde bildirim göndererek ÃHKânin uygulama üzerinden rızayı onaylaması beklenir. Buradaki akıŠHHSânin diÄer ürünleri için verdiÄi müÅteri deneyimi ile paralel olmalıdır. \n 5.2.1\tStatik Model \n YÃS'ün ÃHK'yı tanıdıÄı ve ÃHK'ya ait tanımlayıcı bilgileri HHS'ye aktarabildiÄi durumda kullanılmaktadır. Buradaki ÃHK'ya ait tanımlayıcı bilgiler TCKN, MNO , YKN, PNO, GSM, IBAN olarak belirlenmiÅtir. \n AkıŠaÅaÄıdaki gibi kurgulanmıÅtır: \n \n \n \n ÃHK, YÃS uygulaması üzerinde iÅlem baÅlatır. \n \n \n ÃHK, YÃS uygulaması içerisinde, farklı bir ortam üzerinden HHS doÄrulamasını gerçekleÅtirmek istediÄini belirtir. ÃHK'yı tanıma tip ve deÄerleri YÃS ÃHK'dan talep edebileceÄi gibi, YÃS sisteminde hali hazırda kayıtlı bilgilerle de akıÅı devam ettirebilir. \n \n \n ÃHK, YÃS'ün müÅterisi ve YÃS uygulamasına login ise tek seferlik ödeme akıÅı baÅlatamaz. \n \n \n YÃS tarafından baÅlatılan tek seferlik bir Ãdeme iÅleminin Ayrık GKD ile onaylanacaÄı durumda;\nYÃSâün ilgili kullanıcıya ait âÃHK Tanım DeÄerâ verisinin yanında iÅleme ait ve ilgili ÃHK ile eÅleÅtirilmiÅ olan ve sadece YÃS ile ÃHKânın bilebileceÄi bir deÄerin daha ÃHK tarafından saÄlanması ve YÃS tarafından kontrol edilerek eÅleÅen Ãdeme emrinin HHSâye iletilmesi gerekmektedir. ÃrneÄin; bu deÄer YÃS tarafında yapılan tek seferlik ödeme iÅlemine ait fatura numarası. \n \n \n YÃS önyüzde ÃHK'dan aldıÄı ohkTanimTip ve ohkTanimDeger deÄ
16erlerini kimlik tür ve kimlik deÄeri alanlarına atamamalıdır. \n \n \n YÃS, ayrık GKD ile iÅlem baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\"=\"01\" parametresi ile alabilir. \n \n \n YÃS, ÃHK bilgileri ile rıza oluÅturur. Rıza nesnesi içerisinde yer alan GKD nesnesinde ilgili parametreler aÅaÄıdaki Åekilde doldurulur: \n \n \n ohkTanimTip ve ohkTanimDeger parametreleri \nBu metodda; ayrikGkd nesnesi içerisindeki \"ohkTanimTip\" parametresi TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden TCKN, MNO , YKN, PNO, GSM, IBAN deÄerlerinden birini alabilir. ohkTanimDeger parametresi de seçilen tipe ait ÃHK'ya ait deÄeri içermelidir.Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin olduÄu durumlarda; ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır.Kimlik alanı içermeyen tek seferlik ödeme emri akıÅlarında bu kural geçerli deÄildir. GSM ve IBAN deÄerleri sadece tek seferlik ödemelerde kullanılabilir. \n YÃS'ten ohkTanimTip olarak gelen IBAN bilgisi sadece ÃHK'yı tanımak için kullanılabilir. Tanım tipi IBAN ile baÅlatılan bir iÅlemde ÃHK, baÅka bir IBAN ile ödeme baÅlatabilir. \n Kurumsal müÅteriler için kmlkTur ve kmlkVrs alanları ohkTanimTip ve ohkTanimDeger alanlarında gönderilmelidir. \n \n \n yetYntm parametresi \nyetYntm parametresi Ayrık GKD akıÅını ifade eden \"A\" deÄerini almalıdır. \n \n \n \n \n Ãrnek bir istek : \nPOST/ohvps/obh/s2.0/odeme-emri-rizasi \n RizaNesnesi \n {\n...\n \"gkd\": {\n \"yetYntm\": \"A\",\n \"ayrikGkd\" :{\n \"ohkTanimTip\" : \"TCKN\" \n \"ohkTanimDeger\": \"11232123212\"\n } \n },\n...\n}\n \n \n \n YÃS, ayrık GKD ile iÅlem baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\":\"01\" parametresi ile alabilir.\nYÃS, ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.DecoupledAuthenticationNotSupported hatası iletilmelidir. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n \n \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında hata mesajı vermelidir. HHS tarafından TR.OHVPS.Business.CustomerMobileApplicationNotFound hatası iletilmelidir. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. HHS, ÃHKânın mobil uygulamasının bulunmadıÄı bilgisine ulaÅamazsa kendisinin belirleyeceÄi bildirim yöntemlerinden biri ile ÃHKâye bilgilendirme yapar. Bildirim yöntemi SMS ise ÃHKâya mobil uygulamasını açtıracak Åekilde adres iletir, Web uygulamayı açtıracak bir link iletilmemelidir. \n \n \n HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından TR.OHVPS.Business.EventSubscriptionNotFound hata kodu iletilmelidir. \n \n \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından TR.OHVPS.Resource.InvalidFormat hata kodu iletilmelidir. \n \n \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin olduÄu durumlarda; ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından TR.OHVPS.Business.CustomerInfoMismatch hatası iletilmelidir.\nKimlik alanı içermeyen tek seferlik ödeme emri akıÅlarında bu kural geçerli deÄildir. GSM ve IBAN deÄerleri sadece tek seferlik ödemelerde kullanılabilir. \n \n \n Tek seferlik ödeme iÅlemlerinde \"ohkTanimTip\" = \"GSM\"/\"IBAN\" olarak gönderilmiÅ ise, HHS sisteminde bu GSM/IBAN ile eÅleÅen müÅterileri taramalıdır. GSM/IBAN bilgisi ÃHK bazında tekil bir kullanıcıya eriÅim imkanı saÄlamaz ise TR.OHVPS.Business.InvalidCustomerInfo hatasını iletmelidir. \n \n \n Kontrollerin baÅarılı olması durumunda HHS rızayı oluÅturur ve ÃHK tekil verisi ile ulaÅtıÄı ÃHK'ya bilgilendirme mesajı gönderir. Bilgilendirme mesajı kısa mesaj ya da anlık bildirim mesajı olabilir. ÃHKânın birden fazla cihazda aktivasyonu varsa HHSânin iç süreçlerine göre mevcut durumda nasıl bir bildirim süreci iÅletiliyorsa aynı Åekilde ilerlenebilir. \n \n \n Kurumsal müÅteriler için, hangi kullacıya bildirim gitmesi isteniyor ise, rıza aÅamasında o kiÅi ayrikGkd nesnesinde gönderilir. HHS'nin rıza içerisindeki ohkTur deÄerine göre, gelen bildirime verilen cevaba uygun uygulamasını açmalıdır. Kurumsal ÃHK için rıza geldi ise, kurumsal giriÅ sayfası; bireysel ÃHK için rıza geldi ise bireysel giriÅ sayfası müÅterinin önüne açılmalıdır ve ilgili hesaplara eriÅime izin vermelidir. \n \n \n ÃHK'ya bir bildirim gelmemesi durumunda, HHS kendi sisteminde GKD sürecine devam edemez. 5 dakika sonunda rıza durumu Yetki Bekleniyor'dan Rıza İptal / Süre AÅımı (İptal kod 04) durumuna çeker. \n \n \n \n \n ÃHK, HHS sisteminden gelen bildirim mesajını alır. HHS sistemine login olduktan sonra iÅleme onay verilmezse veya GKD kontrolleri baÅarısız olursa HHS Olay Bildirim servisleri aracılıÄı ile GKD sürecinin sonlandıÄını YÃS'e iletir. Olay tipi \"AYRIK_GKD_BASARISIZ\" olacak Åekilde bir POST /olay-dinleme servis çaÄrısı yapılır.YÃS kendisine gelen olay bildirimi ile\nrıza sorgulaması yaparak iptal detay kodunu öÄrenebilir. \n \n \n ÃHK, HHS sisteminde login olduktan sonra iÅleme onay verirse; HHS tarafından rıza ile iliÅkili yetkod deÄeri üretilir.HHS, YÃS'e ÃHK için \"yetkod\" deÄeri üretildiÄinin bilgisini Olay Bildirim servisleri aracılıÄı ile iletir. Olay tipi \"AYRIK_GKD_BASARILI\" olacak Åekilde bir POST /olay-dinleme servis çaÄrısı yapılır. \n \n \n YÃS kendisine gelen olay bildirimi ile \"yetkod\" deÄerinin HHS'de üretildiÄinin bilgisini alır. \"yetkod\" deÄerini öÄrenebilmek için HHS'yi sorgulaması gerekmektedir. \nHHS'nin açacaÄı GET /yetkilendirme-kodu endpointi ile bu bilgiye eriÅebilir. \n \n \n YÃS, \"yetkod\" ile POST /erisim-belirteci endpointinden eriÅim belirteci alır. Böylelikle ÃHK'nın Ayrık GKD süreci tamamlanmıŠolur. \n 5.3.\tYönlendirme/Bildirim Adresleri ve Durum Kodu Parametresi \n CSRF Ataklarından korunmak için ve YÃS uygulamasının bir önceki durumunu restore edebilmesi için; YÃS tarafından iletilen yönlendirme ve bildirim adreslerine , Oauth2 standartlarındaki state parametresine eÅdeÄer, durum ko
16du (drmKod) parametresinin eklenmesi gerekmektedir. Durum kodu parametresi YÃS tarafından üretilen, tekil ve kolay tahmin edilemeyen bir deÄer olmalıdır. Rıza isteÄi gönderimi aÅamasında oluÅturulmalıdır. YÃS uygulamasında uygun bir yerde saklanmalıdır (cookie, session, local storage gibi) . \n Durum kodu, rıza isteÄindeki yönlendirme adresine parametre olarak eklenir. GKD süreci sonrasında yetki kodu ile birlikte bu bilgi, HHS tarafından YÃSâe iletilir. YÃS sakladıÄı deÄer ile parametre olarak gelen deÄerin eÅitliÄini kontrol eder. Aynı ise eriÅim belirteci almak üzere akıÅı ilerletir. Farklı ise iÅlemi keser. \n 5.4 Güçlü Kimlik DoÄrulama Kontrolleri \n ÃHK, GKD için HHS uygulamasına yönlendirildiÄinde, HHSânin çeÅitli kontroller yaparak iÅlemin doÄruluÄunu teyit etmesi gerekmektedir.\nYapılması gereken kontrollere ait temel senaryolar aÅaÄıdaki tabloda belirtilmiÅtir. Bu senaryolar baz alınarak HHSâler tarafından zenginleÅtirilebilir. \n AÅaÄıdaki tabloda yer alan 07-13 arası Rıza İptal Detay Kodlarının oluÅtuÄu senaryolar, HHS uygulamasında yapılan kullanıcı doÄrulama öncesi ve sonrası olarak iki adımda incelenmelidir. \n HHS tarafında, kullanıcı doÄrulama öncesinde yapılan kontroller neticesinde verilemeyen rızalar için â04â : Süre AÅımı : Yetki Bekleniyor iptal kodu atanır. HHS'nin YÃS uygulamasına 04 kodunu iletmesi beklenmez. YÃS zaman aÅımı neticesinde rıza statüsünü sorgulayarak öÄrenir. \nKullanıcı doÄrulandıktan sonra rıza verilemiyorsa ilgili hata kodunun YÃS'e iletilmesi beklenmektedir. Kullanıcı doÄrulama sonrası YÃS'e iletilen rıza iptal detay kodu ile HHS veri modelinde tutulan rıza ile iliÅkili rıza iptal detay kodu, aynı deÄeri alacak Åekilde güncellenmelidir. YÃS, HHS tarafından kendine iletilen rıza iptal detay kodunu kendi veri modelinde güncellemelidir. \n Zorunlu olarak belirtilen hata durumlarının HHSâler tarafından gerçeklenmesi ve uygun hata kodlarının YÃSâe iletilmesi; ileride oluÅabilecek mutabakatlaÅma sorunlarını ortadan kaldırabilecek, yapılacak raporlamalar kapsamında sistem ve süreç iyileÅtirmelerine katkı saÄlayacak, son kullanıcı açısından da alınan hataya yönelik bilgilendirici içerik saÄlayacaktır. \n Hata açıklamaları; hata koduna uygun ya da uyumlu olmak kaydıyla, HHS ve YÃS tarafından farklı Åekillerde sunulabilir. \n GKD Sırasında yapılması gereken kontroller \n \n \n \n Rıza İptal Detay Kodu \n HHS hata açıklaması* \n Yös ekranında listelenecek örnek mesaj metni* \n Ãrnek Senaryo \n Zorunlu / Opsiyonel \n \n \n \n \n 07 \n Rıza mevcut ve durumu \"Yetkilendirildi\" veya \"Yetki Kullanıldı\" \n Yetki Hatası \n ÃHK, kullanıcı doÄrulama iÅlemi tamamlandıktan sonra YÃS ekranında ileri - geri yaparak ya da ÃHK'nın yönlendirme adresini kopyalayarak tarayıcıya yapıÅtırması ile tekrar HHS'ye yönlendirir. Bu durumda HHS bu rıza iptal detay kodunu iletir. HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 08 \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. \n İÅlem gerçekleÅtirilememiÅtir. \n YÃS tarafından baÅlatılan rıza içerisinde yer alan kimlik bilgisi (örn:TCKN) ile HHS'de baÅarılı kimlik doÄrulama yapılan ÃHK'nın bilgilerinin uyuÅmadıÄı durumda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 09 \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) \n Gösterilebilecek hesap/kart bulunamamıÅtır. \n HHS, kullanıcı doÄrulama yaptıktan sonra, ÃHK'nın uygun statülü hesabının olmadıÄı durumda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 10 \n ÃHK'nın Açık Bankacılık kanalı iÅleme kapalı \n ÃHK'nın Açık Bankacılık kanalı iÅleme kapalı \n Açık bankacılıÄı ayrı bir kanal olarak tanımlamıŠHHS'lerde, ÃHK kullanıcı doÄrulama yaptıktan sonra yapılan kontrollerde, ÃHK'nın iÅlemlerini AB kanalına kapatmıŠolması durumunda HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Opsiyonel \n \n \n 11 \n ÃHK'nın HHS'deki hesaplarında yeterli yetkisinin olmaması \n Yetki hatası \n 1- Kurumsal firma kullanıcılarının hesaplar üzerinde iÅlem yetkisinin olmaması durumunda 2- Bireysel ortak hesaplarda hesap kısıtı bulunuyorsa (para çıkıÅına izin verilmediÄi durum) HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Zorunlu \n \n \n 12 \n HHSânin, ÃHK özelinde yaptıÄı kontrollerin baÅarısız olması \n Yetki hatası \n HHS'nin, kullanıcı doÄrulama sonrası ÃHK için iç sistemlerinde yaptıÄı kontrollerin baÅarısız olması. ÃrneÄin: MüÅterinin henüz bankacılık hizmet sözleÅmesi gibi Internet Åubesi üzerinde iÅlem yapmasını engelleyen eksikleri olması durumunda veya kurumsal kullanıcıda vekalet süresinin dolması/eksik doküman olması durumunda kanal üzerinde iÅlem yapamadıÄı durum HHS ve YÃS'ler veri modellerini bu bilgi doÄrultusunda güncellemelidir. \n Opsiyonel \n \n \n 13 \n ÃHK isteÄi ile GKDâden vazgeçilmesi \n MüÅteri iÅlemden vazgeçmiÅtir. \n HHS ekranında yer alan VAZGEà butonuna basılması durumu (ÃHK,HHS uygulamasında kullanıcı doÄrulama yaptıktan sonra VAZGEà butonu olabilir.) \n Zorunlu \n \n \n 14 \n GKD İptali: Fraud Åüphesi \n İÅlem gerçekleÅtirilememiÅtir. \n HHS Fraud Åüphesi nedeniyle iÅlemin devamına izin vermez. HHS'nin, fraud kontrollerinin ödeme baÅlatma hizmeti için yapması ve â14- GKD İptali: Fraud Åüphesiâ ile rıza iptalini gerçekleÅtirmelidir. HBH servislerinde HHS'nin rıza iptal kodu 14 ile iÅlemi kesmesi HHS'nin kendi insiyatifindedir yani opsiyoneldir. \n KoÅullu \n \n \n 99 \n DiÄer \n İÅlem gerçekleÅtirilememiÅtir. \n OluÅabilecek diÄer senaryolar. \n Zorunlu \n \n \n \n GKD sırasında iletilen rıza no eÄer HHSânin sisteminde bulunamazsa durumu güncellenecek bir rıza no da olmayacaktır. HHS kendi önyüzünde bu duruma uygun bir mesaj gösterebilir. YÃSâe de DiÄer hata kodu ile bu durumu iletebilir. \n"},{title:"9.\tHesap Bilgisi Hizmeti",frontmatter:{},regularPath:"/v2.0.1/contents/hesap-bilgisi-hizmeti.html",relativePath:"v2.0.1/contents/hesap-bilgisi-hizmeti.md",key:"v-16682afd",path:"/v2.0.1/contents/hesap-bilgisi-hizmeti.html",headers:[{level:2,title:"Genel Bilgiler",slug:"genel-bilgiler"},{level:2,title:"Hesap Bilgisi Hizmeti İçin EriÅim Adresleri",slug:"hesap-bilgisi-hizmeti-icin-erisim-adresleri"}
16,{level:2,title:"ADIM 0: ÃHK'nın hesap/kart bilgilerine eriÅim için talepte bulunması:",slug:"adim-0-ohk-nın-hesap-kart-bilgilerine-erisim-icin-talepte-bulunması"},{level:2,title:"9.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması",slug:"_9-1-adim-1-hesap-bilgisi-rızasının-hazırlanması"},{level:3,title:"POST /hesap-bilgisi-rizasi",slug:"post-hesap-bilgisi-rizasi"},{level:3,title:"BaÅarılı İstek:",slug:"basarılı-istek"},{level:3,title:"BaÅarılı Yanıt:",slug:"basarılı-yanıt"},{level:2,title:"İzinler",slug:"izinler"},{level:2,title:"9.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi",slug:"_9-2-adim-2-hesap-bilgisi-hizmeti-rızasının-tesisi"},{level:2,title:"9.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması",slug:"_9-3-adim-2-1-hesap-bilgisi-rızasının-sorgulanması"},{level:2,title:"9.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali",slug:"_9-4-adim-2-2-hesap-bilgisi-rızasının-iptali"},{level:2,title:"9.5 ADIM 3: Hesap Bilgilerinin Alınması",slug:"_9-5-adim-3-hesap-bilgilerinin-alınması"},{level:2,title:"9.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması",slug:"_9-6-adim-3-1-ve-3-2-hesap-bilgilerinin-sorgulanması"},{level:2,title:"9.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması",slug:"_9-7-adim-3-3-ve-3-4-hesap-bakiyesinin-sorgulanması"},{level:2,title:"9.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması",slug:"_9-8-adim-3-5-ve-3-6-islemlerin-sorgulanması"},{level:2,title:"9.9 ADIM 4: Kart Bilgilerinin Sorgulanması",slug:"_9-9-adim-4-kart-bilgilerinin-sorgulanması"},{level:2,title:"9.10 ADIM 4.1: Kart Detay Bilgilerinin Sorgulanması",slug:"_9-10-adim-4-1-kart-detay-bilgilerinin-sorgulanması"},{level:2,title:"9.11 ADIM 4.2: Kart Hareket Bilgilerinin Sorgulanması",slug:"_9-11-adim-4-2-kart-hareket-bilgilerinin-sorgulanması"}],content:" 9.\tHesap Bilgisi Hizmeti \n Genel Bilgiler \n Bu dokümanda belirtilen \"Hesap Bilgisi Hizmeti\" ibaresi hem hesap hem de kart rıza süreçlerini kapsamaktadır. \n Hesap bilgisi sorgulama için HBHS tarafından müÅteri rızası tesisinin HHS tamamlanmıŠolması gerekir. MüÅteri rızası tesisi tamamlandıktan sonra, HBHS sorgulamak istediÄi hesaba ait verileri ilgili eriÅim adresi üzerinden sorgular. \n \n \n Åekil 10: Hesap Bilgisi Hizmeti Ãst Düzey AkıÅı \n Åekil-10âda sunulan hesap bilgisi hizmeti 5 temel akıÅtan oluÅur: \n 0.\tMüÅterinin hesap bilgilerine eriÅim için talepte bulunması: ÃHK ÃBHS mobil uygulama ya da web sitesinden hesap bilgilerine eriÅim iÅlemini baÅlatır. \n 1.\tHesap Bilgisi müÅteri rızasının hazırlanması: \n HBHS, âhesap/kart bilgilerine eriÅimâ için müÅteri rızası tesisi amacıyla HHSâdeki hesap bilgisi rızası eriÅim adresine bir POST isteÄinde bulunur ve bir hesap bilgisi rızası nesnesi oluÅturur. HHS hesap bilgisi rızası nesnesi için biricik tanımlayacı döner (RızaNo). Hesap bilgisi rızası, müÅterinin HBHSânin hesap/kart bilgilerine eriÅim izin verdiÄi alanları için 9.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması baÅlıÄında incelenebilir. \n 2.\tHesap bilgisi hizmeti müÅteri rızasının tesisi: \n HHS, Hesap Bilgisi Rızası servisi ile ÃHK özelinde âYetki bekleniyorâ statüsünde bir rıza nesnesi hazırlar. HHS, GKDânin baÅarıyla tamamlanması sonrasında hesap bilgisi rızası nesnesinin yetkilendirildiÄini belirtmek için Rıza Durumunu âRıza Yetkilendirildiâ olarak günceller. Nesne yetkilendirildikten sonra HHS nesne ile bir eriÅim belirteci (access token) iliÅkilendirir, Rıza Durumunu âYetki Kullanıldıâ yapar ve bu belirteci HBHSâye geri döner. Böylece müÅteri rıza tesisi saÄlanmıŠolur. \n Hesap bilgisi rızasına iliÅkin temel ilkeler Åunlardır: \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de Yetki Bekleniyor, Yetkilendirildi, Yetki Kullanıldı statüsünde 1 rızası olabilir. \n MüÅteri rızasının ayrıntıları ÃHK ile HBHS arasında belirlenir. Bu nedenle müÅteri rızasının ayrıntıları HHS ekranında deÄiÅtirilmemelidir. \n ÃHK, hesap ve kart eriÅim izni ayrıntılarını yalnızca bir bütün olarak yetkilendirebilir veya geri alabilir. \n MüÅteri rızası tesisi esnasında, müÅteri HHS arayüzünde eriÅim için yetkilendirecek hesapları ve kartları seçer. \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN hizmeti sunmayabildikleri için hesap referansı ile akıÅlarını kurgulayabilirler. YÃS önyüzlerinde yapılan bilgilendirmelerde, IBAN harici hesap referansı ile iÅlem yapılabilmesine dikkat edilmelidir. \n \n 2.1\tHesap bilgisi rızasının sorgulanması: MüÅteri rızası GET/hesap-bilgisi-rizasi/{RizaNo} çaÄrısı yapılarak sorgulanır. \n 2.2\tHesap bilgisi müÅteri rızasının iptali: MüÅteri rızası DELETE/hesap-bilgisi-rizasi/{RizaNo}
16 çaÄrısı yapılarak iptal edilir. \n 3.1\tHesap bilgilerinin alınması: Hesap bilgileri ilgili kaynaÄa (hesaplar, bakiye, iÅlemler) GET isteÄi yapılarak gerçekleÅtirilir. HBHS, müÅteri rızasının tesisinden sonrasında (geçerli bir eriÅim belirticine sahip olduÄunda) öncelikle GET/hesaplar çaÄrısı yapacaktır. \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin HBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini (önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n 4.\tKart bilgilerinin alınması: Kart bilgileri ilgili kaynaÄa (kartlar, kart detayı, kart hareketleri) GET isteÄi yapılarak gerçekleÅtirilir. HBHS, müÅteri rızasının tesisinden sonrasında (geçerli bir eriÅim belirticine sahip olduÄunda) öncelikle GET/kartlar çaÄrısı yapacaktır. \n Hesap Bilgisi Hizmeti İçin EriÅim Adresleri \n Etki Alanı (Scope) =âhesap_bilgisiâ \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n hesap-bilgisi-rizasi \n POST \n /hesap-bilgisi-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n HesapBilgisiRizasiIstegi \n HesapBilgisiRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n \n HesapBilgisiRizasi \n \n \n 2.2 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD-KoÅullu) \n \n \n \n \n \n \n 3.1 \n hesaplar \n GET \n /hesaplar \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n HesapBilgileri(birden çok hesap) \n \n \n 3.2 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n HesapBilgileri(tek hesap) \n \n \n 3.3 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n \n \n BakiyeBilgileri(tek hesap) \n \n \n 3.4 \n bakiye \n GET \n /bakiye \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama \n \n BakiyeBilgileri(birden çok hesap) \n \n \n 3.5 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n IslemBilgileri (tek hesap) \n \n \n 4 \n kartlar \n GET \n /kartlar \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n KartBilgileri(birden çok kart) \n \n \n 4.1 \n kartlar \n GET \n /kartlar/{kartRef} \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n KartBilgileri(tek kart) \n \n \n 4.2 \n kart-detay \n GET \n /kartlar/{kartRef}/kart-detay \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Filtreleme \n \n KartDetayBilgileri \n \n \n 4.3 \n kart-hareketleri \n GET \n /kartlar/{kartRef}/kart-hareketleri \n Z \n İstemci Kimlik Bilgileri ve Yetkilendirme Kodu (GKD) \n \n Sayfalama Filtreleme \n \n KartHareketleri \n \n \n \n Tablo 11: Hesap/Kart Bilgisi Hizmeti İçin EriÅim Adresleri \n ADIM 0: ÃHK'nın hesap/kart bilgilerine eriÅim için talepte bulunması: \n ÃHK, HBHS uygulamasında (web arayüzü/mobil uygulama) hesap/kart bilgilerine eriÅim için talepte bulunur. \n 9.1 ADIM 1: Hesap Bilgisi Rızasının Hazırlanması \n Bu dokümanda belirtilen hesap bilgisi hizmeti ibaresi hem hesap hem de kart rıza süreçlerini kapsamaktadır. \n Bu API çaÄrısı HBHS'nin HHS'de yeni bir âHesapBilgisiRizasiâ nesnesi oluÅturmasını ve nesneye eriÅmek için benzersiz bir rıza numarası ({rizaNo}) dönülmesini saÄlar. \n API çaÄrısının baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması yeterlidir.\nBaÅarıyla oluÅturulan hesap bilgisi rıza kaynaÄının rıza durumu âYetki Bekleniyorâ olarak düzenlenir.\nÃHK daha önce aldıÄı rızaya iliÅkin er
16iÅim tarihleri, izin türlerini ve hesap bilgilerini güncellemek isterse, HBHS önce HHS nezdindeki rızayı iptal etmeli ve sonrasında yeni bir rıza talebinde bulunmalıdır.\n \n \n Åekil 11: Hesap/Kart Bilgisi MüÅteri Rızasının Hazırlanması \n \n POST /hesap-bilgisi-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âHesapBilgisiRizasıIstegiâ nesnesi (Tablo-12) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âHesapBilgisiRizasiâ (Tablo-13) nesnesi oluÅturulur. \n POST /hesap-bilgisi-rizasi \n Bu dokümanda belirtilen hesap bilgisi rızası ibaresi hem hesap hem de kart rıza süreçlerini kapsamaktadır. \n BaÅarılı İstek: \n İSTEK: \n HBHS, bu API eriÅim adresinden HHSâye yeni bir HesapBilgisiRizasi oluÅturulması için istekte bulunur: \n \n HBHS, ÃHKânın hesap/kart bilgilerine yönelik rıza baÅlatma isteÄi olduÄunu HHSâye bildirir. YÃS'ler sürüm 2.0 için Hesap Bilgisi Rızası isteÄi gönderdiÄinde HHS'nin ÃHK'yı yönlendireceÄi mobil uygulama içerisinde sürüm 2.0 deÄiÅikliklerini içeren, kart bilgilerinin seçimini yapacakları sürümün yüklü olmaması durumunda HHS'ler tarafından TR.OHVPS.Business.CustomerMobileApplicationHasOlderVersion hatası verilebilir. \n HBHS, ÃHKânın, HBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların API dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk ve uzunluk kontrollerini yapar.(Zorunlu) Kontrollere istinaden hata oluÅması durumunda âTR.OHVPS.Resource.InvalidFormatâ hata kodu iletilmeli ve fieldErrors dolu olacak Åekilde hatalı alanı belirten detaylı açıklama gönderilmelidir. InvalidFormat hata kodlarında fieldErrors içeriÄi gönderilmeli ve anlaÅılır açıklama ile message, messageTr alanları doldurulması zorunludur. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n HHS; YÃS API ile alınan temel adres bilgilerinde yer alan yönlendirme adresleri ile hesap bilgisi rızası nesnesi içerisinde yer alan YÃS adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda âTR.OHVPS.Business.TPPRedirectionAddressMismatchâ hatası dönülür. \n HHS; kimlik bilgileri nesnesinde iletilen kimlik bilgileri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır.(Zorunlu) Kontrollere istinaden hata oluÅması durumunda âTR.OHVPS.Business.CustomerNotFoundâ hatası dönülür. Kurumsal müÅteri ile baÅlatılan rızada yer alan müÅteri bilgisinin karÅı kurumda Kurumsal müÅteri deÄil; bireysel müÅteri olduÄu durumda âTR.OHVPS.Business.BusinessCustomerMismatchâ hatası dönülür. \n Bir ÃHK'nın 1 YÃS için aktif tek bir rızası olabilir. ÃHKânın âYetkilendirildiâ ve âYetki Kullanıldıâ statüsünde rızası varken yeni bir rıza isteÄi gönderdiÄinde HHS tarafından TR.OHVPS.Business.ConsentAlreadyExists hatası dönülür. Güncelleme isteÄi göndermesi durumunda ise iÅletilmesi gereken akıÅlar âRıza Durumlarıâ baÅlıÄından kontrol edilmelidir. \n Hesap bilgi hizmeti rıza isteÄinde bulunan ÃHKânın âAçık Bankacılık Kanal Yetkiâ tanımı yok ise âTR.OHVPS.Business.OpenBankingChannelClosedâ hatası dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n Hesap bilgi hizmeti rıza isteÄinde 01 ya da 07 izin türü olmak zorundadır. HHS tarafından izin türü içerisinde 01 ya da 07 varlık durumu kontrol edilir. Olmaması durumunda \"TR.OHVPS.Business.IncorrectPermissionTypeâ hatası dönülür. \n Hesap bilgi hizmeti rıza isteÄinde 01 izin türü bulunmuyor ise 02, 03, 04, 05 ya da 06 izin türü olmamalıdır. 01 izin türü bulunmadıÄında 02, 03, 04, 05 ya da 06 izin türlerinden biri ya da birkaçı gönderildiÄinde \"TR.OHVPS.Business.IncorrectPermissionTypeâ hatası dönülür. \n Hesap bilgi hizmeti rıza isteÄinde 07 izin türü bulunmuyor ise 08 ya da 09 izin türü olmamalıdır. 07 izin türü bulunmadıÄında 08 ya da 09 izin türlerinden biri ya da ikisi gönderildiÄinde \"TR.OHVPS.Business.IncorrectPermissionTypeâ hatası dönülür. \n ÃHK, HHS'de olacak bakiye deÄiÅikliklerinden anlık haberdar olmak istiyor ise 06-Anlık Bakiye Bildirimi izin türü seçimi ile rıza baÅlatması gereklidir. 03-Bakiye Bilgisi izin türü ile birlikte seçilmesi gereklidir. 06 izin türü seçilip 03 izin türü seçilmediÄi durumda âTR.OHVPS.Business.IncorrectPermissionTypeâ hatası dönülür. \n İzin türü â06: Anlık Bakiye Bildirimiâ seçilmiÅ ise HHS, YÃS'ün KAYNAK_GUNCELLENDI olay tipinde olay aboneliÄinin varlıÄını kontrol eder. Olay abonelik kaydı bulunmuyor ise âTR.OHVPS.Business.EventSubscriptionNotFoundâ hatası dönülür. \n Hesap bilgi hizmeti rıza isteÄinde bulunan ÃHKânın izin verecek hesap ya da kartı yok ise âTR.OHVPS.Business.ProductNotSuitableâ hatası dönülür. İki üründen biri var ise baÅarılı yanıt dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n EriÅimin Geçerli OlduÄu Son Tarih bilgisi müÅteri baÄımsız alabileceÄi minimum deÄer : Rıza tarihi + 1 gündür. Maksimum rıza süresi bireysel müÅteriler için 6 ay, Kurumsal/Tüzel müÅteriler için 12 ay olacaktır. Bireysel müÅteriler için 6 aydan fazla, kurumsal müÅteriler için ise 12 aydan fazla iletildiÄi durumda âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; İÅlem Sorgulama BaÅlangıç Zamanı, hesap bilgisi rızası verilmesinden geçmiÅe dönük en fazla 12 ay olabilmektedir. 12 aydan fazla gönderilmesi durumunda âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; İÅlem Sorgulama BaÅlangıç Zamanı, hesap bilgisi rızası verilmesinden geleceÄe dönük en fazla 12 ay sonrası olabilmektedir. 12 aydan fazla gönderilmesi durumunda âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n Ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapılması durumunda HHS tarafından âTR.OHVPS.Business.DecoupledAuthenticationNotSupportedâ hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n Ayrık GKD ile baÅlatılan hesap bilgi hizmeti rıza isteÄinde HHS, YÃSâün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından âTR.OHVPS.Business.EventSubscriptionNotFoundâ hatası dönülür. \n ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından âTR.OHVPS.Business.CustomerInfoMismatchâ hatası dönülür. \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında hata mesajı vermelidir. HHS tarafından âTR.OHVPS.Business.CustomerMobileApplicationNotFoundâ hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, benzersiz âRizaNoâ ile âHesapBilgisiRizasiâ nesnesi oluÅturur ve HBHSâye döner. \n HHS, HesapBilgisiRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n Tablo 12: âHesapBilgisiRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Ãnceki Rıza No \n oncekiRizaNo \n AN1..128 \n K \n HesapBilgisiRızasiIstegi nesnesinin güncelleme sebebiyle oluÅturulması esnasında ÃHK'nın güncelleme yapmak istediÄi mevcut rıza no bilgisi. Rıza güncelleme yapılmak istendiÄinde gönderilmesi zorunludur. \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidASPSP hata kodunu döner. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Hata durumunda TR.OHVPS.Connection.InvalidTPP hata kodunu döner. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, HBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.OHKTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. Kurum adına yapılan(ticari) iÅlemlerde kurum kullanıcısının bilgisi iletilmelidir. \n \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n \n Hesap/Kart Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n \n >İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih. MüÅteri YÃS ekranından bu deÄeri belirleyebilir. Bireysel müÅteriler için rıza süresi 6 ay, Kurumsal/Tüzel müÅteriler için 12 ay olacaktır. Bireysel MüÅteriler için varsayılan deÄer : Rıza verilen tarih + 6 ay Kurumsal MüÅteriler için varsayılan deÄer : Rıza verilen tarih + 12 ay Bireysel MüÅteriler için alabileceÄi maksimum deÄer : Rıza tarihi + 6 ay Kurumsal MüÅteriler için alabileceÄi maksimum deÄer : Rıza tarihi + 12 ay MüÅteri baÄımsız alabileceÄi minimum deÄer : Rıza tarihi + 1 gün ÃrneÄin 04/02/2023âde minimum 05/02/2023 seçilebilir. Bu durumda yeni günün baÅlangıç saati 00:00:00 olduÄu kabul edildiÄi için; erisimIzniSonTrh deÄeri 2023-02-06T00:00:00+03:00 olmalıdır. HHS rıza onay ekranlarında YÃS'ten iletilen eriÅim izni son tarihi yeni günün baÅlangıç saati olarak iletildiÄinden ÃHK'ya gösterilecek tarih eriÅim izninin biteceÄi gün olarak gösterilmelidir. ÃrneÄe istinaden; ÃHK YÃSâde 05/02/2023 seçmiÅ ise HHS rıza onay ekranında 06/02/2023 görmemeli, bu iki tarihin aynı, yani 05/02/2023 olacak Åekilde gösterilmesi gerekmektedir. Ãrnek rıza oluÅ zamanı : 2023-02-04T21:20:20+03:00 1 günlük rıza verildiÄinde erisimIzniSonTrh deÄeri: 2023-02-06T00:00:00+03:00 (26 saat 40 sakikalık rıza vermiÅ oluyor.) 7 günlük rıza verildiÄinde erisimIzniSonTrh deÄeri: 2023-02-12T00:00:00+03:00 1 aylık rıza verildiÄinde erisimIzniSonTrh deÄeri : 2023-03-05-T00:00:00+03:00 \n Bu alanda bir deÄer bulunmadıÄı durumda HHS hata dönmelidir. \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geçmiÅe dönük en fazla 12 ay olabilir, daha eski olmaması gerekir. Varsayılan deÄeri rıza verilen tarih (iÅlem zamanı) â 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamıŠise zaman bilgisi üretilirken ekrandan girilen tarihe 00:00:00 zaman bilgisi eklenmelidir. ÃHK deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi - 12 ay Maksimum tarih: Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BaÅlangıç Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap bilgisi rızası verilmesinden geleceÄe dönük en fazla 12 ay sonrası olabilir, daha ileri bir tarih olmaması gerekir. Varsayılan deÄeri: Rıza verilen tarih + 12 aydır. ÃHK bu alana bir deÄer giriÅi saÄlamıŠise girdiÄi tarihe 1 gün eklenir ve yeni günün ilk saati kabul edilen 00:00:00 saat bilgisini ekler. ÃHK bu alana bir deÄer giriÅi saÄlamamıŠise ÃBHS varsayılan deÄerlerle bu alanı doldurarak, HHSâye iletir. Minimum tarihi : Rızanın veriliÅ tarihi â 12 ay Maksimum tarihi : Rızanın veriliÅ tarihi + 12 ay İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ise gönderilmemelidir. EÄer dolu gönderilirse HHS tarafından uygun hata mesajı iletilmelidir. \n ÃHK tarafından izin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmemiÅ ve İÅlem Sorgulama BitiÅ Zamanı ÃBHS tarafından dolu olarak gönderilmiÅ ise HHS tarafından iÅlemin devamına izin verilmez. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçilmiÅ ise; HHS bu alanın alabileceÄi minimum ve maksimum deÄerlerin sınırlar içerisinde olduÄunu kontrol eder. \n BaÅarılı Yanıt: \n Tablo 13: HesapBilgisiRizasi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Ãnceki Rıza No \n oncekiRizaNo \n AN1..128 \n K \n HesapBilgisiRızasiIstegi nesnesinin güncelleme sebebiyle oluÅturulması esnasında ÃHK'nın güncelleme yapmak istediÄi mevcut rıza no bilgisi. Rıza güncelleme yapılmak istendiÄinde gönderilmesi zorunludur. İstekte gönderilen deÄer aynı Åekilde yanıtta dönülmelidir. \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n HesapBilgisiRızası nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. Ãrn; hesap bilgi rızasının tesisine dair ilk istek mesajına dönüÅte âB: Yetki Bekleniyorâ deÄerini alması beklenir. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄ
16u durumda zorunludur. \n \n \n Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n > Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n > Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe\tGKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Hesap/Kart Bilgisi \n hspBlg \n Kompleks: HesapBilgisi \n Z \n \n \n \n > İzin Bilgisi \n iznBlg \n Kompleks: IzinBilgisi \n Z \n \n \n \n >> İzin Türü \n iznTur \n Array[AN2] \n Z \n ÃHK tarafından HBHS önyüzünde belirlenen izin tipleridir. Bir istekte birden fazla deÄer bulunabilir, TR.OHVPS.DataCode.IzinTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> EriÅimin Geçerli OlduÄu Son Tarih \n erisimIzniSonTrh \n ISODateTime \n Z \n Hesap bilgisi rızasının geçerli olduÄu son tarih \n \n \n >> İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi baÅlangıç zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n >> İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsZmn \n ISODateTime \n K \n Hesap hareketlerinin sorgunabileceÄi bitiÅ zamanı. İzin türü âTemel iÅlem Bilgisiâ ve/veya âAyrıntılı İÅlem Bilgisiâ seçildiÄinde bu alanların doldurulması zorunludur. \n \n \n > Ayrıntı Bilgi \n ayrBlg \n Kompleks: AyrintiBilgi \n İ \n \n \n \n > ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n İzinler \n Bir hesap bilgisi rızası kaynaÄı çaÄrısına yanıt olarak döndürülen verileri sınırlamak için izin kodları kullanılır. \n Hesap ve karta dair tüm bilgiler hesap bilgisi rızası altında alınacaktır. İzin türleri hesap ve karta göre ayrıÅmaktadır. \n \n Temel Hesap Bilgisi \n Ayrıntılı Hesap Bilgisi \n Bakiye Bilgisi \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n Ayrıntılı İÅlem Bilgisi \n Anlık Bakiye Bildirimi \n Temel Kart Bilgisi \n Detaylı Kart Bilgisi \n Ayrıntılı Kart İÅlem Bilgisi \n \n ÃHKâya sunulacak seçimler ve kuralları aÅaÄıdaki gibi olmalıdır. \n \n \n \n Seçim \n Kural \n \n \n \n \n Temel Hesap Bilgisi \n ÃHK seçim yapabilir. Temel Kart Bilgisi seçilmediyse bu izin türünün seçimi zorunludur. \n \n \n Ayrıntılı Hesap Bilgisi \n ÃHK seçim yapabilir. \n \n \n Bakiye Bilgisi \n ÃHK seçim yapabilir. \n \n \n Temel İÅlem (Hesap Hareketleri) Bilgisi \n ÃHK seçim yapabilir. \n \n \n Ayrıntılı İÅlem Bilgisi \n ÃHK seçim yapabilir. Ayrıntılı İÅlem Bilgisi seçimi Temel İÅlem Bilgisi seçimini kapsar. (Ayrıntılı İÅlem bilgisi seçildiÄinde Temel İÅlem Bilgisi de seçili olmalıdır.) \n \n \n Anlık Bakiye Bildirimi \n Bakiye Bilgisi izin türü ile birlikte seçilmesi gereklidir. ÃHK, HHS'de olacak bakiye deÄiÅikliklerinden anlık haberdar olmak istiyor ise bu izin türü seçimi ile rıza baÅlatması gereklidir. \n \n \n Temel Kart Bilgisi \n ÃHK seçim yapabilir. Temel Hesap Bilgisi seçilmediyse bu izin türünün seçimi zorunludur. \n \n \n Detaylı Kart Bilgisi \n ÃHK seçim yapabilir. \n \n \n Ayrıntılı Kart İÅlem Bilgisi \n ÃHK seçim yapabilir. \n \n \n \n AÅaÄıdaki durumlarda, izin kombinasyonlarına izin verilmez. HHS, bu hesap eriÅim onaylarını 400 (Hatalı İstek) yanıt ko
16duyla reddetmelidir: \n \n İzin dizisinin herhangi bir izin türü içermemesi durumu, \n İzin dizisinde HHS tarafından desteklenmeyen bir izin kodunun yer alması durumu \n 9.2 ADIM 2: Hesap Bilgisi Hizmeti Rızasının Tesisi \n \n \n Åekil 12: Hesap Bilgisi ÃHK Rızasının Tesisi \n Rıza tesisinin baÅarıyla sonuçlanması için HBHS'nin istemci kimlik bilgileri yetkisi kullanması ve ardından müÅterinin HHS tarafından yönlendirmeli veya ayrık GKD ile doÄrulanması gerekir. HHS'de oluÅturulan ve rıza durumu âYetki Bekleniyorâ olan bir hesap bilgisi rızası, GKD sonrası âYetkilendirildiâ statüsüne güncellenir. HBHS, eriÅim saÄlayacaÄı hesapları ve kartları hesap bilgisi rızasının tesisinden önce seçer. \n \n \n Yönlendirmeli doÄrulama akıÅında, HBHS ÃHKâyı HHSâye yönlendirir. \n \n \n HBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n \n \n HHS, ÃHK için GKD sürecini iÅletir. \n ÃHKâyı doÄrularsa, \n \n \n ÃHK HBHS üzerinden iÅlem yapılmasına izin vereceÄi hesap/kart seçimini y
16apar. HBHS üzerinden ÃHKânın verdiÄi izin bilgilerini ve eriÅim izninin baÅlangıç/bitiÅ tarihi bilgilerini, HHS'ler bilgilendirme amaçlı ÃHKâya gösterir. \n \n \n Rıza güncelleme akıÅı ile baÅlatılan rıza isteklerinde mevcut rıza içerisinde seçili olan hesap/kart bilgileri ÃHK'ya HHS ekranlarında aynı Åekilde seçili olarak getirilmelidir. ÃHK'lar mevcut rıza içerisinde izin vermiÅ olduÄu hesap/kart bilgilerini seçili olarak görüntüleyip yeni rıza için izin vermek istediÄi hesap/kartların seçimini güncelleyebilmelidir. \n Rıza güncelleme sürecinde; ÃHKânın HHSâdeki mevcut rızası kapsamında YÃSâten gelen rıza izin türlerine göre listeleme yapılmalıdır. 01,02,03,04,05,06 seçildiyse hesapların; 07,08,09 seçildiyse kartların HHSâde listelenmesi gerekmektedir. ÃrneÄin: ÃHKânın mevcut rızasında hesaplar (01,02,03 rıza türlerinin seçili olsun) için hesap bilgisi rızası verilmiÅ olsun eÄer YÃSâten rıza güncelleme kapsamında 01,02, 07,08 rıza türleri geldiÄi durumda HHSânin mevcut hesap rızasını ve doÄal olarak hesapları listelemesi ek olarak da karta ait rıza türleri seçildiÄinde kartların listelenmesi gerekecektir. Ancak, ÃHKânın mevcut rızasında hesaplar (01,02,03 rıza türlerinin seçili olsun) için hesap bilgisi rızası verilmiÅ olsun eÄer YÃSâten rıza güncelleme kapsamında 07,08, 09 rıza türleri geldiÄi farz edildiÄinde HHSânin mevcut hesap rızasını göstermemesi ve sadece karta ait rıza türleri seçildiÄi için kartları listelemesi gerekecektir. \n \n \n HHS hesap bilgisi rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=H&drmKod=zzz\n \n \n \n ÃHKâyı doÄrulayamazsa, \n \n \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n \n \n HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile HBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I &rizaNo=yy&rizaTip=H&rizaIptDtyKod=11&drmKod=zzz\n \n \n \n \n \n \n \n Ayrık doÄrulama akıÅında, HHS, ÃHKânın hesap bilgisi hizmetini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister. \n \n Ayrık akıŠHBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek hesap bilgisi rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ödeme hizmeti kullanıcısını doÄrular. \n ÃHK verdiÄi izin tipi dahilinde bilgileri paylaÅılacak olan hesapları seçer. Rıza güncelleme akıÅı ile baÅlatılan isteklerde ÃHK mevcutta vermiÅ olduÄu hesap ve kartları seçili olarak görüntüler. İlgili seçimler üzerinde güncelleme saÄlayarak onay verir. \n HHS, hesap bilgisi rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, hesap bilgisi rızasının durumunu âYetki Kullanıldıâ olarak günceller. Rıza tesisi saÄlanmıŠolur. \n 9.3 ADIM 2.1: Hesap Bilgisi Rızasının Sorgulanması \n GET /hesap-bilgisi-rizasi/{rizaNo} \n ÃHK, HHS üzerinden rıza iptali yapmıŠolabilir veya ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir. Bu durumlarda HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir HesapBilgisiRizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. \n \n YÃS sadece kendi uygulaması üzerinden verilmiÅ hesap bilgi rızasını sorgulayabilir. YÃS'e ait olmayan bir rıza ile sorgulama yapıldıÄında HHS tarafından \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n YÃS'e ait rıza sorgulama yapılırken ilgili rıza kaydı bulunamaz ise âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n \n Servis baÅarılı yanıtında Tablo 13âde belirtilen âHesapBilgisiRizasiâ nesnesini dönmektedir. \n Durum \nHesapBilgisiRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n \n Yetki Bekleniyor \n \n \n Yetkilendirildi \n \n \n Yetki Kullanıldı \n \n \n Yetki S
16onlandırıldı \n \n \n Yetki İptal \n \n \n Hesap bilgisi rızası sonlandırıldı ve iptal statüsünde olan rıza'ların güncellenme zamanından(gnclZmn) 6 ay sonrasına kadar sorgulanabilir olması beklenmektedir. HHS'ler ilgili süre sonrasında yapılacak rıza sorgularına \"TR.OHVPS.Resource.NotFound\" uyarısı verebilir. YÃS'ler tarafından iptal ve sonlandırıldı statüsünde olan rızalar için sorgulama yapmamalıdır. \n 9.4 ADIM 2.2: Hesap Bilgisi Rızasının İptali \n \n \n \n Åekil 13: Hesap Bilgisi MüÅteri Rızasının Geri Alınması \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \n DELETE /hesap-bilgisi-rizasi çaÄrısı, bir HBHS'nin önceden oluÅturulmuÅ bir hesap eriÅim rızasını (yetkili olsun veya olmasın) silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, HBHS üzerinden bu rızasını kaldırmak isteyebilir. \nBu API çaÄrısı, müÅterinin HBHS üzerinden hesap bilgisi rızasını iptal etmesine ve HHS nezdindeki hesap bilgisi rızası nesnesinin silinmesini saÄlar. \n \n Rıza durumunun K olduÄu durumlarda eriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rıza, silinen rizaNo bilgisi ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n Rıza İptali API'sinde ilgili rıza kaydı bulunamaz ise âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n Rıza durumu Yetki Sonlandırıldı - S veya Yetki İptal - I ise \"TR.OHVPS.Resource.ConsentRevoked\" hatası dönülür. \n \n MüÅterinin HBHSânin veri eriÅim iznini iptal etmesi durumunda HBHS, HHSâde mevcut olan HesapBilgisiRizasi kaynaÄını pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa \n DELETE /hesap-bilgisi-rizasi/{RizaNo} \nçaÄrısı aracılıÄı ile yerine getirilir. HBHS ayrıca, sisteminden Hesap/Kart EriÅim İzni kaynaklarını da temizlemelidir. \nSöz konusu silme iÅlemi, kayıtların statüsünün pasife çekilmesi ile gerçekleÅtirilmelidir. Söz konusu kayıtlar, denetim izlerinin oluÅturulması ve saklanmasına iliÅkin ikincil düzenleme hükümleri kapsamında güvenli Åekilde tutulmalıdır. \nServis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır. \nÃHK rızası baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ olarak güncellenir ve gnclZmn zaman damgası vurularak güncellenir. \nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir: \nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (HBHS) \n 9.5 ADIM 3: Hesap Bilgilerinin Alınması \n \n \n \n Åekil 14: Hesap Bilgilerinin Alınması \n İSTEK: \nMüÅteri rızası tesis edilmiÅ kullanıcı için HBHS API eriÅim adresinden HHSâye eriÅilebilir hesap bilgilerini GET isteÄi ile sorgular: \n \n Parametrede yer alan deÄerlerin doÄru gönderildiÄi kontrol edilir. Hatalı gönderilmesi durumunda HHS tarafından âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. Parametrede yer alan deÄerler gönderilmediÄi durumda parametredeki varsayılan deÄerler ile hesap bilgileri dönülür. Varsayılan deÄerler Tablo 14'de belirtilmiÅtir. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n /hesaplar/{hspRef} ile yapılan istekte;\n \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen hspRef'ler için, hesap bilgisi sorgulanan hspRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili hspRef bulunamaz âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n \n \n Rıza durumu kontrol edilir.\n \n RizaDurumu B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n YÃS'ün;
16 Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında hesap bilgileri servisini çaÄırmaması beklenir. Bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda HHS tarafından âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âYetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n HHS tarafından ÃHKânın â01: Temel Hesap Bilgisiâ izin türüne sahipliÄi kontrol edilir. 01 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, \"HesapBilgileri\" nesnesini oluÅturur ve HBHSâye döner. \n \n Hesap bilgisi rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinden herhangi bir hesabın kapatılması ya da pasife alınması durumunda YÃS tarafından yapılan hesap isteÄine HHS tarafından hesap bilgisi dönülmelidir. Rıza içerisinde tek bir hesap olması halinde ilgili hesabın kapatılması durumunda rıza 09 iptal detay kodu ile iptal edilmelidir.\nKapalı hesap için TR.OHVPS.DataCode.HspDrm veri türünden KAPALI deÄeri ile, pasif hesap için TR.OHVPS.DataCode.HspDrm veri türünden PASIF deÄeri ile dönülmelidir. \n 9.6 ADIM 3.1 ve 3.2: Hesap Bilgilerinin Sorgulanması \n GET /hesaplar ve GET /hesaplar/{hspRef} \n Bu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bilgileri sorgulanır. Hesap bilgisi için daha önce tanımlanmıŠizin türüne göre (Temel Hesap Bilgisi veya Detaylı Hesap Bilgisi) yanıtında dönülen HesapBilgileri nesnesinin içeriÄi deÄiÅir. Tablo 15âte HesapBilgileri nesnesinin içeriÄi verilmiÅtir. \n Hesap Bilgisi Sorgu ÃrneÄi (Tüm Hesaplar) = /hesaplar \nHesap Bilgisi Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef} \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 14: Hesap Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarası \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 15: âHesapBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızası nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Hesap Temel \n hspTml \n Kompleks: HesapTemel \n Z \n Temel Hesap Bilgileri (Temel Hesap Bilgisi varsayılan izin türü olduÄundan Hesap Temel nesnesi zorunlu olarak yanıtta bulunur) \n \n \n > Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hs
16pRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n > Hesap Numarası \n hspNo \n AN26 \n K \n EÄer varsa ödeme hesabına ait IBAN bilgisi \n \n \n > Hesap Sahibi Ãnvanı \n hspShb \n AN3..140 \n Z \n Hesap sahibi ya da hesap sahiplerinin ad-soyadı, ticari ünvanı \n \n \n > Åube Adı \n subeAdi \n AN3..50 \n K \n EÄer varsa ödeme hesabının baÄlı olduÄu Åubenin adı \n \n \n > Kısa Ad \n kisaAd \n AN3..50 \n K \n EÄer hesap sahibi hesaba ait bir ad tanımladıysa, tanımlanan hesap adı \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. \n \n \n > Hesap Türü \n hspTur \n AN1 \n Z \n Hesabın türü (bireysel veya ticari). TR.OHVPS.DataCode.HspTur sırali veri deÄerlerinden birini alır. \n \n \n > Hesap Tipi \n hspTip \n AN1..32 \n Z \n Hesabın tipi (VADESİZ, KREDİLİ vb.).TR.OHVPS.DataCode.HspTip sıralı veri deÄerlerinden birini alır. \n \n \n >Hesap Ãrün Adı \n hspUrunAdi \n AN1..140 \n İ \n HHS tarafından atanmıŠolan ürün adı bilgisidir. HBHS tarafından ÃHKâya gösterilmesi kullanım kolaylıÄı saÄlayacaktır. \n \n \n > Hesap Durumu \n hspDrm \n AN5..50 \n Z \n Hesabın durumunu belirtir. TR.OHVPS.DataCode.HspDrm sıralı veri türlerinden birini alır. \n \n \n Hesap Detay \n hspDty \n Kompleks: HesapDetay \n K \n Detay Hesap Bilgileri (Temel Hesap Bilgisine ek olarak Detay Hesap Bilgisi izin türü de seçilmiÅse Hesap Detay nesnesi koÅullu olarak yanıtta bulunur) \n \n \n > AçılıŠTarihi \n hspAclsTrh \n ISODateTime \n Z \n Belirtilen hesabın açılıŠtarihi. \n 9.7 ADIM 3.3 ve 3.4: Hesap Bakiyesinin Sorgulanması \n GET /bakiye ve GET /hesaplar/{hspRef}/bakiye \nBu eriÅim noktalarından tüm hesapların veya belirli bir hesabın bakiyesi sorgulanır. İstek çaÄrısına dönülen âBakiyeBilgileriâ nesnesi Tablo 17âde verilmiÅtir. \n \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n /hesaplar/{hspRef}/bakiye ile yapılan istekte;\n \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen hspRef'ler için, bakiye sorgusundaki hspRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili hspRef bulunamaz âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n \n \n Rıza durumu kontrol edilir.\n \n RizaDurumu B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n YÃS'ün; Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında hesap bakiye servisini çaÄırmaması beklenir. Bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda HHS tarafından âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âYetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n Hesap Bakiye Sorgulanması yapılırken HHS tarafından ÃHKânın â03: Bakiye Bilgisiâ izin türü sahipliÄi kontrol edilir. 03 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, \"BakiyeBilgileri\" nesnesini oluÅturur ve HBHSâye döner. \n \n Hesap Bilgisi Rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinde yer alan hesaplardan kapatılmıŠya da pasif duruma alınmıŠolan hesaplar için bakiye isteÄi yapıldıÄında HHS tarafından bakiye bilgisi dönülmelidir. \n \n Hesap bakiyelerinin gösterilmesi sırasında aÅaÄıda verilen örnekler gözönünde bulundurulmalıdır. \n Ãrnek 1 : ÃHK Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 0 deÄerini içeriyorsa, Hesap Bakiye Tutarı -1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 2 : ÃHK Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 1 deÄerini içeriyorsa, Hesap Bakiye Tutarı 2000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 3 : ÃHK Hesap Bakiye Tutarı 1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 0 deÄerini içeriyorsa, Hesap Bakiye Tutarı 0 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n Ãrnek 4 : ÃHK Hesap Bakiye Tutarı 1000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL. ÃHK 1000 TL para çıkıÅı gerçekleÅtirdi. Bakiye API'si yanıtı içerisinde iletilen Kredi Dahil Göstergesi 1 deÄerini içeriyorsa, Hesap Bakiye Tutarı 3000 TL, Kredili Mevduat Hesabı Bakiyesi 3000 TL olmalıdır. \n İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /bakiye?\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= hspRef &\nsrlmYon=A \n Tablo 16: âBakiyeBilgileriâ Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden bü
16yük olamaz. \n Bu veri gönderildiÄi durumda, HHS listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek kayıtların sıralama kriterini belirtir. AlabileceÄi deÄerler: { âhspRefâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini hspRef olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 17: âBakiyeBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referansı \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hspRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n Bakiye \n bky \n Kompleks:Bakiye \n Z \n \n \n \n > Hesap Bakiye Tutarı \n bkyTtr \n AN1..25 \n Z \n Hesabın bakiyesi. Bloke tutar düÅülmeden iletilmelidir. Tutar alanı regex patterni Åu Åekildedir: '^-?\\d{1,18}$|^-?\\d{1,18}\\.\\d{1,5}$' \n \n \n > Blokeli Tutar \n blkTtr \n AN1..24 \n K \n Varsa hesapta blokeli tutar bilgisi. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n > Bakiye İletilme Zamanı \n bkyZmn \n ISODateTime \n Z \n Bakiyenin iletildiÄi zaman bilgisi. \n \n \n > KrediliHesap \n krdHsp \n Kompleks: KrediliHesap \n K \n \n \n \n >> Kredili Mevduat Hesabı Bakiyesi \n kulKrdTtr \n AN1..24 \n Z \n Kredili mevduat tutarı. Kredili bir hesap ise zorunlu. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n >> Kredi Dahil Göstergesi \n krdDhlGstr \n AN1 \n Z \n Kredili bir hesap ise zorunlu. Bakiye tutarının kredi tutarı dahil edilerek ya da edilmeden iletildiÄini gösterir. 0: Kredi tutarı dahil edilmeden bakiye bilgisi iletilmesi durumu 1: Kredi tutarı dahil edilerek bakiye bilgisi iletilmesi durumu \n 9.8 ADIM 3.5 ve 3.6: İÅlemlerin Sorgulanması \n GET /hesaplar/{hspRef}/islemler \n Servis baÅarılı yanıtında Tablo 19âda belirtilen \"IslemBilgileri\" nesnesini dönmektedir. \n \n Belirli bir hesaba iliÅkin iÅlem bilgileri Tablo 18âdeki istek parametrelerine göre sorgulanır. Parametrede yer alan deÄerlerin doÄru gönderildiÄi kontrol edilir. Hatalı gönderilmesi durumunda âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen hspRef'ler için, iÅlemler sorgusundaki hspRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili hspRef bulunamaz âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n RizaDurumu B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n YÃS'ün;
16 Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında iÅlemler servisini çaÄırmaması beklenir. Bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda HHS tarafından âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âYetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n HHS tarafından ÃHKânın â04: Temel İÅlem (Hesap Hareketleri) Bilgisiâ veya \"05: Ayrıntılı İÅlem Bilgisi\" izin türüne sahipliÄi kontrol edilir. 04 veya 05 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n \n Hesap Bilgisi Rızası alınmıŠve eriÅim izni devam eden hesaplar içerisinde yer alan hesaplardan kapatılmıŠya da pasif duruma alınmıŠolan hesaplar için iÅlemler isteÄi yapıldıÄında HHS tarafından iÅlemler bilgisi dönülmelidir. \nİÅlem bilgisi için daha önce tanımlanmıŠizin türüne göre yanıtta dönen IslemBilgileri nesnesinin (Temel İÅlem Bilgisi veya Temel İÅlem Bilgisi ve Detaylı İÅlem Bilgisi) içeriÄi deÄiÅir. \nİÅlemler servisi hem ÃHKânın talebi ile YÃS uygulaması üzerinden çaÄrılabileceÄi gibi, YÃSâün ÃHKâsız baÅlatabileceÄi otomatik çaÄrıları ile de yanıt dönebilmektedir. \nHHS, iÅlemin sistemsel yapılıp yapılmadıÄını, istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir.\nÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \nYÃS, otomatik yapacaÄı sorgularda; \n \n Bireysel ÃHKâlar için hesap bazında günde en fazla 4 adet baÅarı ile sonuçlanan sorgulama yapabilir. 4 adetten fazla yapılması durumunda âTR.OHVPS.Connection.ExceededRateâ hatası dönülür. \n Kurumsal ÃHKâlar için hesap bazında saatte en fazla 12 adet baÅarı ile sonuçlanan sorgulama yapabilir. 12 adetten fazla yapılması durumunda âTR.OHVPS.Connection.ExceededRateâ hatası dönülür. \n \n HHS, tutacaÄı sayaç bilgisi ile bu sayıları kontrol ederek daha fazla sorgulama yapılmasına izin vermeyebilir. \n Aynı istek parametreleri ile yapılan sorgu sonucunda dönecek toplam kayıt sayısı 100âü aÅtıÄında, sayfalama yöntemi ile HHSânin cevap dönmesi beklenmektedir. Her bir sayfa için iÅlemler servisi tekrar çaÄrılsa da, bu çaÄrım HHSânin tuttuÄu sayaç deÄerini arttırmaz. HHSânin tutacaÄı sayaçın kontrol parametreleri YÃS kodu, hesap numarası ya da referansı olmalıdır. Sayfa no parametresi varsa ve 1'den büyük ise iÅlem sayacını arttırmamalıdır. \n ÃHKânın YÃS uygulaması üzerinden tetiklediÄi iÅlemlerde ise;\nbireysel ÃHKâlar için en fazla 1 aylık,\nkurumsal ÃHKâlar için ise en fazla 1 haftalık bir pencere aralıÄında sorgulama yapılabilir. Belirtilen tarih aralıÄından farklı deÄer ile sorgulama yapıldıÄında âTR.OHVPS.Business.InvalidStartEndTimeâ hatası dönülür. \n YÃS, otomatik yapacaÄı sorgularda hem bireysel hem de kurumsal ÃHKâlar için 24 saatlik bir pencere aralıÄında sorgulama yapabilir. Belirtilen tarih aralıÄından farklı deÄer ile sorgulama yapıldıÄında âTR.OHVPS.Business.InvalidStartEndTimeâ hatası dönülür. \n Yeni günün baÅlangıç saatinin 00:00:00 olduÄu kabul edilmiÅtir. \n Sorgu örnekleri aÅaÄıdaki gibidir: \n 1 günlük İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-06-02T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n \n 1 haftalık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-06-08T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-02-01T00:00:00+03:00&\nhesapIslemBtsTrh=2020-03-01T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-01-31T00:00:00+03:00&\nhesapIslemBtsTrh=2020-02-28T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 1 Aylık İÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-02-28T00:00:00+03:00&\nhesapIslemBtsTrh=2020-03-28T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n 24 saatlik pencerede yapacaÄı sistemsel sorgu örneÄi (Son sorgusunun üzerine 24 saat eklenmesi) =\n/hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2020-06-01T14:10:08+03:00&\nhesapIslemBtsTrh=2020-06-02T14:10:08+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n Ãnyüzden alınan sorgu parametreleri ile oluÅturulan sorgu örneÄi (Ãrnek sorgu tarih aralıÄı 20.02.2023- 25.02.2023 arasındadır) =\n/hesaplar/{hspRef}/islemler?\nhesapIslemBslTrh=2023-02-20T00:00:00+03:00&\nhesapIslemBtsTrh=2023-02-26T00:00:00+03:00&\nminIslTtr=0&\nmksIslTtr=100000&\nbrcAlc=A&\nsyfKytSayi=25&\nsyfNo=1&\nsrlmKrtr= islGrckZaman &\nsrlmYon=A\n \n Tablo 18: İÅlem Listesi Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n İÅlem Sorgulama BaÅlangıç Zamanı \n hesapIslemBslTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin baÅlangıç tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. ÃHK tarafından tetiklenen sorgularda;hesapIslemBslTrh ve hesapIslemBtsTrh arası fark bireysel ÃHKâlar için en fazla 1 ay,kurumsal ÃHKâlar için ise en fazla 1 hafta olabilir. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;son 24 saat sorgulanabilir. Bu yüzden hesapIslemBtsTrh-24 saatâten daha uzun bir aralık sorgulanamaz olmalıdır. İstek baÅlıÄında yer alan PSU-Initiated alanı âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n \n \n İÅlem Sorgulama BitiÅ Zamanı \n hesapIslemBtsTrh \n ISODateTime \n Z \n Sorgulanacak iÅlemlerin bitiÅ tarihi. \n HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından sistemsel yapılan sorgulamalarda hem bireysel, hem de kurumsal ÃHKâlar için;İleri vadeli iÅlem emirleri dahil olmadıÄı için (Sürüm 1.0.2 kapsamında); İÅlem Sorgulama BitiÅ Zamanı, her zaman, sorgulama zaman damgasını iletecek Åekilde (datetime (now)) iletilebilir. \n \n \n En DüÅük İÅlem Tutarı \n minIslTtr \n AN1..24 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en düÅük iÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n En Yüksek İÅlem Tutarı \n mksIslTtr \n AN1..24 \n İ \n Sorgulanacak iÅlemlerin alabileceÄi en yüksek iÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Borç Alacak Göstergesi \n brcAlc \n AN1 \n İ \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Hesaba borç yaratan iÅlem.A: Hesaba alacak yaratan iÅlem.{âBâ,âAâ} \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden bü
16yük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âislGrckZamanâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama kriterini islGrckZaman olarak belirler. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 19: âIslemBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Hesap Referans Numarası \n hspRef \n AN5..40 \n Z \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. Bir hesap (IBAN) tek bir hspRef'e karÅılık gelmelidir, benzer Åekilde bir hspRef tek bir IBAN'a karÅılık gelmelidir. Aynı hesap için alınan tüm rızalarda hesap referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n Islemler \n isller \n Kompleks:Islem[Array] \n K \n Hesaba iliÅkin hareketler varsa İÅlemler nesnesi dizisi olarak dönülür. İÅlemler nesnesi Temel İÅlem Bilgileri ve Detay İÅlem Bilgileri nesnesinden meydana gelir. İzin türü varsayılan olarak Temel İÅlem Bilgilerini içerir. Detay İÅlem Bilgileri izin türü de seçildi ise Temel İÅlem Bilgilerine ek olarak Detay İÅlem Bilgileri de gönderilir. \n \n \n > Temel İÅlem Bilgileri \n islTml \n Kompleks:IslemTemel \n Z \n Temel İÅlem Bilgileri varsayılan olarak dönülür. \n \n \n >> İÅlem Numarası \n islNo \n AN3..50 \n Z \n Hesap hareketinin oluÅturulması sırasında atanan ve borç (veya alacak) hareketini tekilleÅtiren HHS bazında tekil tanımlayıcıdır. Bu deÄer tek baÅına tekil olabileceÄi gibi birden fazla deÄerin bir araya getirilmesiyle de tekilliÄi saÄlanmıŠolabilir. Bu deÄerin en azından hesap numarası (hesNo) bazında tekil olması beklenir. Genellikle kullanılan örnekleri; Instance_Id, Transaction_Id, Transaction_Num, Transaction_TimeStamp,dekont numarası \n \n \n >> İÅlem Referans Numarası \n refNo \n AN3..50 \n Z \n İÅlemi uçtan uca tanımlayan tekil tanımlayıcıdır. Borç ve alacak hareketinden oluÅan bir veya birden fazla iÅlemler bütünü için atanmıŠolan ve bu bütünü tekilleÅtiren (bir biri ile iliÅkisini tutan) deÄerdir.Bu deÄer hem YÃSâten gelen deÄer olabilir (ödeme iÅlemlerinde kullanılan kkodRef ya da refBlg alanı) hem de HHS içinde takip edilmek için üretilmiÅ bir deÄer olabilir. HHS sisteminde 2 deÄerin de bulunması durumunda;refNo alanını doldurmak için, HHSânin YÃSâten gelen deÄere öncelik vermesi beklenmektedir. YÃSâten gelen veri örneÄi: SipariÅ Numarası, Fatura Numarası, Karekod Referansı vb. HHSâte üretilen veri örneÄi: Masraflı havale iÅleminde hem havale iÅleminin hem de masraf iÅleminin aynı referans numarasına sahip olması da örnek olarak gösterilebilir. \n \n \n >> İÅlem Tutarı \n islTtr \n AN1..24 \n Z \n İÅlem tutarı. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n >> Güncel Bakiye Tutarı \n gnclBky \n AN1..25 \n Z \n İÅlem sonrası güncel bakiye bilgisi tutarı. Tutar alanı regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para birimi. \n \n \n >> İÅlem GerçekleÅme Zamanı \n islGrckZaman \n ISODateTime \n Z \n İÅlemin gerçekleÅme zamanı. \n \n \n >> İÅlem Kanalı \n kanal \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeKaynak sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Borçlandırma Alacaklandırma Göstergesi \n brcAlc \n AN1 \n Z \n TR.OHVPS.DataCode.BrcAlc sıralı veri türü deÄerlerinden birini alır. İÅlemin hesabı borç ya da alacaklandırdıÄı bilgisidir. \n \n \n >> İÅlem Türü \n islTur \n AN3..50 \n Z \n HHSânin iÅleme ait iliÅkilendirdiÄi iÅlem türü deÄeri. TR.OHVPS.DataCode.IslemTuru sıralı veri türü deÄerlerinden birini alır. \n \n \n >> İÅlem Amacı \n islAmc \n AN2 \n Z \n TR.OHVPS.DataCode.IslemAmaci sırali veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Ãdeme Sistemi No \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. Havale/FAST/PÃS ödeme yöntemleri için tarih alanı yyyy-aa-gg formatında 10 karakter olarak
16iletilmelidir. \n \n \n > Detay İÅlem Bilgileri \n islDty \n Kompleks: IslemDetay \n K \n Detay İÅlem Bilgileri dizi olarak gönderilmelidir. \n \n \n >> İÅlem Açıklaması \n islAcklm \n AN1..200 \n Z \n HHS tarafından atanan iÅlem açıklaması. HHS kendi iÅlem hareketlerine yansıttıÄı açıklamayı buraya yansıtmalıdır. HHS'ler tüm hesap hareketlerini YÃS'ler ile paylaÅmakla yükümlü olup, hassas veri içeren(örn: faiz, komisyon bilgisi içeren vb.) iÅlem hareketleri de bu kapsamda deÄerlendirilerek iÅlem açıklamasının maskeli olarak iletilmesi saÄlanır. Kelimelerin ilk 3 hanesi maskeli olacak Åekilde, ancak sakıncalı bulunan kelimeler varsa; (örn: faiz, komiyon vb.) kelimelerin tamamı maskeli olacak Åekilde gösterilebilir. \n \n \n >> KarÅı Taraf \n krsTrf \n Kompleks: KarsiTaraf \n K \n Kullanımı iÅlem bazında deÄiÅmektedir. Ãrnek: FAST iÅleminde karÅı taraf alıcının bilgileridir. Vergi ödemesinde kurum IBAN bilgisi müÅteriye gösterilemeyebileceÄinden bu alanın boÅ gelmesi HHS insiyatifindedir. \n \n \n >>> KarÅı Maskeli IBAN \n krsMskIBAN \n AN26 \n K \n İlgili hesap hareketinin karÅı tarafının maskeli IBAN bilgisi. \n \n \n >>> KarÅı Ãnvan \n krsUnvan \n AN3..140 \n K \n İlgili hesap hareketinin karÅı tarafının ad-soyad ya da ticari ünvan bilgisi. Ãnvan bilgisi maskelenmeden iletilmelidir. \n \n \n >>> KarÅı Taraf Kimlik Bilgisi \n krsKimlikVrs \n AN1..11 \n İ \n HHS sorumluluÄunda YÃS ile paylaÅılan KarÅı Taraf Kimlik Bilgisi(Kimlik/Kurum Kimlik - TCKN/VKN) \n 9.9 ADIM 4: Kart Bilgilerinin Sorgulanması \n \n GET /kartlar ve GET /kartlar/{kartRef} \n Bu eriÅim noktalarından tüm kartların veya belirli bir kartın bilgileri sorgulanır ve kart listesi elde edilir. İlgili sorgu için 07 izin türünün verilmesi yeterlidir. HHS ekranlarında kart seçimi yapılırken sadece aktif/açık statüde olan kartlar listelenecek ve ÃHK'ya seçtirilecektir. Kartın ilgili kanalda listelenme yetkisi bulunmuyorsa ÃHVPS kapsamında listelenmeyebilir. ListelendiÄi durumda; asıl kart sahibi ile sanal/ek kart sahiplerinin aynı kiÅi olduÄu düÅünüldüÄünde HHS ekranlarında kart seçimi yapılarak rıza verilirken asıl kart seçilmeden ilgili asıl karta baÄlı sanal ve ek kartların ayrıca seçilerek rıza verilmesine izin verilmemelidir. HHS mevcut kanallarında ek ve sanal kart hareketlerini asıl karttan ayırt etmeden müÅterisine gösteriyor ise asıl kart seçimi ile birlikte asıl karta baÄlı sanal ve/veya ek kart seçimini zorunlu kılmalıdır. Asıl kart hamili dıÅında bir kiÅi için ek kart çıkartıldıÄı durumda ek kart sahibi HHS'de asıl kartı görmeyecek olduÄundan sadece kendisine çıkartılan ek kartı listelenecek ve seçerek rıza vermesi saÄlanacaktır. Ek kart hamilinin asıl kart hamilinden farklı olduÄu durumda asıl karta ait bir rıza olmasa da ek karta rıza verilebilir. \n Her durumda onay ekranında rıza verilen tüm kartların listesini ÃHK'ya göstermesi zorunludur. Kapalı devre çalıÅan kartlar kapsama dahil deÄildir. \n YÃS tarafından baÅlatılan rıza isteklerinde hesap ve kart izin türlerinin seçili olması durumunda HHS ekranlarında hem hesapların hem de kartların listelenmesi saÄlanacaktır. Ancak hesap ya da kart bilgilerinden en az birinin seçilmesi yeterlidir. Hem hesap hem kart bilgisi için seçim yapılması zorunluluÄu bulunmamaktadır. YÃS üzerinden hem hesap hem kart izin türü seçilerek baÅlatılan rıza akıÅında, müÅteri HHS ekranında yalnızca hesap seçimi yapmıŠise, kartlar servisine yapılan isteklerde HHS tarafından hata yerine boÅ liste dönülmelidir. \n \n Parametrede yer alan deÄerlerin doÄru gönderildiÄi kontrol edilir. Hatalı gönderilmesi durumunda HHS tarafından âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. Parametrede yer alan deÄerler gönderilmediÄi durumda parametredeki varsayılan deÄerler ile kart bilgileri dönülür. Varsayılan deÄerler Tablo 20'de belirtilmiÅtir. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n RizaDurumu B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n YÃS'ün;
16 Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında kartlar servisini çaÄırmaması beklenir. Bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda HHS tarafından âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âYetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n İlgili rıza numarasının â07: Temel Kart Bilgisiâ izin türüne sahipliÄi kontrol edilir. 07 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS tarafından istek baÅlıÄında yer alan X-Access-Token ile iliÅkili rıza içerisindeki kart bilgileri dönülür. Kart bilgileri için KartBilgileri nesnesinin içeriÄi Tablo 21'de verilmiÅtir. \n Kart Bilgisi Sorgu ÃrneÄi (Tüm Kartlar) = /kartlar?syfKytSayi=25&syfNo=1?kartTipi=K\nKart Bilgisi Sorgu ÃrneÄi (Belirli Bir Kart) = /kartlar/{kartRef} \n İptal statüsünde olan banka ve ön ödemeli kart tipleri HHS tarafından kartlar sorgusunda dönülmeyecek olup YÃS'ler tarafından ÃHK'ya da gösterilemeyecektir. İptal statülü kredi kart tipi için borç/taksit bilgisi veya artı bakiye olması durumunda kartlar listesinde HHS'ler tarafından dönüŠsaÄlanacak olup YÃS'ler tarafından ÃHK'ya gösterilecektir. İptal statüsünde olup herhangi bir bakiye ve borç olmaması durumunda ilgili kart bilgisi kartlar listesinde HHS tarafından iletilmeyecektir. \n HHS'de açık/aktif statüde yer alan kartlar seçilip rıza tahsis edildikten sonra kartın statüsünün pasif olması durumunda HHS tarafından mevcut kanallarında gösterilen bilgiler kart liste, detay ve hareket sorgulamalarında dönülmelidir. HHS'de kart seçimi yapıp rıza tahsis edildikten sonra ilgili kartın gösterimi özelinde HHS'de kısıtlama getirilmesi durumları için örnekler aÅaÄıda detaylandırılmıÅtır. \n \n Rıza içerisinde sadece kart olması durumunda ilgili rızanın 09 iptal detay kodu ile iptal edilmesi saÄlanacaktır. \n Rıza içerisinde ilgili kartın dıÅında hesap/kart olması durumunda rıza iptal edilmeyecektir. İlgili kart haricinde kart listesinde farklı bir kart yoksa kart listesi, sorgulandıÄında TR.OHVPS.Business.RestrictedChannelAccess hata kodu dönülecektir. \n \n Tablo 20: Kart Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Kart Tipi \n kartTipi \n AN1 \n İ \n Kart tipleri özelinde Banka, Kredi ve Ãn Ãdemeli kartların ayrıca soruglanması saÄlanır. \n Bu veri gönderildiÄi durumda, HHS kart tipine uygun olarak kart bilgilerini döner. \n \n \n \n Tablo 21: âKartBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n Kart Referans Numarası \n kartRef \n AN5..40 \n Z \n HHS tarafından her bir kart için atanan biricik deÄerdir (uuid). Bir kart tek bir kartRef'e karÅılık gelmelidir, benzer Åekilde bir kartRef tek bir karta karÅılık gelmelidir. Aynı kart için alınan tüm rızalarda kart referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n Kart Numarası \n kartNo \n AN15..16 \n Z \n Karta ait numara maskeli olarak iletilmelidir. Maskeleme kuralı kart'ın ilk 6 ve son 4 hanesi açık olarak görünecek Åekilde maskelenmelidir. Sanal kart bilgisi için de ilgili numara maskeli olarak iletilmelidir. Ãrn: 123456******5678 \n \n \n Asıl Kart Numarası \n asilKartNo \n AN15..16 \n K \n Asıl kartlar için ilgili alan iletilmemelidir. Sanal ve ek kartlar için baÄlı oldukları asıl kart numaraları iletilmelidir. Ek karta ait sanal kart için asıl kart numarası olarak ek kart numarası iletilmelidir. Kart numarası maskeli iletilmelidir. \n \n \n Kart Tipi \n kartTipi \n AN1 \n Z \n Kartın tipini belirten deÄerdir. Kart tipleri olarak alabileceÄi deÄerler TR.OHVPS.DataCode.KartTip sıralı veri türlerinden biridir. \n \n \n Alt Kart Tipi \n altKartTipi \n AN1 \n Z \n Kart Tipleri altında yer alan alt kart tipleridir. Alt kart tipleri olarak alabileceÄi deÄerler TR.OHVPS.DataCode.AltKartTip sıralı veri türlerinden biridir. Asıl banka kartı, sanal banka kartı, ek kredi kartı, asıl kredi kartı gibi tüm kart tiplerini ayrıÅtırmak için asıl ve alt kart tipleri kullanılmaktadır. \n \n \n Kart Formu \n kartFormu \n AN1 \n Z \n Kartın fiziksel ve dijital olduÄ
16unu belirten deÄerdir. AlabileceÄi deÄerler TR.OHVPS.DataCode.KartFormu sıralı veri türlerinden biridir. \n \n \n Kart Türü \n kartTuru \n AN1 \n Z \n Kartın tipinin bireysel ya da ticari olmasına yönelik olan deÄerdir. B:Bireysel, T:Ticari \n \n \n Kart Statüsü \n kartStatu \n AN1 \n Z \n TR.OHVPS.DataCode.KartStatu sıralı veri türü deÄerlerinden birini alır. Kart statüsü için güncelleme yapılamayacak durumda ise iptal statüsü olarak deÄerlendirilmelidir. Kart statüsü güncellenebilir durumda ise açık ve pasif olarak deÄerlendirilmelidir. \n \n \n Kart Sahibi Ad/Soyad \n kartSahibi \n AN3..140 \n Z \n Kart sahibi ya da kart sahiplerinin ad-soyadı. \n \n \n Kart Ticari Unvan \n kartTicariUnvan \n AN3..140 \n K \n Kart türü ticari ise ilgili alanda ticari unvan iletilmesi zorunludur. \n \n \n Kart Ãrün Adı \n kartUrunAdi \n AN3..140 \n Z \n Kart bilgilerinin ürün adı. Ãrn : TROY Business Kart \n \n \n Ekstre Türleri \n ekstreTurleri \n Kompleks:EkstreTurleri[Array] \n Z \n Ekstre türleri dizi içerisinde iletilmelidir. \n \n \n > Ekstre Statüsü \n ekstreStatu \n AN1 \n Z \n TR.OHVPS.DataCode.EkstreStatu sıralı veri türü deÄerlerinden birini alır.Ekstre türünün durumu iletilmelidir. Pasif olan ekstre türleri de iletilmelidir. A: Aktif : ilgili kartın ekstre türünün kullanıma açık olmasıdır. P: Pasif : İlgili kartın ekstre türünün eskiden kullanıldıÄı ancak Åu an devre dıÅı durumda olmasıdır. Ãrnek olarak: İlgili kredi kartının TRY, USD, EUR ekstre türleri açık olduÄu durumda üç ekstre türünün de aktif olarak dönmesi beklenmektedir. ÃHK, USD ekstre türünü kapattıÄı durumda USD pasif ; TRY ve EUR aktif olarak dönmesi beklenmektedir. Böylece ÃHKânın Åu an pasif ama önceden aktif olan ekstre türlerinin sorgulanması saÄlanabilecektir. EÄer bir ekstre türü için hiç ekstre üretilmemiÅse, bu durumda HHSânin ilgili ekstre türünü hiç dönmemesi gerekmektedir. \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n İlgili karta ait ekstre türleri para birimi.(TRY, USD, EUR, GBP) YurtdıÅı ekstre olan kartlar için TRY haricinde de deÄer dönülmesi gerekmektedir. Banka kartlarında ise karta baÄlı olan hesap para birimleri iletilmelidir. \n \n \n Kart Rumuz \n kartRumuz \n AN3..140 \n İ \n Kart için rumuz bilgisi var ise gönderilebilir. \n \n \n Kart Åeması \n kartSema \n AN1 \n Z \n TR.OHVPS.DataCode.KartSema sıralı veri türü deÄerlerinden birini alır. \n 9.10 ADIM 4.1: Kart Detay Bilgilerinin Sorgulanması \n GET /kartlar/{kartRef}/kart-detay \n KartBilgileri nesnesi ile elde edilen kart listesinde yer alan kartların detayı sorgulanır. Detay ile birlikte KartDetayBilgileri nesnesinin içeriÄi Tablo 23'de verilmiÅtir. \n \n Parametrede yer alan ekstreTuru bilgisi Ekstre Türleri haricinde uygun olmayan bir deÄer gönderildiÄinde âTR.OHVPS.Business.InvalidCurrencyCodeâ hatası dönülür. Bu alan gönderilmiyorsa TRY olarak deÄerlendirilmelidir. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen kartRef'ler için, kart detay bilgileri sorgulanan kartRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili kartRef bulunamaz âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n İlgili rıza numarasının â08: Detaylı Kart Bilgisiâ izin türüne sahipliÄi kontrol edilir. 08 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupported\"â hatası dönülür. \n Alt kart tipi Sanal Kart olanlar için detay bilgisi görüntülenmeyecektir. Sanal kart özelinde detay bilgi sorgulaması yapılması durumunda HHS tarafından \"TR.OHVPS.Business.CardTypeNotSupported\" hatası dönülür. \n Kart tipi olarak; iptal statüsünde olan banka ve ön ödemeli kartlar için detay sorgulaması yapılamayacaktır. Kart tipi kredi kartı olup iptal statüsünde olan ve borcu olmayan bir kart için de kart detay sorgulaması yapılamayacaktır. Detay sorgulaması yapılamayacak bir kart tipi için HHS'ler tarafından \"TR.OHVPS.Business.InvalidCardStatus\" hatası dönülür. \n Rıza içerisinde kanal görüntüleme yetkisi kapatılan kart için detay bilgisi sorgulandıÄında TR.OHVPS.Business.RestrictedChannelAccess hata kodu dönülecektir. \n İlk kredi kartı oluÅan ÃHK'lar henüz ekstre oluÅmadıÄı sebebiyle tarih ve borç bilgileri de oluÅmamıŠolabilir. Bu sebeple ilgili tutar bilgileri sıfır olacak Åekilde dönülmelidir. Tarih bilgileri ise varsayılan tarih bilgisi olarak dönülebilir.(Ãrn:01/01/1900) Bu Åekilde gelen bir tarih bilgisi YÃS'ler tarafından ÃHK'ya boÅ olarak gösterilebilir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS tarafından âKartDetayBilgileriâ nesnesi dönülür. \n HHS'ler kart tipi kredi kartı ise ve karta ait borç/taksit tutar bilgisi bulunuyorsa KartDetayBilgileri nesnesi için baÅarılı yanıt dönmek zorundadır. Borç bilgisi için tutarlar eksi(-) olacak Åekilde iletilmesi beklenmektedir. \n Kart Detay Bilgisi Sorgu ÃrneÄi (Tek Bir Kart) = /kartlar/{kartRef}/kart-detay \n Parametre içeren Kart Detay Bilgisi Sorgu ÃrneÄi (Tek Bir Kart) = /kartlar/{kartRef}/kart-detay?ekstreTuru=USD \n Tablo 22: Kart Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Ekstre Türü \n ekstreTuru \n AN3 \n K \n Kart bilgileri yanıtında dönülen ekstre türleri deÄerlerini almaktadır. Para birimine uygun olarak kart detay bilgileri sorgulanmaktadır. Ekstre parametresi TRY,USD,EUR,GBP olarak gönderilebilir. Bu alan gönderilmiyorsa TRY deÄerlendirilmelidir. İlgili para birimine özel ekstre içindeki harcama deÄeri dönülecektir. \n Ekstre türleri haricinde uygun olmayan bir deÄer gönderildiÄinde hata verilmelidir. \n \n \n \n Tablo 23: âKartDetayBilgileriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n
16Kart Tiplerine İstinaden Detaylı Açıklama \n \n \n \n \n Rıza No \n rizaNo \n AN1..128 \n Z \n HesapBilgisiRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n Kart Referans Numarası \n kartRef \n AN5..40 \n Z \n HHS tarafından her bir kart için atanan biricik deÄerdir (uuid). Bir kart tek bir kartRef'e karÅılık gelmelidir, benzer Åekilde bir kartRef tek bir karta karÅılık gelmelidir. Aynı kart için alınan tüm rızalarda kart referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n \n Ekstre Türü \n ekstreTuru \n AN3 \n Z \n Ekstre türü TRY,USD,EUR,GBP olarak gönderilebilir. İstek paremetresinde iletilen deÄer ile aynı deÄer olmalıdır. \n \n \n \n Toplam Kart Limiti \n toplamLimit \n Kompleks:ToplamLimit \n K \n Karta ait toplam TL limit bilgisi. Toplam kart limiti (+) deÄerde gönderilmelidir. Negatif deÄer gönderilmemelidir. \n Kart tipi kredi kartı ve ön ödemeli kart olanlar için ilgili alanın dönülmesi zorunludur. Kart tipi banka olan kartlar için ilgili alan dönülmemelidir. Ãn ödemeli kartlarda, baÄlı bulundukları bir hesap olsa bile, sadece üzerlerine yüklenen tutarın gösterilmesi gerekmektedir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Tutar Bilgisi. Limit tutarı için regex patterni Åu Åekildedir: ' ^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kullanılabilir Kart Limiti \n kullanilabilirLimit \n Kompleks:KullanılabilirLimit \n K \n Karta ait kullanılabilir TL limit bilgisi. Kullanılabilir kart limiti (+) deÄerde gönderilmelidir. Herhangi bir sebeple (kart limitinin aÅılması vb.) (-) olması durumunda deÄerin (-) olarak gönderilmesi beklenmektedir. \n Kart tipi banka olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Tutar Bilgisi. Limit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Dönem İçi Hareket Toplamı \n donemIciHareketToplami \n Kompleks:DonemIciHareketToplami \n Z \n Dönem içi hareket toplamı ve kalan ekstre borcunun toplamı dönülmelidir. MüÅterinin borcu olduÄu durumda (-) deÄer gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb(+) deÄer ile tutar bilgisi gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili döneme ait hareketlerin toplam tutar bilgisidir. Kart tipi banka ve ön ödemeli kartlar için ilgili dönem içerisinde ay baÅından itibaren yapılan hareketlerin toplam tutar bilgisi iletilmelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Tutar Bilgisi. Tutar için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Ekstre Borcu \n ekstreBorcu \n Kompleks:EkstreBorcu \n K \n İlgili ekstre türüne uygun olarak ekstre borcu iletilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb(+) deÄer ile tutar bilgisi gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alanın dönülmesi koÅulludur. Ek kredi kartı için ilgili alan varsa dönülmelidir . Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Borç tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kalan Ekstre Borcu \n kalanEkstreBorcu \n Kompleks:KalanEkstreBorcu \n K \n İlgili ekstre türüne uygun olarak kalan ekstre borcu iletilmelidir. MüÅterinin kalan ekstre borcu olduÄu durumda (-) deÄer gönderilmelidir. Kalan ekstre borcu yoksa veya herhangi bir sebeple ektresinde alacak tutarı varsa 0(sıfır) deÄeri gönderilmelidir. Pozitif deÄer gönderilmemelidir. \n Kart tipi kredi kartı olanlar için ilgili alanın dönülmesi koÅulludur. Alt kart tipi ; Asıl ve Sanal kredi kartı için ilgili alanın dönülmesi zorunludur. Ek kredi kartı için ilgili alan varsa dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Borç tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Asgari Ãdeme Tutarı \n asgariOdemeTutari \n Kompleks:AsgariOdemeTutari \n K \n İlgili ekstre türüne uygun olarak ekstreye ait asgari ödeme tutarı iletilmelidir. Ekstre Borcu (-) ise; asgari ödeme tutarı da (-) deÄer olarak gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb.) \"0\" (sıfır) deÄeri gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alanın dönülmesi koÅulludur. Alt kart tipi ; Asıl ve Sanal kredi kartı için ilgili alanın dönülmesi zorunludur. Ek kredi kartı için ilgili alan varsa dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Ãdeme tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kalan Asgari Ãdeme Tutarı \n kalanAsgariOdemeTutari \n Kompleks:KalanAsgariOdemeTutari \n K \n İlgili ekstre türüne uygun olarak ekstreye ait kalan asgari ödeme tutarı iletilmelidir. Ekstre Borcu (-) ise; asgari ödeme tutarı da (-) deÄer olarak gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb.) \"0\" (sıfır) deÄeri gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alanın dönülmesi koÅulludur. Alt kart tipi ; Asıl ve Sanal kredi kartı için ilgili alanın dönülmesi zorunludur. Ek kredi kartı için ilgili alan varsa dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Ãdeme tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Hesap Kesim Tarihi \n hesapKesimTarihi \n ISODate \n Z \n Karta ait hesap kesim tarihi iletilmelidir. Hesap kesim tarihi olarak son kesilmiÅ ekstrenin tarihi iletilmelidir. ÃrneÄin; günün tarihi 09/01/2026 olduÄu durumda her ayın 23'ünde kesilen ekstre için hesap kesim tarihi 2025-12-23 Åeklinde olacaktır. \n Kart tipi kredi kartı olanlar için hesap kesim tarihi iletilmelidir. Ek kart için asıl kartın hesap kesim tarihi dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için sorgulama yapılan ayın son takvim günü dönülmelidir. \n \n \n Sonraki Hesap Kesim Tarihi \n sonrakiHesapKesimTarihi \n ISODate \n Z \n Kesilecek olan ekstrenin hesap kesim tarihi tarihi iletilmelidir. ÃrneÄin; günün tarihi 09/01/2026 olduÄu durumda her ayın 23'ünde kesilen ekstre için sonraki hesap kesim tarihi 2026-01-23 Åeklinde olacaktır. \n Kart tipi kredi kartı olanlar için sonraki hesap kesim tarihi iletilmelidir. Ek kart için asıl kartın sonraki hesap kesim tarihi dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için sorgulama yapılan aydan bir sonraki ayın son takvim günü dönülmelidir \n \n \n Son Ãdeme Tarihi \n sonOdemeTarihi \n ISODate \n K \n KesilmiÅ olan ekstre için kart borcunun ödeneceÄi son ödeme tarih bilgisi dönülmelidir. ÃrneÄin; kesilmiÅ olan ekstreye ait hesap kesim tarihi 2025-12-23 Åeklinde olan bir kredi kartı için son ödeme tarihi 2026-01-03 olacaktır. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Ek kart için asıl kartın son ödeme tarih bilgisi dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n Sonraki Son Ãdeme Tarihi \n sonrakiSonOdemeTarihi \n ISODate \n K \n Kesilecek olan ekstre için kart borcunun ödeneceÄi son ödeme tarih bilgisi dönülmelidir. ÃrneÄin; kesilecek olan ekstreye ait hesap kesim tarihi 2026-01-23 Åeklinde olan bir kredi kartı için son ödeme tarihi 2026-02-03 olacaktır. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Ek kart için asıl kartın sonraki son ödeme tarih bilgisi dönülmelidir. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n Puan Bilgisi \n puanBilgisi \n Kompleks:PuanBilgisi[Array] \n \n Karta ait puan bilgileri dizi içerisinde iletilmelidir. \n \n \n \n > Puan DeÄeri \n puanDegeri \n AN1..25 \n K \n Kart için mevcutta yer alan puan deÄeri varsa iletilmelidir. HHS özelinde puan deÄeri puan tipine göre birim olarak tutuluyorsa ilgili deÄer iletilmelidir. Ãrn: 100 Plus puan bilgisi varsa puan deÄeri alanında 100 iletilmelidir. Puan deÄeri eksi deÄer alabilir. \n Tüm kart tipleri için puan bilgisi varsa dönülmelidir. \n \n \n > Puan Tipi \n puanTipi \n AN1..50 \n K \n Puan Tipi olarak HHS özelinde bir puanTipi varsa o bilgi iletilmelidir. Ãrn: 100 Plus puan bilgisi varsa puan tipi alanında Plus deÄeri iletilmelidir. \n Tüm kart tipleri için puan bilgisi varsa dönülmelidir. \n \n \n Nakit Ãekim Limiti \n nakitCekimLimiti \n Kompleks:NakitCekimLimiti \n K \n Karta ait nakit çekim limit deÄeri iletilmelidir. Ekstre türü TRY dıÅında olan kartlar için de TRY para biriminde geçerli olan limit iletilmelidir. Nakit Ãekim Limiti (+) deÄerde gönderilmelidir. Negatif deÄer gönderilmemelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Limit tutarı için regex patterni Åu Åekildedir: ' ^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kullanılabilir Nakit Ãekim Limiti \n kullanilabilirNakitCekimLimiti \n Kompleks:KullanilabilirNakitCekimLimiti \n K \n Karta ait kullanılabilir nakit çekim limit deÄeri iletilmelidir. Ekstre türü TRY dıÅında olan kartlar için de TRY para biriminde geçerli olan limit iletilmelidir. Kullanılabilir Nakit Ãekim Limiti (+) deÄerde gönderilmelidir. Herhangi bir sebeple (nakit limitinin aÅılması vb.) (-) olması durumunda deÄerin (-) olarak gönderilmesi beklenmektedir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Limit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Kalan Toplam Taksit Tutarı \n kalanToplamTaksitTutari \n Kompleks:KalanToplamTaksitTutari \n K \n Karta ait tüm kalan taksitlerin toplam deÄeri iletilmelidir.MüÅterinin Taksit borcu olduÄu durumda (-) deÄer gönderilmelidir. Taksit iadesi veya benzeri nedenlerle oluÅan müÅterinin alacaklı olduÄu durumda tutar (+) deÄer gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Taksit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Dönem Taksit Tutar Bilgisi \n donemTaksitTutarBilgisi \n Kompleks:DonemTaksitTutarBilgisi[array] \n K \n Kart Tipi kredi kartı olanlar için taksit bilgisi varsa taksit içeren dönemlerin dizi halinde iletilmesi zorunludur. \n \n \n \n >
16 Dönem DeÄeri \n donemDegeri \n N3 \n Z \n Taksitli iÅlemler dönülmesi sebebiyle dönem deÄeri minimum 1 olacak Åekilde dönülmelidir. \n \n \n \n > Dönem Taksit Tutarı \n donemTaksitTutari \n Kompleks:DonemTaksitTutari \n Z \n İlgili dönem deÄeri içerisindeki toplam taksit tutar bilgisi iletilmelidir. MüÅterinin Dönem Taksit Tutar borcu olduÄu durumda (-) deÄer gönderilmelidir. Dönem Taksit Tutar iadesi veya benzeri nedenlerle oluÅan müÅterinin alacaklı olduÄu durumda tutar (+) deÄer gönderilmelidir. \n \n \n \n >> Tutar \n tutar \n AN1..25 \n Z \n Taksit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n >> Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n 9.11 ADIM 4.2: Kart Hareket Bilgilerinin Sorgulanması \n GET /kartlar/{kartRef}/kart-hareketleri \n KartBilgileri nesnesi ile elde edilen kart listesinde yer alan kartların iÅlem/hareket bilgileri sorgulanır. Kart hareketleri için \"KartHareketleri\" nesnesinin içeriÄi Tablo 25'de verilmiÅtir. \n \n Bir karta iliÅkin iÅlem bilgileri Tablo 24âdeki istek parametrelerine göre sorgulanır. Parametrede yer alan deÄerlerin doÄru gönderildiÄi kontrol edilir. Hatalı gönderilmesi durumunda HHS tarafından âTR.OHVPS.Resource.InvalidFormatâ hatası dönülür. Parametrede yer alan isteÄe baÄlı alanlar gönderilmediÄi durumda parametredeki varsayılan deÄerler ile kart hareketleri dönülür. \n Parametrede yer alan ekstreTuru bilgisi Ekstre Türleri haricinde uygun olmayan bir deÄer gönderildiÄinde âTR.OHVPS.Business.InvalidCurrencyCodeâ hatası dönülür. Bu alan gönderilmiyorsa TRY olarak deÄerlendirilmelidir. \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, izin verilen kartRef'ler için, kart hareket bilgileri sorgusunda yer alan kartRefe ait rıza ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İlgili kartRef bulunamaz ise âTR.OHVPS.Resource.NotFoundâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor ya da Y: Yetkilendirildi ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n Kart Hareket Bilgilerinin Sorgulanması yapılırken HHS tarafından ÃHKânın â09: Ayrıntılı Kart İÅlem Bilgisiâ izin türüne sahipliÄi kontrol edilir. 09 izin türüne sahip deÄil ise âTR.OHVPS.Business.PermissionTypeNotSupportedâ hatası dönülür. \n Kart tipi olarak; iptal statüsünde olan banka ve ön ödemeli kartlar için hareket sorgulaması yapılamayacaktır. Kart tipi kredi kartı olup iptal statüsünde olan ve borcu olmayan bir kart için de kart hareket sorgulaması yapılamayacaktır. Hareket sorgulaması yapılamayacak bir kart tipi için HHS'ler tarafından \"TR.OHVPS.Business.InvalidCardStatus\" hatası dönülmelidir. \n -Rıza içerisinde kanal görüntüleme yetkisi kapatılan kart için hareket bilgisi sorgulandıÄında TR.OHVPS.Business.RestrictedChannelAccess hata kodu dönülecektir. \n İptal statüsünde olan kart tipleri için geçmiÅe dönük hareket sorgulaması yapılamayacaktır. ÃrneÄin; Kredi Kartı için -12 ile 18 arası olan dönem deÄeri iptal statüsünde olan kredi kartı için 0 ile 18 arasında yapılabilecektir. Tüm kart tipleri için belirtilen parametrede yer alan dönem deÄerinin uygun gönderilmediÄi durumda âTR.OHVPS.Business.InvalidPeriodValueâ hatası dönülür. \n Ekstre bilgisi bulunmayan sanal ve ek kredi kart bilgileri için ekstre dönemlerine özgü kart hareketleri sorgulandıÄında HHS'ler tarafından TR.OHVPS.Business.NoStatementForCard hatası dönülmelidir.\nKredi kartı hareket sorgulamasında ilgili dönemde kart iÅlemi bulunmaması halinde dahi ekstre oluÅturulmalı ve iÅlem listesi boÅ olarak döndürülmelidir. Hata mesajı dönülmemelidir.\nÃrneÄin: Nisan, Mayıs, Haziran ve Temmuz ayları için sırasıyla -4, -3, -2, -1 dönem deÄerleri atanmıŠolsun. Mayıs ayında kart üzerinde iÅlem bulunmaması durumunda dahi Mayıs ayına ait ekstre oluÅturulur ve dönem deÄeri -3 olarak
16iletilir; iÅlem listesi boÅ olarak yanıt verilir. \n Kartın yeni oluÅması/aktif edilmesi gibi süreçlerler sonucunda ekstre bilgisi hiç oluÅmamıŠdönem deÄerleri için kart hareketleri sorgulandıÄında HHS'ler tarafından TR.OHVPS.Business.StatementNotCreated hatası dönülmelidir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS tarafından \"KartHareketleri\" nesnesi dönülür. \n \n HHS'ler kart tipi kredi kartı ise ve karta ait borç/taksit tutar bilgisi bulunuyorsa KartHareketleri nesnesi için baÅarılı yanıt dönmek zorundadır. \n Kart tipi Banka Kartı olanlarda dönem içi olarak sorgulama yapılan aya ait ilgili banka kartı ile yapılan kart hareketleri görüntülenecektir. (Banka kartı ile yapılan Para Ãekme/Yatırma, banka kartı ile yapılan POS'tan AlıÅveriÅ vb.). Banka kartında dönem deÄerinin \"-1\" gönderilmesi durumunda bir önceki aya ait kart hareketleri görüntülenecektir. \n Kart hareketleri yanıtında hareket bilgileri iÅlem tarihinine göre sıralı olarak iletilmelidir. İÅlem tarihi en güncel tarihten geriye dönük olacak Åekilde listelenmelidir. \n Kart hareketlerinde ekstre türleri dıÅında yapılan bir iÅlem varsa hangi ekstre türüne dahil edilerek gösteriliyorsa gönderilmelidir.\n \n Ãrn: 100 JPY'lik bir harcama iÅlemi TRY biriminde çevirilip 23 TRY olarak TRY ekstre türünde gösteriliyorsa ilgili iÅlem için iÅlem tutarı 23 TRY, orijinal iÅlem tutarı ise 100 JPY olarak deÄerlendirilmelidir. \n \n \n \n Tablo 24: Kart Hareket Bilgileri Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Dönem DeÄeri \n donemDegeri \n N3 \n Z \n Kart hareketlerinin sorgulanacaÄı döneme ait deÄerdir. Dönem içi : 0 GeçmiÅ Ay/Ekstre : -1 ile -12 arası Taksit : 1 ile 18 arası Provizyon : 99 Kart tipine göre alabileceÄi dönem deÄerleri ise ; Banka Kartı : 0 ve -1 Kredi Kartı : -12 ile 18 arası ve 99 (Sanal alt kart tipi hariç diÄer tüm alt kart tiplerinde bu deÄerler geçerlidir.) Alt kart tipi sanal kart tipinde ise alabileceÄi deÄerler 0 ve 99'dur. Ãn Ãdemeli Kart : 0 ve -1 \n İptal statüsünde olan kart tipleri için geçmiÅe dönük hareket sorgulaması yapılamayacaktır. ÃrneÄin; Kredi Kartı için -12 ile 18 arası olan dönem deÄeri iptal statüsünde olan kredi kartı için 0 ile 18 arasında yapılabilecektir. Tüm kart tipleri için belirtilen dönem deÄerinin uygun gönderilmediÄi durumda hata verilmelidir. \n \n \n Ekstre Turu \n ekstreTuru \n AN3 \n K \n Kart bilgileri yanıtında dönülen ekstre türleri deÄerlerini almaktadır. Para birimine uygun olarak kart detay bilgileri sorgulanmaktadır. Ekstre parametresi TRY,USD,EUR,GBP olarak gönderilebilir. Bu alan gönderilmiyorsa TRY deÄerlendirilmelidir. İlgili para birimine özel ekstre içindeki harcama deÄeri dönülecektir. \n Ekstre türleri haricinde uygun olmayan bir deÄer gönderildiÄinde hata verilmelidir. \n \n \n Sayfa BaÅına İstenen Kayıt Sayısı \n syfKytSayi \n N3 \n İ \n Sayfa baÅına istenen kayıt sayısı. Bu alanda iletilen deÄer 100âden büyük olamaz. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayı kadar gruplandırarak gönderir. Bu veri gönderilmediÄinde sayfadaki kayıt sayısı 100 olarak kullanılır. \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu sayfadaki kayıtları gönderir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları gönderir. \n \n \n Borç Alacak Göstergesi \n brcAlc \n AN1 \n İ \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Karta borç yaratan iÅlem.A: Karta alacak yaratan iÅlem. N: Finansal olmayan iÅlem {âBâ,âAâ,âNâ} \n Bu veri gönderildiÄi durumda HHS iÅlemler listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS kart hareketlerini sıralama kriteri iÅlem tarihi olacak Åekilde ilgili yöne uygun olarak sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 25: âKartHareketleriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n
16Kart Tiplerine İstinaden Detaylı Açıklama \n \n \n \n \n Kart Referans Numarası \n kartRef \n AN5..40 \n Z \n HHS tarafından her bir kart için atanan biricik deÄerdir (uuid). Bir kart tek bir kartRef'e karÅılık gelmelidir, benzer Åekilde bir kartRef tek bir karta karÅılık gelmelidir. Aynı kart için alınan tüm rızalarda kart referans bilgisinin deÄiÅmemesi gerekmektedir. \n \n \n \n Dönem DeÄeri \n donemDegeri \n N3 \n Z \n Kart hareketlerinin sorgulanacaÄı döneme ait deÄerdir. \n \n \n \n Dönem BaÅlangıç Tarihi \n donemBaslangicTarihi \n ISODate \n Z \n Sorgulama yapılan ekstre dönemine göre ilgili döneme ait baÅlangıç tarih bilgisidir. Kart tipi kredi kartı olanlar için ilgili döneme ait baÅlangıç tarihi iletilmelidir. Kart tipi banka kartı ve ön ödemeli kart olanlar için sorgulama yapılan ayın baÅlangıç tarihi iletilmelidir. \n \n \n \n Dönem BitiÅ Tarihi \n donemBitisTarihi \n ISODate \n Z \n Sorgulama yapılan ekstre dönemine göre ilgili döneme ait bitiÅ tarih bilgisidir. Kart tipi kredi kartı olanlar için ilgili döneme ait bitiÅ tarihi iletilmelidir. Kart tipi banka kartı ve ön ödemeli kart olanlar için sorgulama yapılan ayın bitiÅ tarihi iletilmelidir. \n \n \n \n Ekstre Türü \n ekstreTuru \n AN3 \n Z \n Ekstre türü TRY,USD,EUR,GBP olarak gönderilebilir. İstek paremetresinde iletilen deÄer ile aynı deÄer olmalıdır. \n \n \n \n Ekstre Borcu \n ekstreBorcu \n Kompleks:EkstreBorcu \n K \n Sorgulama yapılan geçmiÅ döneme için ekstre türüne uygun olarak ekstre borcu iletilmelidir. MüÅterinin borcu olduÄu durumda (-) deÄer gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb(+) deÄer ile tutar bilgisi gönderilmelidir. \n Kart tipi kredi kartı olanlar için sadece geçmiÅ dönem deÄerine istinaden ilgili alan iletilmelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Borç tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Asgari Ãdeme Tutarı \n asgariOdemeTutari \n Kompleks:AsgariOdemeTutari \n K \n İlgili geçmiÅ dönem için ekstre türüne uygun olarak ekstreye ait asgari ödeme tutarı iletilmelidir. Ekstre Borcu (-) ise; asgari ödeme tutarı da (-) deÄer olarak gönderilmelidir. MüÅterinin alacaÄı olduÄu durumda (iade/fazla ödeme vb.) \"0\" (sıfır) deÄeri gönderilmelidir. \n Kart tipi kredi kartı olanlar için sadece geçmiÅ dönem deÄerine istinaden ilgili alan iletilmelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Ãdeme tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Dönem Taksit Tutarı \n donemTaksitTutari \n Kompleks:DonemTaksitTutari \n K \n İstek parametresinde iletilen ilgili dönem deÄeri içerisindeki toplam taksit tutar bilgisi iletilmelidir. MüÅterinin Dönem Taksit Tutar borcu olduÄu durumda (-) deÄer gönderilmelidir. Dönem Taksit Tutar iadesi veya benzeri nedenlerle oluÅan müÅterinin alacaklı olduÄu durumda tutar (+) deÄer gönderilmelidir. \n Kart tipi kredi kartı olanlar için taksit bilgisi varsa ilgili alan iletilmelidir. \n \n \n > Tutar \n tutar \n AN1..25 \n Z \n Dönem taksit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n > Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n Hesap Kesim Tarihi \n hesapKesimTarihi \n ISODate \n K \n Karta ait sorgulanan döneme ait hesap kesim tarihi iletilmelidir. Tarih formatında iletilmelidir. Ãrn : 2024-11-23 \n Kart tipi kredi kartı olanlar için sadece geçmiÅ dönem deÄerine istinaden ilgili alan iletilmelidir. \n \n \n Son Ãdeme Tarihi \n sonOdemeTarihi \n ISODate \n K \n Karta ait sorgulanan dönem için son ödeme tarih bilgisi dönülmelidir. Ãrn : 2024-12-02 \n Kart tipi kredi kartı olanlar için sadece geçmiÅ dönem deÄerine istinaden ilgili alan iletilmelidir. \n \n \n Hareket Bilgileri \n hareketBilgileri \n Kompleks Alan: HareketBilgileri[array] \n K \n Dizi halinde liste olacaktır. \n \n \n \n > İÅlem Numarası \n islemNo \n AN3..50 \n Z \n Kart hareketinin oluÅturulması sırasında atanan ve borç (veya alacak) hareketini tekilleÅtiren HHS bazında tekil tanımlayıcıdır. Bu deÄer tek baÅına tekil olabileceÄi gibi b
16irden fazla deÄerin bir araya getirilmesiyle de tekilliÄi saÄlanmıŠolabilir. Bu deÄerin en azından kart referans numarası bazında tekil olması beklenir. Genellikle kullanılan örnekleri; Instance_Id, Transaction_Id, Transaction_Num, Transaction_TimeStamp \n \n \n \n > İÅlem Tutarı \n islemTutari \n Kompleks:IslemTutari \n Z \n Yapılan iÅleme ait tutar bilgisi. Taksitli bir iÅlem ise ilgili dönemdeki taksit tutarı iletilecektir. ÃHK, HHS'de ilgili dönem sorguladıÄında hangi tutarı görüntülüyorsa ilgili tutar dönülecektir. İÅleme ait sadece puan bilgisiyle kazanım, kullanım, iade veya iptal varsa ve tutar bilgisi yoksa ilgili tutar deÄeri sıfır gönderilmelidir. Puana dair deÄerler ise PuanBilgileri alanı içerisinde gönderilmelidir. \n \n \n \n >> Tutar \n tutar \n AN1..24 \n Z \n İÅlem tutarı için regex patterni Åu Åekildedir: ' ^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n >> Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi. Ekstre türü ile aynı olması gerekmektedir. \n \n \n \n > Orijinal İÅlem Tutarı \n orijinalIslemTutari \n Kompleks:OrijinalIslemTutari \n K \n Ekstre türü dıÅında yapılan iÅleme ait tutar bilgisi. ÃrneÄin; ekstre türü TRY gönderildiÄi durumda iÅlem 100 JPY ise iÅlem tutarı alanında 100 deÄeri iletilmelidir. \n \n \n \n >> Tutar \n tutar \n AN1..24 \n Z \n İÅlem tutarı için regex patterni Åu Åekildedir: ' ^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n >> Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi. ÃrneÄin; 100 JPY ise iÅlem tutar para birimi alanında JPY deÄeri iletilmelidir. \n \n \n \n > İÅlem Tarihi \n islemTarihi \n ISODateTime \n Z \n İÅlemin gerçekleÅtiÄi zaman bilgisi. Taksitli iÅlemlerde içinde bulunulan dönem özelinde ilgili taksitin yansıyacaÄı tarih deÄeri dönülmelidir. \n \n \n \n > Borç Alacak Göstergesi \n borcAlacak \n AN1 \n Z \n TR.OHVPS.DataCode.BrcAlc sıralı veri tipi deÄerlerinden birini alır. Sorgulanacak iÅlemlerin borç / alacak kriteri B: Karta borç yaratan iÅlem.A: Karta alacak yaratan iÅlem. N: Finansal olmayan iÅlem {âBâ,âAâ,âNâ} \n \n \n \n > İÅlem Açıklaması \n islemAciklamasi \n AN1..200 \n Z \n AlıÅveriÅ iÅlemi olması durumunda sadece iÅyeri adını içeren açıklama, diÄer iÅlemler için mevcut iÅlem açıklaması iletilir. HHS'ler tüm kart hareketlerini YÃS'ler ile paylaÅmakla yükümlü olup, hassas veri içeren(örn: faiz, komisyon bilgisi içeren vb.) iÅlem hareketleri de bu kapsamda deÄerlendirilerek iÅlem açıklamasının maskeli olarak iletilmesi saÄlanır. Kelimelerin ilk 3 hanesi maskeli olacak Åekilde, ancak sakıncalı bulunan kelimeler varsa; (örn: faiz, komiyon vb.) kelimelerin tamamı maskeli olacak Åekilde gösterilebilir. \n \n \n \n > İÅlem Puan Bilgileri \n islemPuanBilgileri \n Kompleks: IslemPuanBilgileri[Array] \n K \n İlgili iÅlem sonrası kazanılan veya kullanılan bir puan deÄeri varsa iletilmesi gerekmektedir. İlgili puan bilgi veya bilgileri dizi içerisinde iletilmelidir. \n İlgili alanda koÅula uygun olarak deÄer dönülecekse; kart tipi kredi, banka ve ön ödemeli kartı olanlar için dönülmesi zorunludur. \n \n \n >> İÅlem Puanı \n islemPuani \n AN1..24 \n K \n İÅleme dair kazanılan veya kullanılan puan deÄeri iletilmelidir. Ãrn: 100 Plus kazanılmıŠbir iÅlem için 100 deÄeri iletilmelidir. \n \n \n \n >> İÅlem Puan Birimi \n islemPuanBirimi \n AN1..50 \n K \n İÅleme dair kazanılan veya kullanılan puan birimi iletilmelidir. Ãrn: 100 Plus kazanılmıŠbir iÅlem için Plus deÄeri iletilmelidir. \n \n \n \n >> İÅlem Puan Durumu \n islemPuanDurumu \n AN2 \n K \n İlgili iÅlem sonucunda puan bilgisinin bir kazanım, kullanım, iade ve iptal durumlarına yönelik deÄer iletilmelidir. TR.OHVPS.DataCode.IslemPuanDurumu deÄerlerinden birini alır. 01: Puan Kazanımı 02: Puan Kullanımı 03: Puan İade 04: Puan İptal \n \n \n \n > Toplam Taksit Tutarı \n toplamTaksitTutari \n Kompleks:ToplamTaksitTutari \n K \n İlgili iÅlem taksitli bir iÅlem ise o iÅleme ait toplam taksit tutarı iletilmelidir. İlgili iÅlem tek çekim bir iÅlem ise o iÅlemde ilgili alan iletilmemelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n >> Tutar \n tutar \n AN1..25 \n Z \n Taksit Tutar Bilgisi. Taksit tutarı için regex patterni Åu Åekildedir: ' ^[\\-\\+]?\\d{1,18}$|^[\\-\\+]?\\d{1,18}\\.\\d{1,5}$ ' \n \n \n \n >> Para Birimi \n paraBirimi \n AN3 \n Z \n Para Birimi \n \n \n \n > Toplam Taksit Sayısı \n toplamTaksitSayisi \n N2 \n K \n İlgili iÅlem taksitli bir iÅlem ise o iÅleme ait toplam taksit sayısı iletilmelidir. İlgili iÅlem tek çekim bir iÅlem ise o iÅlemde ilgili alan iletilmemelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > İlgili Taksit Dönemi \n taksitDonemi \n N2 \n K \n Taksitli iÅlem olması durumunda iÅleme ait ilg
16ili taksit dönem bilgisi. ÃrneÄin: 3 taksitli bir iÅlemde 2. taksit yansımıÅsa 2 olarak gönderilmelidir. \n Kart tipi kredi kartı olanlar için ilgili alan dönülmesi zorunludur. Kart tipi banka ve ön ödemeli kart olan kartlar için ilgili alan dönülmemelidir. \n \n \n > Satıcı Kategori Kodu \n saticiKategoriKodu \n AN4 \n K \n Satıcı Kategori Kodu(MCC) varsa iletilmesi zorunludur. AlıÅveriÅ iÅlemlerinde gönderimi zorunludur. \n İlgili alanda koÅula uygun olarak deÄer dönülecekse; kart tipi kredi ve banka kartı olanlar için dönülmesi zorunludur. \n \n \n \n"},{title:"HHS, YÃS ve Temsilcilik API",frontmatter:{},regularPath:"/v2.0.1/contents/hhs-yos-api.html",relativePath:"v2.0.1/contents/hhs-yos-api.md",key:"v-1c9ff506",path:"/v2.0.1/contents/hhs-yos-api.html",headers:[{level:2,title:"HHS API",slug:"hhs-api"},{level:2,title:"YÃS API",slug:"yos-api"},{level:2,title:"TEMSİLCİLİK API",slug:"temsilcilik-api"}],content:" HHS, YÃS ve Temsilcilik API \n HHS API, HHSâlerin detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. HHS API için âhhs_readâ scope bilgisi kullanılır. \n Production ortamında HHS / YOS API içerisinde sisteme dahil olmuÅ, sertifikasyonu baÅarı ile tamamlamıŠpaydaÅlar listelenecektir. HHS tarafından desteklenen API sürümleri listelenecektir. \n YÃSâler HHS APIâsini sorgulayabilir ancak YÃS APIâsini sorgulayamazlar. \nBenzer Åekilde HHSâler YÃS APIâsini sorgulayabilir, HHS APIâsini sorgulayamazlar. \n HHS API \n GET /hhs/{hhsKod} \n İÅlem Sorgu ÃrneÄi = /hhs ⨠bu sorgu yöntemi ile tüm HHSâlerin dizi Åeklinde verileri listelenir. \nİÅlem Sorgu ÃrneÄi = /hhs/2001 ⨠bu sorgu yöntemi ile gönderilmiÅ olan hhsKoduâna ait bilgiler listelenir. Ya da â404 Not Foundâ hatası alır. \nHHS ve YÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir. \nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap) = /hhs?srlmKrtr=kod&srlmYon=A \n Tablo 20: HHS ve YÃS API Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Sıralama Kriteri \n srlmKrtr \n AN3..50 \n İ \n Cevapta dönülecek iÅlemlerin sıralama kriterini belirtir. AlabileceÄi deÄerler: {âkodâ, âunvâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu kritere göre sıralayarak gönderir. GönderilmediÄinde, sıralama kriteri âunvâ olarak belirlenmelidir. \n \n \n Sıralama Yönü \n srlmYon \n AN1 \n İ \n Cevapta dönülecek iÅlemlerin sıralama yönünü belirtir. AlabileceÄi deÄerler: A: Azalan deÄerle sıralama Y: Artan deÄerle sıralama {âAâ,âYâ} \n Bu veri gönderildiÄi durumda, HHS iÅlemler listesini bu yöne göre sıralayarak gönderir. GönderilmediÄinde, HHS sıralama yönünü Azalan olarak belirler. \n \n \n \n Tablo 21: HHS Bilgileri Sorgulama Yanıtı âHhsâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n hhs kodu \n kod \n AN4 \n Z \n HHS nin kod bilgisi \n \n \n hhs unvanı \n unv \n AN3..140 \n Z \n HHS nin unvan bilgisi \n \n \n hhs markası \n marka \n AN1..140 \n Z \n ÃHK'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. HHS tarafından belirlenecektir. \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n HHSânin mesaj imzalama için paylaÅtıÄı açık anahtar \n \n \n HHS Api Bilgileri \n apiBilgileri \n Kompleks: HhsApiBilgi[Array][0..N] \n Z \n Desteklenen Api ve sürüm bilgileri dönülecektir. \n \n \n > api \n api \n AN1..20 \n Z \n Api İsmi Ãrnek :obh, hbh,gkd \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s1.0, s2.0 \n \n \n HHS Hizmet Bilgileri \n hizmetBilgileri \n Kompleks: HhsHizmetBilgi[Array][0..N] \n Z \n Desteklenen hizmet ve sürüm bilgileri dönülecektir. \n \n \n > hizmetTipi \n hizmetTipi \n AN1..20 \n Z \n Hizmet Tipi bilgileri.TR.OHVPS.DataCode.HizmetTipi sıralı veri türü deÄerlerinden birini alır. \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s1.1, s2.0 \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n HHS'ye ait logo bilgileri. \n \n \n > logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n HHS tarafında tutulan ve YÃS'lerle paylaÅılacak olan url adres bilgisidir. Ãrnek: https://via.placeholder.com/150?text=0001 \n \n \n > logoArkaPlan \n logoArkaPlan \n AN1 \n Z \n TR.OHVPS.DataCode.LogoArkaPlan sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoFormat \n logoFormat \n AN3 \n Z \n TR.OHVPS.DataCode.LogoFormat sıralı veri türü deÄerlerlerinden birini alır. \n \n \n Durum \n durum \n AN1 \n Z \n HHS'nin durum bilgisidir. TR.OHVPS.DataCode.HHSDurumu sıralı veri tipinde alabileceÄi deÄerler belirtilmiÅtir. \n \n \n \n HHS API'de; Açık, YaygınlaÅtırma, Geçici Hizmet Veremiyor, Kapalı durumlarındaki HHS'ler listelenecektir. \nSertifikasyon onayı alan HHS'ler, üretim ortamına geçiÅte \"YaygınlaÅtırma\" durumuna sahip olabilir. HHS'nin, hangi YÃS'ler ile \"YaygınlaÅtırma\" kontrollerini y
16apacaÄı, HHS yönetiminde olacaktır. Böylece Ãretim Ortamında HHSânin kendisi tarafından tanımlanmıŠkısıtlı ÃHKâya hizmet vermesi ve servislerini test etmesi saÄlanabilir olacaktır. HHS'ler kendi kurum kontrollerini yapana kadar, \"YaygınlaÅtırma\" durumunda kalabilirler. HHS'nin BKM'ye yapacaÄı talep ile, HHS \"YaygınlaÅtırma\" durumundan \"Açık\" durumuna geçebilecektir. \n AÅaÄıdaki durumlarda HHS'nin statüsü Geçici Kapalı olarak güncellenebilecektir: \n \n HHS'nin talebi ile uzun süreli (minimum 1 saati aÅan) yaÅanan teknik sorunlarda ve BKMâye en az 3 iÅ günü öncesinde bildirilen planlı kesintilerde G statüsüne alınabilecektir. \n İlgili resmi kurumlardan gelen talep üzerine HHS G statüsüne alınabilir. \n \n YÃS'ler hem A hem G statüsünde olan HHS'leri listeleyebilir. Ancak YÃS uygulamasında G statüsünde olan bir HHS müÅteri tarafından seçilirse müÅteriye gerekli hata mesajının verilmesi ve ilgili HHS'ye istek atılmaması saÄlanmalıdır. \n Hem YOS hem de HHS API için geçerli olacak; logo gönderiminde dikkat edilmesi gerekenler Åu Åekilde tariflenmiÅtir: \n \n Logoların ham dosya yerine kurumun yayınlayacaÄı bir URL üzerinden sunulması gerekmektedir. (Ãrn: logoURL = https://kurumadi.com.tr/logo.png) Logo BKM tarafında host edilmeyecektir. \n Logo urlâin public eriÅilebilir url olması gereklidir. \n Logo, yatayda veya dikeyde taÅma paysız tam oturacak, sınır boyutlarını geçmeyecek ve ortalanmıŠyerleÅime sahip olmalıdır. \n YÃS uygulamasında gösterim esnasında logoların hızlı yüklenmesi ve düÅük veri tüketmesi açısından; logo boyutu 250 KBâın altında olmalıdır. \n HHS ve YÃSâlerin tüm logo türlerini (8 farklı tipte logoyu) zorunlu olarak dönmesi beklenmektedir. \n Circle logo kullanılması gerektiÄinde ICON_LOGO logo türü kullanılmalıdır. \n Logolarını güncellemek isteyen Kurumlar bu deÄiÅikliÄi, pys üzerinden (https://pys-preprod.bkm.com.tr, https://pys.bkm.com.tr ) güncelleyerek onaya iletmeleri gereklidir. BKM de katılımcılara HHS/YÃS API aracılıÄı ile güncel logonun çekilmesi gerektiÄine dair bilgilendirme yapar. \n Logoları anlık çeken katılımcıların, herhangi bir teknik nedenden dolayı güncel logoyu alamadıÄı durum olabilir. Bu durumda sistemlerine kaydetmiÅ olduÄu kuruma ait ikon logoyu göstermesi gereklidir. \n HHS ve YÃSâler API aracılıÄı ile almıŠoldukları logoların formatı üzerinde deÄiÅiklik (kare, yuvarlak hale getirip resize etmek gibi) yapabilirler. Ancak logonun görsel ve yazılarını etkileyecek bir deÄiÅiklik yapmamalıdırlar. \n YÃS/HHS mobil uygulamasındaki dark mode ve light mode kullanımlarında, hangi logonun kullanılacaÄına uygulama sahibi karar verecektir. \n YÃS API \n YÃS API, YÃS statüsundeki kurumların detay bilgilerini sunan servistir. Bu servis ile aÅaÄıdaki istek/yanıt yapıları ile ihtiyaç duyulabilecek ilgili bilgiler temin edilebilir. YÃS API için âyos_readâ scope bilgisi kullanılır. \n YÃS API yanıtında, listelenen yönlendirme ve bildirim adresleri bulunmaktadır. HHS, iÅlem anında iletilen yonAdr ya da bldrAdr alanlarında gönderilen adreslere yetKod deÄerini iletmelidir. YÃS API içerisinde yer alan adresleri, rıza isteÄinde gönderilen adreslerin doÄruluÄunu kontrol etme amacıyla kullanılmalıdır. Bu nedenle YÃS API içerisinde listelenen adreslerin hostname seviyesinde yer alması yeterlidir. \n YÃS API içerisinde yer alan YÃS rol bilgileri ve aktiflik/pasiflik durumları birbiriyle iliÅkili deÄildir. \n YÃS'ün sahip olduÄu öbhs,hbhs rolleri için herhangi bir fraud ya da teknik sebeplerden ötürü geçici süreyle geri alınabilir. \n YÃS'lerin hizmet verememesi durumunda rollerinin geri alınması yapılmayacaktır. YÃS rolleri sadece ilgili resmi kurumlardan gelen talep üzerine alınabilecektir. \n YÃS aktifliÄini korurken problem çözülene kadar geçici olarak alınan roller(öbhs,hbhs) tekrardan aktif hale getirilir. \n GET /yos/{yosKod} \n İÅlem Sorgu ÃrneÄi = /yos ⨠bu sorgu yöntemi ile tüm YÃS'lerin dizi Åeklinde verileri listelenir. \n İÅlem Sorgu ÃrneÄi = /yos/2501 ⨠bu sorgu yöntemi ile gönderilmiÅ olan yosKoduâna ait bilgiler listelenir ya da â404 Not Foundâ hatası alır.\nYÃS API Tablo 20âdeki istek parametrelerine göre sorgulanabilir.\nİÅlem Sorgu ÃrneÄi (Belirli Bir Hesap)= /yos?srlmKrtr=kod&srlmYon=A \n Tablo 22: YOS Bilgileri Sorgulama Yanıtı âYosâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Yös kodu \n kod \n AN4 \n Z \n YÃS'ün kod bilgisi \n \n \n Yös unvanı \n unv \n AN3..140 \n Z \n YÃS unvan bilgisi \n \n \n Yös markası \n marka \n AN1..140 \n Z \n ÃHK'nın kolaylıkla algılayabileceÄi kısa unvan bilgisi. YÃS tarafından belirlenecektir. \n \n \n YÃS rolleri \n roller \n Array[AN4] \n Z \n YÃSâun rollerini belirten deÄer. Ãrnek: [ \"obhs\", \"hbhs\" ] - obhs - Ãdeme Bilgisi Hizmet SaÄlayıcı Rolü - hbhs - Hesap Bilgisi Hizmet SaÄlayıcı Rolü \n \n \n Adresler \n adresler \n Kompleks:Adres[Array] [1..N] \n Z \n --- \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerlerinden birini alır. Adres detaylarının hangi GKD türüne ait olduÄunu belirtir. \n \n \n > Adres Detayları \n adresDetaylari \n adresDetaylari\tKompleks: AdresDetayi[Array] [1..N] \n Z \n \n \n \n >> Temel Adres \n tmlAdr \n AN1..1024 \n Z \n yetYntm deÄeri âYâ olarak iletildiÄinde Yönlendirmeli GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. yetYntm deÄeri âAâ olarak iletildiÄinde Ayrık GKD sürecinde HHSânin YOSâe authorizasyon kodunu hangi url e göndereceÄi bilgisini tutar. Riza isteklerinde bu deÄer ile uyumluluÄu kontrol edilmelidir. Ãrnek: https://example.com https://example2.com/path deepLink://example/test deepLink://example2/test \n \n \n >> Açıklama \n aciklama \n AN1..1024 \n İ \n YÃSâün gönderdiÄi adrese yönelik vermek istediÄi açıklama Ãrnek: WEB bireysel , WEB kurumsal , APP \n \n \n Açık anahtar \n acikAnahtar \n AN1..1024 \n Z \n YÃSâün mesaj imzalama için payla
16ÅtıÄı açık anahtar \n \n \n YÃS Api Bilgileri \n apiBilgileri \n Kompleks: YosApiBilgi[Array][0..N] \n Z \n Desteklenen Api ve sürüm bilgileri dönülecektir. \n \n \n > api \n api \n AN1..20 \n Z \n Api İsmi Ãrnek :ods \n \n \n > surum \n surum \n AN1..10 \n Z \n Api Sürüm Kodu Ãrnek: s1.0, s2.0 s1.0 \n \n \n Logo Bilgileri \n logoBilgileri \n Kompleks: LogoBilgisi [Array][1..N] \n Z \n YOSâe ait logo bilgileri. \n \n \n > logoTur \n logoTur \n AN3..50 \n Z \n Logonun türünü belirler. TR.OHVPS.DataCode.LogoTur sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoAdr \n logoAdr \n AN1..255 \n Z \n YÃS tarafında tutulan ve HHSâlerle paylaÅılacak olan url adres bilgisidir. Ãrnek: https://via.placeholder.com/150?text=0001 \n \n \n > logoArkaPlan \n logoArkaPlan \n AN1 \n Z \n TR.OHVPS.DataCode.LogoArkaPlan sıralı veri türü deÄerlerlerinden birini alır. \n \n \n > logoFormat \n logoFormat \n AN3 \n Z \n TR.OHVPS.DataCode.LogoFormat sıralı veri türü deÄerlerlerinden birini alır. \n \n \n Durum \n durum \n AN1 \n Z \n YÃS'ün durum bilgisidir. TR.OHVPS.DataCode.YOSDurumu sıralı veri tipinde alabileceÄi deÄerler belirtilmiÅtir. \n TEMSİLCİLİK API \n Temsilcilik API, ÃHVPS kapsamında hizmet sunan temsilcilere iliÅkin bilgilerin HHSâler tarafından sorgulanabilmesini saÄlamak amacıyla sunulmaktadır. Bu API aracılıÄıyla, bir temsilcinin hangi YÃS (ler) aracılıÄı ile hizmet sunduÄu ve hangi roller kapsamında faaliyet gösterdiÄi bilgilerine eriÅilebilecektir.\nTemsilcilik API için HHS'ler, mevcuttaki yos_read scope bilgisini kullanarak eriÅebilecektir. \n GET /temsilcilik/{temsilciKod} \n İÅlem Sorgu ÃrneÄi = /temsilcilik ⨠bu sorgu yöntemi ile tüm temsilcilerin dizi Åeklinde verileri listelenir. \n İÅlem Sorgu ÃrneÄi = /temsilcilik/25015 ⨠bu sorgu yöntemi ile gönderilmiÅ olan temsilciKodâa ait bilgiler listelenir. \n Tablo 23: Temsilcilik Bilgileri Sorgulama Yanıtı âTemsilcilikâ nesnesi \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Temsilci kodu \n temsilciKod \n AN5 \n Z \n Temsilcinin kod bilgisi. \n \n \n Temsilci unvanı \n unvan \n AN6..140 \n Z \n Temsilcinin unvan bilgisi. \n \n \n Temsilci yös listesi \n calistigiYosListesi \n [Array][0..N] \n Z \n Temsilcinin çalıÅtıÄı Yös'lere ait özet bilgi. \n \n \n > Yös kodu \n yosKod \n AN4 \n Z \n YÃS'ün kod bilgisi \n \n \n > Temsilci durum kodu \n durum \n AN1 \n Z \n Ãrnek: [ \"A\", \"G\", \"K\" ] - A - Açık - G - Geçici Hizmet Veremiyor - K - Kapalı \n \n \n > Temsilcinin hizmet sunduÄu roller \n temsilcilikRoller \n [Array][1..N] \n Z \n Temsilcinin rollerini belirten deÄer. Ãrnek: [ \"obhs\", \"hbhs\" ] - obhs - Ãdeme Bilgisi Hizmet SaÄlayıcı Rolü - hbhs - Hesap Bilgisi Hizmet SaÄlayıcı Rolü \n \n \n \n"},{title:"2.Kapsam ve Dayanak",frontmatter:{},regularPath:"/v2.0.1/contents/kapsam-ve-dayanak.html",relativePath:"v2.0.1/contents/kapsam-ve-dayanak.md",key:"v-a6caf7c6",path:"/v2.0.1/contents/kapsam-ve-dayanak.html",content:" 2.Kapsam ve Dayanak \n 12 Kasım 2019âda güncellenen â 6493 sayılı Ãdeme ve Menkul Kıymet Mutabakat Sistemleri, Ãdeme Hizmetleri ve Elektronik Para KuruluÅları Hakkında Kanun âun (Kanun) 12ânci maddesine yeni eklenen ve Ãdeme Hizmetleri Direktifi 2 'de (Payment Services Directive 2, PSD2) bulunan iki yeni ödeme hizmeti aÅaÄıdaki gibi tanımlanmıÅtır (Åekil-1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri): \n \n Ãdeme Emri BaÅlatma Hizmeti : ÃHKânın isteÄi üzerine baÅka bir ödeme hizmeti saÄlayıcısında bulunan ödeme hesabıyla ilgili sunulan ödeme emri baÅlatma hizmeti [Madde 12, birinci fıkra, (f) bendi] \n Hesap Bilgisi Hizmeti : ÃHKânın onayının alınması koÅuluyla, ÃHKânın ödeme hizmeti saÄlayıcıları nezdinde bulunan bir veya daha fazla ödeme hesabına iliÅkin konsolide edilmiÅ bilgilerin çevrim içi platformlarda sunulması hizmeti [Madde 12, birinci fıkra, (g) bendi] \n \n \n Åekil 1: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS)- tanıtım \n Kanunun 14/A maddesinin ikinci fıkrasına göre , Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetleri ile ilgili iÅlemlerin yürütülmesine iliÅkin usul ve esaslar ile taraflarca uyulması gereken teknik ve operasyonel gereklilikler ikincil düzenlemeler uyarınca Türkiye Cumhuriyet Merkez Bankası (TCMB) tarafından belirlenir. Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri ödeme hizmetleri veri paylaÅım servisleri (ÃHVPS) olarak adlandırılmaktadır. \n Ãdeme Hizmetleri ve Elektronik Para İhracı ile Ãdeme Hizmeti SaÄlayıcıları Hakkında Yönetmelikâin (Yönetmelik) 59âuncu maddesinin birinci fıkrası uyarınca hazırlanan bu belgede söz konusu ödeme hizmetlerini sunacak ödeme hizmeti saÄlayıcısının, ödeme hesabının bulunduÄu ödeme hizmeti saÄlayıcısının, varsa ilgili diÄer tarafların ve bu hizmetlerin sunulması için taraflar arasında kurulacak baÄlantının teknik ve operasyonel gereklilikleri açıklanmaktadır. \n Düzenlemeler kapsamında yetkilendirilen üçüncü taraf hizmet saÄlayıcısı (Yetkili Ãdeme Hizmeti SaÄlayıcısı, YÃS) , ödeme hizmeti kullanıcılarının Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki ödeme hesaplarına ulaÅarak ödeme emri baÅlatma ve hesap bilgisi saÄlama hizmetlerinden (ödeme hizmetleri veri paylaÅım servislerinden) faydalanmasına aracılık eder. Ãdeme hizmetleri veri paylaÅım servisleri kapsamında iki tip YÃS bulunmaktadır: 1) Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ve 2) Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS). \n Hesap Bilgisi Hizmeti SaÄlayıcısı (HBHS) ÃHKânın farklı Hesap Hizmeti SaÄlayıcıları (HHS) nezdindeki hesaplarının bilgilerini derleyerek çevrim içi platformlarda toplu Åekilde sunar. Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı (ÃBHS) ise talebi üzerine ÃHKânın HHSâde bulunan ödeme hesabından ödeme iÅlemi baÅlatır. \n ÃHVPSânin üst düzey gösterimi Åekil-2âde verilmiÅtir. \n \n Åekil 2: Ãdeme Hizmetleri Veri PaylaÅım Servisleri (ÃHVPS) -üst düzey gösterim \n Ãdeme Hizmetleri Veri PaylaÅım Servislerinin HHSâler tarafından GEÃİT vasıtasıyla sunulduÄu uygulama mimarisi ise Åekil-3âte sunulmuÅtur. \n \n Åekil 3: ÃHVPS'nin GEÃİT vasıtasıyla sunumu \n"},{title:"7.\tİleri Tarihli Ãdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v2.0.1/contents/ileri-tarihli-odeme-emri-hizmeti.html",relativePath:"v2.0.1/contents/ileri-tarihli-odeme-emri-hizmeti.md",key:"v-dbcd7a7e",path:"/v2.0.1/contents/ileri-tarihli-odeme-emri-hizmeti.html",headers:[{level:2,title:"İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"ileri-tarihli-odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"7.1.\tADIM 0 - İleri Tarihli Ãdeme Emri Rızası BaÅlatma IsteÄi",slug:"_7-1-adim-0-ileri-tarihli-odeme-emri-rızası-baslatma-istegi"},{level:2,title:"7.2.\tADIM 1 - İleri Tarihli Ãdeme Emri Rızasının Hazırlanması",slug:"_7-2-adim-1-ileri-tarihli-odeme-emri-rızasının-hazırlanması"},{level:2,title:"7.3.\tADIM 2- İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_7-3-adim-2-ileri-tarihli-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"7.4.\tADIM 2.1 â İleri Tarihli Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_7-4-adim-2-1-ileri-tarihli-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"7.5.\tADIM 3- İleri Tarihli Ãdeme Emrinin OluÅturulması",slug:"_7-5-adim-3-ileri-tarihli-odeme-emrinin-olusturulması"},{level:2,title:"7.6.\tADIM 3.1- İleri Tarihli Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_7-6-adim-3-1-ileri-tarihli-odeme-emri-sorgusu-istege-baglı"},{level:2,title:"7.7.\tADIM 4- İleri Tarihli Ãdeme Emri Rıza İptali",slug:"_7-7-adim-4-ileri-tarihli-odeme-emri-rıza-iptali"}],content:" 7.\tİleri Tarihli Ãdeme Emri BaÅlatma Hizmeti \n Ãdeme hizmeti kullanıcısının ileri bir tarihte gerçekleÅmesini istediÄi ödeme emirlerinde bu hizmeti kullanabilir. Ãdemenin Havale / PÃS / FAST ödeme sistemlerinden hangisi ile gerçekleÅeceÄine, ödeme günü geldiÄinde HHS karar verir. \n İleri tarihli ödeme hizmetini online bankacılık sistemlerinde sunan HHS'lerin, ÃHVPS üzerinden bu hizmetleri sunması zorunludur. Mevcutta online kanallarından bu hizmeti sundukları müÅteri segmentine (bireysel,kurumsal vb.), ÃHVPS üzerinden hizmet sunmaya devam etmeleri gerekmektedir. YÃS, bireysel müÅteri özelinde ileri tarihli ödeme hizmeti vermeyen HHS'ye ileri tarihli bir ödeme emri rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.IndividualCustomerNotSupported\" hatası , kurumsal müÅteri özelinde ileri tarihli ödeme emri rızası isteÄi yapıldıÄında HHS tarafından TR.OHVPS.Business.CorporateCustomerNotSupported hatası verilmelidir. \n HHS'ler ileri tarihli ödeme emri hizmetini sunuÅ bilgilerini HHS API aracılıÄı ile yayınlayacaklardır. YÃS, ileri tarihli ödeme hizmeti baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\":\"02\" parametresi ile alabilir. YÃS, ileri tarihli ödeme hizmeti sunmayan HHS'ye ileri tarihli bir ödeme emri rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.ScheduledPaymentNotSupported hatası
16iletilmelidir. \n İleri tarihli ödeme emri hizmetinde TRY dıÅındaki yabancı para birimleri için HHS tarafından destek verilmemesi durumunda TR.OHVPS.Business.InvalidCurrencyCode hataası verilmelidir. \n İleri tarihli ödeme emri güncelleme hizmeti YÃS üzerinden yapılamayacaktır. ÃHK aktif olan düzenli ödeme talimat rızasını iptal ederek, yeniden oluÅturabilecektir. \n HHS üzerinden ilgili güncelleme hizmeti saÄlanabilir. İleri tarihli talimat içerisinde yapılan güncelleme sonucunda olay bildirim ile YÃS'e bildirim saÄlanacaktır. HHS üzerinden güncelleme yapılırken talimat tarihine dair ileri bir tarihe güncelleme adımı olmamalıdır. Sadece ilk oluÅturulan talimat tarihinden öncesi olacak Åekilde güncelleme yapılmasına izin verilmelidir. \n İleri Tarili Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n İleri Tarihli Ãdeme Emri Rıza BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden ileri tarihli ödeme emrini baÅlatır. \n İleri Tarihli Ãdeme Emri Rıza Hazırlanması: ÃBHS, âİleri Tarihli Ãdeme Emri BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve ileri tarihli ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n İleri Tarihli Ãdeme Emrinin BaÅlatılması: ÃBHS, âileri tarihli ödeme emriâni HHSâye iletir. \n İleri Tarihli Ãdeme Emri Rıza Durumu, İleri Tarihli Ãdeme Emri Durumu, İleri Tarihli Ãdeme Emri Detayı Sorguları: ÃBHS, İleri Tarihli Ãdeme Emri Rıza Durumu, İleri Tarihli Ãdeme Emri Durumu, İleri Tarihli Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin hem HBH hem de ÃBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini(önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n YÃS'ler gönderen hesap seçimini aÅaÄıdaki yöntemlerden biri ya da birkaçı ile saÄlayabilirler: \n \n YÃS, müÅterisinin ödeme hesabını HHS ekranından seçtirebilir. \n YÃS, müÅterisinden Hesap Bilgisi rızası alır. Rıza aldıÄı hesaplar üzerinden hesap referansı aracılıÄı ile ileri tarihli ödeme emri baÅlatabilir. \n YÃS, müÅterisinin ödeme hesabını elle girmesine olanak tanıyabilir. IBAN'ı olmayan HHS'ler ileri tarihli ödeme emri rızası adımında TR.OHVPS.Business.IBANNotSupported hatasını vermelidir. IBAN'ı olan HHS'lerin bu akıÅı desteklemesi zorunludur. \n YÃS; müÅterisinin hesap referansını elle girmesini saÄlayabilir. Hesap Referansı bilgisi ile baÅlatılan ileri tarihli ödeme emri iÅlemlerinde HHS seçimi zorunludur. \n \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN sunmadıkları için, YÃS'ler hesap referansı ile ödeme baÅlatabilirler. Bunların dıÅındaki HHS'lerin, gönderen IBAN veya hesap referansı ile ödeme akıÅını desteklemesi zorunludur. \n İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. Ãdeme Emri Hizmeti ile aynı etki alanı(scope) kullanılmaktadır. \n Tablo : İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n ileri-tarihli-odeme-emri-rizasi \n POST \n /ileri-tarihli-odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n IleriTarihliOdemeEmriRizasiIstegi \n Iler
16iTarihliOdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 3 \n ileri-tarihli-odeme-emri-rizasi \n GET \n /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n IleriTarihliOdemeEmriRizaYaniti \n \n \n 4 \n ileri-tarihli-odeme-emri \n POST \n /ileri-tarihli-odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı İstek ve Yanıt \n IleriTarihliOdemeEmriIstegi \n IleriTarihliOdemeEmri \n \n \n 5 \n ileri-tarihli-odeme-emri \n GET \n /ileri-tarihli-odeme-emri/{odmEmriNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n IleriTarihliOdemeEmri \n \n \n 6 \n ileri-tarihli-odeme-emri-rizasi-iptal \n DELETE \n /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n - \n - \n - \n 7.1.\tADIM 0 - İleri Tarihli Ãdeme Emri Rızası BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) ileri tarihli ödeme emri rızası sürecini baÅlatır. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 7.2.\tADIM 1 - İleri Tarihli Ãdeme Emri Rızasının Hazırlanması \n \n Åekil : İleri Tarihli Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak ileri tarihli ödeme emri rıza kaynaÄının oluÅturulmasını (ileriTarihliOdemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ olduÄu geçit tarafından kontrol edilir. \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahipliÄi geçit tarafından kontrol edilir. \n HHS tarafından, istek baÅlıÄındaki x-aspsp-code ile katilimciBlg içerisinde yer alan hhsKod deÄeri ile aynı olduÄunu kontrol edilir. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n \n \n \n POST baÅarılı olursa, HHS, ileri tarihli ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren ileriTarihliOdemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /ileri-tarihli-odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir IleriTarihliOdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, ileri tarihli ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS'ler ileri tarihli ödeme emri hizmetini sunuÅ bilgilerini HHS API aracılıÄı ile yayınlayacaklardır. YÃS, ileri tarihli ödeme hizmeti baÅlatabileceÄi HHS'lerin listesini HHS API'de yer alan \"hizmetTipi\":\"02\" parametresi ile alabilir. YÃS, ileri tarihli ödeme hizmeti sunmayan HHS'ye ileri tarihli bir ödeme emri rızası isteÄi yapması durumunda HHS tarafından TR.OHVPS.Business.ScheduledPaymentNotSupported hatası
16iletilmelidir. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hata kodu iletilmeli ve fieldErrors dolu olacak Åekilde hatalı alanı belirten detaylı açıklama gönderilmelidir. InvalidFormat hata kodlarında fieldErrors içeriÄi gönderilmeli ve anlaÅılır açıklama ile message, messageTr alanları doldurulması zorunludur. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n HHS, bireysel müÅteri özelinde ileri tarihli ödeme hizmetini kendi kanallarında sunmuyor ise HHS'ye ileri tarihli bir ödeme emri rızası isteÄi yapması durumunda HHS tarafından \"TR.OHVPS.Business.IndividualCustomerNotSupported\" hatası ,\nkurumsal müÅteri özelinde ileri tarihli ödeme emri rızası isteÄi yapıldıÄında HHS tarafından \"TR.OHVPS.Business.CorporateCustomerNotSupported\" hatası dönülür. \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme adresleri ile ileri tarihli ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.TPPRedirectionAddressMismatch\" hatası dönülür. \n HHS; kimlik bilgileri nesnesinde yer alan kimlik bilgisi ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerNotFound\" hatası dönülür. \n İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti rıza isteÄinde bulunan ÃHKânın âAçık Bankacılık Kanal Yetkiâ tanımı yok ise \"TR.OHVPS.Business.OpenBankingChannelClosed\" hatası dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n İleri tarihli ödeme emri rızasında alıcı hesap bilgileri Karekod ya da Kolas ile belirlenebilir. HHS online kanallarında ileri tarihli ödeme hizmetini Karekod ve Kolas aracılıÄı ile kabul ediyorsa, ÃHVPS servisleri ile de kabul etmek zorundadır. YÃS tarafından ileri tarihli ödeme emri rızası isteÄi içerisinde alıcı bilgisi için karekod ya da kolas kompleks alanları yer alması durumunda , destek vermeyen HHS'ler tarafından TR.OHVPS.Business.RecipientAccountTypeNotSupported hatası dönülür. \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n Ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapılması durumunda HHS tarafından \"TR.OHVPS.Business.DecoupledAuthenticationNotSupported\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından \"TR.OHVPS.Business.EventSubscriptionNotFound\" hatası dönülür. \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin, ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından \"TR.OHVPS.Business.CustomerInfoMismatch\" hatası dönülür. \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS tarafından \"TR.OHVPS.Business.CustomerMobileApplicationNotFound\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n HHS kimlik bilgisi ile gönderen ünvanının uyumlu olduÄunu kontrol eder. HHS'ler EFT/FAST iÅlemlerinde kabul ettikleri kontrol kriterleri ile iÅleme izin verebilirler. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.IncorrectSenderTitle\" hatası dönülür. \n Gönderen Hesap Numarası ÃBHS tarafından iletildiÄi durumda;\n \n IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.InvalidAccount\" hatası dönülür. \n IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountCodeMismatch\" hatası dönülür. \n Hesap numarasının ÃHKâya ait olduÄu kontrol edilir.Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerAccountMismatch\" hatası dönülür. \n HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. (İlgili hesabın para transfer iÅlemine yetkisi olmaması) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountUnauthorized\" hatası dönülür. \n HHSâde gönderen hesabın aktifliÄi kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountInactive\" hatası dönülür. \n \n \n Gönderen Hesap Numarası için, He
16sap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ileri tarihli ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise \"TR.OHVPS.Business.ActiveConsentNotFound\" hatası dönülür. \n Talimat tarihi, talimat verilen günün tarihinden minimum 1 gün sonrası, maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. Belirtilen tarih aralıÄı dıÅında ÃBHS tarafından talimat tarihi iletilmesi durumunda HHS tarafından \"TR.OHVPS.Business.InvalidOrderDateRange\" hatası dönülür. \n Talimati tarih bilgisi için ödeme gününün iÅ gününe gelmediÄi ve HHS'nin FAST/Havale ile anlık ödeme baÅlatamadıÄı durumda, HHS tarafıdan \"TR.OHVPS.Business.OrderDateNotWorkDay\" hata mesajı ile iÅlemi kesmelidir. YÃS, ÃHK'ya tarih bilgisini güncelletebilir ya da kendisi otomatik atama yapabilir. Sonrasında tekrar rıza talebinde bulunmalıdır. \n Alıcı ve gönderen hesabın aynı olması durumunda âTR.OHVPS.Business.SenderRecipientSameâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n MüÅterinin kendi hesapları arasında talimat veremeyeceÄi durumların kontrolü için âTR.OHVPS.Business.SameAccountTransferRestrictedâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, ödeme için benzersiz âRizaNoâ ile âIleriTarihliOdemeEmriRizasiâ nesnesi oluÅturur ve ÃBHSâye döner. \n HHS, IleriTarihliOdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n Hesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK ileri tarihli ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n BAÅARILI İSTEK: \n Tablo : âIleriTarihliOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ileri tarihli ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum kodu(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n HHS geçerli bir para birimi olduÄu kontrol eder. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda ileri tarihli ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ileri tarihli ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, HspRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının ünvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n Talimatın gerçekleÅeceÄi ana kadar KOLAS tanımınında deÄiÅiklik olabileceÄi için, KOLAS ile yapılan ileri tarihli iÅlemler, talimatın verildiÄi anda çözülen IBAN'a yapılacaktır. \n Kolas ile ileri tarihli ödeme emri hizmeti desteklenmiyorsa; HHS tarafından hata dönülmelidir. \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n Karekod ile yapılan ileri tarihli iÅlemler, talimatın verildiÄi anda çözülen IBAN'a yapılacaktır. \n Karekod ile ileri tarihli ödeme emri hizmeti desteklenmiyorsa; HHS tarafından hata dönülmelidir. \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n HHS, YÃS'ün API deseninde \"O\" kodunu ilettiÄini kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarında: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tİÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n YÃS bu deÄeri ÃHKâyı HHSâye yönlendirmeden önceki ekranda göstermeli, ve HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak yine ÃHKâya göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n \n >> Talimat Tarihi \n tlmtTrh \n ISODate \n Z \n ÃHK tarafından talep edilen, ödeme gerçekleÅme zamanıdır. \n Talimat verilen günün tarihinden minimum 1 gün sonrası,maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âIleriTarihliOdemeEmriRizasiâ nesnesi Tabloâda parametrelerden oluÅur: \n Tablo : âIleriTarihliOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n >
16 Rıza No \n rizaNo \n AN1..128 \n Z \n IleriTarihliOdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n IleriTarihliOdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n IleriTarihliOdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n Z \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen ünvanını göndermesi zorunludur. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Talimat Tarihi \n tlmtTrh \n ISODate \n Z \n ÃHK tarafından talep edilen, ödeme gerçekleÅme zamanıdır. Talimat verilen günün tarihinden minimum 1 gün sonrası,maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. Belirtilen tarih aralıÄı dıÅında ÃBHS tarafından talimat tarihi iletilmesi durumunda HHS tarafından TR.OHVPS.Business.InvalidOrderDateRange hatası verilmelidir. \n 7.3.\tADIM 2- İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil : İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın ileri tarihli ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, ileri tarihli ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=I&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, ileri tarihli ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS, ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=I&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak
16iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=I&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın ileri tarihli ödeme emri rızasını baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK, bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, ileri tarihli ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, ileri tarihli ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 7.4.\tADIM 2.1 â İleri Tarihli Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âIleriTarihliOdemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp İleri Tarihli Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda ileri tarihli ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, IleriTarihliOdemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır. HHS, â ADIM 2 -Ileri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin IleriTarihliOdemeEmriRizasi nesnesine iÅler. \n \n Sorgulama yapılan İleri Tarihli Ãdeme Emri HHS tarafında bulunmuyor ise \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n \n GET /ileri-tarihli-odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir IleriTarihliOdemeEmriRizasi kaynaÄının durumunu isteÄe baÄlı olarak alabilir. \n Durum \n IleriTarihliOdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine/Talimata DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n İleri Tarihli Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /ileri-tarihli-odeme-emri-rizasi/{rizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âIleriTarihliOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âIleriTarihliOdemeEmriRizasiâ nesnesi oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (İleri Tarihli Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âIleriTarihliOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /ileri-tarihli-odeme-emri-rizasi/{rizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âIleriTarihliOdemeEmriRizasiâ nesnesini çekmelidir. \n 7.5.\tADIM 3- İleri Tarihli Ãdeme Emrinin OluÅturulması \n \n Åekil 8: İleri Tarihli Ãdeme Emrinin OluÅturulması \n POST /ileri-tarihli-odeme-emri \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS OdemeEmri kaynaÄını oluÅturur. \n İleri Tarihli Ãdeme emri (IleriTarihliOdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır. \n \n EriÅim Belirteci kontrolü yapılır. Geçerli bir EriÅim Belirteci yok ise \"TR.OHVPS.Connection.InvalidToken\" hatası dönülür. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini y
16apar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor, Y: Yetkilendirildi ya da E: Yetki Ãdeme Emrine DönüÅtü ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n POST /ileri-tarihli-odeme-emri-rizasi ile POST /ileri-tarihli-odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır. İleri Tarihli Ãdeme Emri rızasında gönderilen deÄerlerden farklı bir deÄer gönderildiÄi durumda âTR.OHVPS.Business.FieldMismatchâ hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra, içerisinde odmEmriNo ve odmDrm deÄiÅkenleri de bulunan IleriTarihliOdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine/Talimata DönüÅtüâ olarak güncellenir. \n \n POST verisindeki Gönderen Hesap Numarası ve Alıcı Hesap Numarasının aynı bankaya aitse HAVALE deÄilse FAST veya PÃS iÅ akıÅına geçilir. \n \n BAÅARILI İSTEK: \n Tablo 9: âIleriTarihliOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ileri tarihli ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n >Yönlendirme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n >Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. yetYntm = Y için bu nesne iletilmemelidir. \n \n \n \n >>OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >>OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n \n \n >Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde,
161. HHS, Gönderen Adı ve Gönderen Hesap Numarasını ileri tarihli ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. İleri Tarihli Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki İÅlem Tutarı verisi ile aynı olmalıdır. HHS iÅlem tutarı ödeme mesajında (Havale/FAST/PÃS) aynen taÅınmak durumundadır. \n Ttr \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n İleri Tarihli Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda ileri tarihli ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi ileri tarihli ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n KolasRef ( hem FAST hem de PÃS için aynı) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n İleri Tarihli Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. \n RefBlg (Hem FAST hem de PÃS için aynı) \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n FAST/PÃS Acklm \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n \n \n >> Talimat Tarihi \n tlmtTrh \n ISODate \n Z \n ÃHK tarafından talep edilen, ödeme gerçekleÅme zamanıdır. Talimat verilen günün tarihinden minimum 1 gün sonrası,maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. \n \n \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âIleriTarihliOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âIleriTarihliOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanıdır. \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n Z \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Emir Bilgileri \n emrBlg \n Kompleks: EmirBilgileri \n Z \n \n \n \n >
16 Ãdeme Emri Numarası \n odmEmriNo \n AN1..128 \n Z \n IleriTarihliOdemeEmri nesnesinin UID'sidir. IleriTarihliOdemeEmri İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Ãdeme Emri Zaman \n odmEmriZmn \n ISODateTime \n Z \n IleriTarihliOdemeEmri nesnesinin oluÅturulduÄu zaman bilgisi. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > GerçekleÅen İÅlem Tutarı \n grckIslTtr \n Kompleks:GerceklesenTutar \n K \n odmDrm:01 ,02 ve 06 olduÄu durumda gönderilmesi zorunludur. Ãdeme durumu 01 ve 02 durumlarında gerçekleÅtirilen tutarın tamamı bu alanda iletilmelidir. Ãdeme durumu: 06 olan kısmi ödeme iÅlemlerinde ise gerçekleÅen tutar bilgisi iletilmelidir. \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n Talimat gerçekleÅtiÄinde ödeme yapılan tutar bilgisi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>>
16 Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Durumu \n odmDrm \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. Ãdeme Durumu alanı ile ilgili olarak HHSâler tarafından YÃSâlere IleriTarihliOdemeEmri servisi yanıtında 04:Onayda Bekliyor, 05:Ãdeme Bekleniyor yanıtları gönderilebilir. 04:Onayda Bekliyor ve 05:Ãdeme Bekleniyor durumları oluÅtuktan sonra YÃS tarafından ileri tarihli ödeme emri sorgulaması yapılarak ödeme durumunun güncel deÄeri öÄrenilir. Güncel deÄerler 01:GerçekleÅti,03:GerçekleÅmedi , 06:Kısmen GerçekleÅti ve 07:İptal Edildi durumları olabilir. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n K \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. odmDrm:01, 02 ve 06 olduÄu durumda gönderilmesi zorunludur. \n \n \n >> Ãdeme Sistem Numarası \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. Havale/FAST/PÃS ödeme yöntemleri için tarih alanı yyyy-aa-gg formatında 10 karakter olarak
16iletilmelidir. odmDrm:01, 02 ve 06 olduÄu durumda gönderilmesi zorunludur. \n \n \n >> Talimat Tarihi \n tlmtTrh \n ISODate \n Z \n ÃHK tarafından talep edilen, ödeme gerçekleÅme zamanıdır. Talimat verilen günün tarihinden minimum 1 gün sonrası,maksimum ise 1 yıl sonrası olacak Åekilde seçilebilir. \n \n \n >> GerçekleÅen Ãdeme Zamanı \n grckOdmZmn \n ISODateTime \n K \n GerçekleÅen ödeme iÅlemine ait zaman bilgisi. odmDrm:01, 02 ve 06 olduÄu durumda gönderilmesi zorunludur. \n 7.6.\tADIM 3.1- İleri Tarihli Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: İleri Tarihli Ãdeme Emri Sorgusu \n GET /ileri-tarihli-odeme-emri/{odmEmriNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ileri tarihli ödeme emrini sorgulayabilir. Maksimum ödemenin gerçekleÅeceÄi günün 15 gün sonrasına kadar sorgulama yapılabilir. Sonrasında yapılacak sorgulamalarda eriÅim belirtecinin yetki süresi sonlandıÄı için HHS \"TR.OHVPS.Resource.ConsentRevoked\"  hatasını dönmelidir.\nİptal edilmiÅ talimatın bilgileri sorgulanmak istendiÄinde de yine \"TR.OHVPS.Resource.ConsentRevoked\"  hatası verilmelidir. \n YÃS sadece kendi uygulaması üzerinden verilmiÅ ileri tarihli ödemeleri sorgulayabilir. EriÅim izni olmayan bir ödeme emri numarası ile sorgulama yaptıÄında HHS'den \"TR.OHVPS.Resource.NotFound\" hatasını alır. \n Kısmi ödemelerde, kısmen gerçekleÅen ödeme tutarı, \"gerçekleÅen iÅlem tutarı\"(grckIslTtr) alanında gönderilirken, gönderilmesi talep edilen tutar alanı(rıza baÅlatma isteÄinde ki tutar) da \"iÅlem tutarı\"(islTtr) alanında gönderilmeye devam edilmelidir. \n GerçekleÅen iÅlem tutarı ve para birimi, ödeme gerçekleÅme zamanı alanları, ödeme gününden itibaren dolu olarak gelir. \n BAÅARILI YANIT: \n GET /ileri-tarihli-odeme-emri/{odmEmriNo} yanıtının (RESPONSE) gövdesinde (BODY) âIleriTarihliOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âIleriTarihliOdemeEmriâ nesnesi döner. \n 7.7.\tADIM 4- İleri Tarihli Ãdeme Emri Rıza İptali \n \n Åekil 10: İleri Tarihli Ãdeme Emri Rızası İptali \n DELETE /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ileri tarihli ödeme emri rızasını iptal edebilir. \n DELETE /ileri-tarihli-odeme-emri-rizasi çaÄrısı, bir ÃBHS'nin önceden oluÅturulmuÅ bir ileri tarihli ödeme emri rızasını silmesine izin verir. MüÅteri, rızasını HHS üzerinden iptal etmek yerine, ÃBHS üzerinden bu rızasını kaldırmak isteyebilir. \n \n EriÅim belirteci kontrolü yapılır. Geçerli bir eriÅim belirteci yok ise HHS tarafından âTR.OHVPS.Connection.InvalidTokenâ hatası dönülür. \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rıza, silinen rizaNo bilgisi ile aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n İptal edilmek istenen İleri Tarihli Ãdeme Emri Rızası HHS tarafında bulunmuyor ise âTR.OHVPS.ResourceNotFoundâ hatası dönülür. \n Rıza durumu Yetki Sonlandırıldı - S veya Yetki İptal - I ise \"TR.OHVPS.Resource.ConsentRevoked\" hatası dönülür. \n İptal edilmek istenen İleri Tarihli Ãdeme Emri Rızasıânın ödeme durumu 04 ya da 05 deÄil ise âTR.OHVPS.Business.TransactionCompletedâ hatası dönülür. \n \n Yukarıda kontroller baÅarıyla tamamlandıktan sonra sırasıyla aÅaÄıdaki iÅlemler yapılır. \n \n odmDrm deÄeri 04 ve 05 olan kayıtlar 07 durum kodu ile güncellenmelidir. \n İliÅkili ileri tarihli ödeme emri talimatı iptal edilmelidir. \n Rıza iptal edilmelidir. \n \n Bu API çaÄrısı, müÅterinin ÃBHS üzerinden ileri tarihli ödeme emri rızasını iptal etmesine ve HHS nezdindeki ileri tarihli ödeme emri rızası nesnesinin silinmesini saÄlar.\nMüÅterinin ÃBHSânin veri eriÅim iznini iptal etmesi durumunda ÃBHS, HHSâde mevcut olan IleriTarihliOdemeEmriRizasi'na dair rıza ve talimat bilgilerini pratik olarak mümkün olan en kısa sürede silmelidir. Bu ise, ilgili kaynaÄa\nDELETE /ileri-tarihli-odeme-emri-rizasi/{RizaNo}
16\nçaÄrısı aracılıÄı ile yerine getirilir. \n Servis istek parametresi olarak sadece pathâde iletilen Rıza No bilgisine ihtiyaç duymaktadır.\nÃHK rızası YÃS üzerinden baÅarı ile silindiÄinde HTTP 204 response kodu ile iÅlem sonucu iletilir. Rıza tipi âIâ yani âYetki İptalâ ve durum kodu \"03\" olarak güncellenir ve gnclZmn zaman damgası vurularak güncellenir.\nÃHK ile rıza iptali sırasında kurulacak iletiÅimde (e-posta, sms gibi) aÅaÄıdaki alanların iletilmesi tavsiye edilmektedir:\nYÃS Adı, HHS adı, Rıza OluÅturma Zamanı, Servis Tipi Bilgisi (ÃBHS) \n"},{title:"4. Rıza Durumları",frontmatter:{},regularPath:"/v2.0.1/contents/riza-durumlari.html",relativePath:"v2.0.1/contents/riza-durumlari.md",key:"v-4c8f674f",path:"/v2.0.1/contents/riza-durumlari.html",headers:[{level:2,title:"4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri",slug:"_4-1-hesap-bilgisi-hizmeti-rıza-durum-degisiklikleri"},{level:2,title:"4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri",slug:"_4-2-odeme-bilgisi-hizmeti-rıza-durum-degisiklikleri"}],content:" 4. Rıza Durumları \n ÃHK, Ãdeme Emri BaÅlatma Hizmetine ya da Hesap Bilgisi Hizmetine müÅteri rızasının tesisi ile baÅlar. ÃHKânın YÃS uygulaması üzerinden yaptıÄı iÅlemler neticesinde rıza durumları deÄiÅebilir.\nRızaânın alabileceÄi durum kodları Åu Åekilde belirlenmiÅtir. \n B: Yetki Bekleniyor â İlk rıza talebinde \n Y: Yetkilendirildi â BaÅarılı GKD sonrası yetKod üretildiÄinde \n K: Yetki Kullanıldı â EriÅim Belirteci alındıÄında \n E: Yetki ödeme emrine dönüÅtü â ÃBHS için \n S: Yetki Sonlandırıldı \n    HBHS için : EriÅimin Geçerli OlduÄu Son Tarih geldiÄinde \n    ÃBHS için : Yenileme belirteci Son Tarihi geldiÄinde \n I :Yetki İptal \nRıza iptal durumu ise gerek raporlama gerekse müÅteri deneyimi perspektifinden doÄru bilgilendirmeler yapılabilmesi açısından aÅaÄıdaki gibi detay kodları ile zenginleÅtirilmiÅtir: \n \n Rıza İptal Detay Kodu: \n \n \n \n â01â :\tYeni Rıza Talebi ile İptal \n â02â :\tKullanıcı İsteÄi ile HHS üzerinden İptal \n â03â :\tKullanıcı İsteÄi ile YÃS üzerinden İptal \n â04â :\tSüre AÅımı : Yetki Bekleniyor \n â05â :\tSüre AÅımı : Yetkilendirildi \n â06â :\tSüre AÅımı : Yetki Ãdemeye DönüÅmedi \n â07â :\tGKD iptali : Aynı rıza no ile mükerrer çaÄrımı \n â08â :\tGKD iptali : Rızano ile kimlik bilgileri uyuÅmaması \n â09â :\tGKD iptali : Uygun ürünü bulunmuyor \n â10â :\tGKD iptali : HHS Açık Bankacılık kanalı iÅleme kapalı \n â11â :\tGKD iptali : Hesap Yetki Sorunu \n â12â :\tGKD iptali : ÃHK HHS kontrollerini aÅamadı \n â13â :\tGKD iptali : ÃHK isteÄi ile GKDâden vazgeçildi \n â14â :\tGKD iptali : Fraud Åüphesi \n â15â :\tHesap Rıza Güncelleme Talebi ile İptal \n â99â :\tGKD iptali : DiÄer \n \n \n 4.1 ve 4.2 bölümlerinde detaylandırılan rıza durum deÄiÅikliklerinde rıza iptal detay kodları kullanılmıÅtır. \n ÃrneÄin B⨠I/01 denildiÄinde âYetki Bekleniyorâ rıza durumundan âYetki İptalâ rıza durumuna Rıza İptal Detay Kodu da â01â yani âYeni Rıza Talebi ile İptalâ olarak güncellenmelidir ifade edilmiÅtir. \n ÃHK verdiÄi rıza sırasında seçtiÄi hesaplarından/kartlarından biri kapatılırsa, diÄer hesaplara/kartlara ait bilgileri görmeye devam eder. Ancak ÃHKânın hesabına/kartına ait bilgilerinin YÃS'e iletilmesini istemediÄi durumda, rızasını tamamen iptal ederek yeni hesap/kart listesi ile yeni rıza vermesi gerekmektedir. Yani hesap/kart kapanması nedeniyle rıza geçerliliÄini yitirmez. ÃHK'nın proaktif olarak bu hesabı/kartı rızadan çıkarması durumunda rıza iptali olur. \n Rıza iptal edilmediÄi ve geçerli olduÄu sürece kapalı hesaplar/kartlar için diÄer çevrimiçi kanallarda uygulanan yöntem izlenmelidir. DiÄer çevrimiçi kanallarda kapalı hesaplara/kartlara iliÅkin bilgi dönülmüyor ise ÃHVPS'den de dönüŠyapılmaz. ÃHKânın rıza onayı verdiÄi açık hesaplarının/kartlarının tümü HHS tarafında kapatıldıÄı durumda, yine aynı Åekilde HHS çevrimiçi kanallarında koyduÄu kurallara göre bu hesaplarının/kartlarının YÃS uygulamasında gösterilmesine karar verir. \n Hesap/kart kapama ve ticari kullanıcıların hesaplar/kartlar üzerindeki yetki deÄiÅiklikleri HHS'nin iç sistemleri tarafından yapılan kontrollerle yönetilir. Buradaki deÄiÅiklikler ile HHS sistemsel olarak rıza iptali gerçekleÅtiremez. ÃHK izni ve onayı dahilinde rıza iptal gerçekleÅtirilmesi gerekmektedir. \n HHS'ler sunmuÅ oldukları Rıza İptal ekranını (sadece Hesap Bilgisi Rızası için), hangi ortamlardan GKD yapılmasına izin veriliyorsa (web/mobil) aynı ortamdan ÃHK'ya sunmalıdır. ÃrneÄin bir HHS bireysel müÅterileri için web ve mobil, kurumsal müÅteriler için web üzerinden GKD imkanı sunuyor ise, minimumda bireysel müÅteriler için web ve mobil ortamlarından, kurumsal müÅteriler için web ortamından Rıza İptal ekranı aracılıÄı ile rıza iptaline izin vermelidir. Bunun dıÅında çaÄrı merkezi ya da Åube gibi ortamlardan sunacaÄı Rıza İptal imkanı HHS inisiyatifindedir. Bahsi geçen zorunluluk Ãdeme Emri Rıza İptal ekranı için geçerli deÄildir. \n Benzer Åekilde YÃS'ler hangi ortamlardan (web/mobil) hizmet veriyorsa, aynı ortam üzerinden Rıza İptal ekranını sunmalıdır. \n 4.1.\tHesap Bilgisi Hizmeti Rıza durum deÄiÅiklikleri \n Kural : Bir ÃHK'nın, bir YÃS için, bir HHS'de aktif tek bir rızası olabilir.\nBir ÃHK hem kiÅisel olarak hem de bir kurumun kullanıcısı olabilir. Bu durumda kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \nAynı kural YÃSâün hizmet verdiÄi Temsilcisi için de geçerlidir. ÃrneÄin: \n Bir müÅterinin bir Hesap Hizmet SaÄlayıcısı (HHS) nezdinde, aynı Yetkili Ãdeme Hizmeti SaÄlayıcı (YÃS) veya onun temsilcisi üzerinden yalnızca bir adet aktif hesap bilgisi rızası bulunabilir.\nBu sistematiÄin temel kuralları ve uygulanması Åu Åekildedir: \n \n Ãoklu Temsilci Kısıtı: Bir YÃS, birden fazla temsilci aracılıÄıyla hizmet verse dahi bu kural geçerlidir. MüÅteri, ilg
16ili YÃS'ün herhangi bir temsilcisi üzerinden zaten bir HHS'de rıza vermiÅse, aynı YÃS'ün bir baÅka temsilcisi üzerinden yeni bir rıza veremez. \n DoÄrulama ve DoÄrudan Engelleme: HHS, bir müÅteri için ilgili YÃS'e ait zaten aktif bir rıza olup olmadıÄını kontrol eder. EÄer temsilcilerden biri üzerinden mevcut bir rıza varsa, aynı müÅteri baÅka bir temsilci üzerinden mükerrer rıza oluÅturmaya çalıÅtıÄında iÅlem sistem tarafından reddedilmeli ve hata mesajı döndürülmelidir. Aynı durum YÃSâün kendisi için de geçerlidir. HHS, bir müÅteri için ilgili YÃS'e ait zaten aktif bir rıza olup olmadıÄını kontrol eder. EÄer temsilcilerden biri üzerinden mevcut bir rıza varsa, aynı müÅteri YÃSâün kendisi için mükerrer rıza oluÅturmaya çalıÅtıÄında iÅlem sistem tarafından reddedilmeli ve hata mesajı döndürülmelidir. \n \n Temsilci kendi ad ve hesabına müÅteri edinemez. MüÅterinin, YÃSâün müÅterisi olması gerekmektedir.\nEÄer temsilci kendi sunduÄu baÅka hizmetler kapsamındaki müÅterilerini açık bankacılık (f ve g) hizmetlerinden yararlandırmak istiyorsa, söz konusu açık bankacılık hizmetlerinden yararlanmak isteyen müÅterilerinin YÃSâün de müÅterisi olmalarını saÄlaması gerekmektedir. \n \n \n Hesap Bilgisi Rızası isteÄi HHSâye iletilir. \na.\tHHS ÃHK'ya ait içeride rıza var mı kontrol eder. EÄer yoksa Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \nb.\tEÄer içeride rıza varsa ; \n \n Yeni hesap bilgisi rızası talebi baÅlatılmıÅsa (oncekiRizaNo alanının hiç gönderilmediÄi durum): \ni. Rıza durumu Yetki Bekleniyor - B ise; \n    HHS, sistemde Yetki Bekleniyor - B rıza durumuna sahip kayıt olduÄu için, öncelikle eski kaydı Yetki İptal - I durumuna getirir. Rıza İptal Detay Kodu âYeni Rıza Talebi ile iptalâ olmalıdır. B ⨠I / 01 Sonrasında, Yetki Bekleniyor - B rıza durumu ile yeni rıza oluÅturur. \n \n     ii. Rıza durumu Yetkilendirildi - Y veya Yetki Kullanıldı - K ise; \n    ÃHK'nın halihazırda verilmiÅ bir rızası vardır. HHS, önce mevcut rızanın iptalinin yapılması gerektiÄine dair TR.OHVPS.Business.ConsentAlreadyExists hatasını döner. YÃS, HHS ya da YÃS uygulaması üzerinden bu rızanın iptal edilmesi gerektiÄine dair ÃHK'ya bilgilendirme yapar. \n     iii.\tRıza durumu Yetki Sonlandırıldı - S ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n     iv.\tRıza durumu Yetki İptal - I ise Yetki Bekleniyor - B durumunda yeni rıza no oluÅturur. \n \n \n BaÅlatılan rıza isteÄi güncelleme akıÅı ile baÅlatılması durumunda oncekiRizaNo deÄeri rıza isteÄinde bulunan ÃHKâya ait olmalıdır. ÃHKâya ait olmaması durumunda TR.OHVPS.Business.CustomerNotFound hatası dönülür. Aynı ÃHK olması durumunda ; \n i. Ãnceki Rıza durumu B: Yetki Bekleniyor , Y: Yetkilendirildi ya da I :Yetki İptal ise; TR.OHVPS.Business.ConsentStatusNotforUpdate hatası verilecektir. \n ii. Yetki Kullanıldı - K ise; hesap rızası baÅarılı gerçekleÅtiriliyor olup Yetki Bekleniyor - B durumunda yeni bir rıza oluÅturulur. Ãnceki hesap bilgisi rızası durumunda bir güncelleme yapılmaz. \n iii. Yetki Sonlandırıldı - S ise; Rıza Güncelleme Zamanı kontrol edilir. \n â¢\tSonlandırıldı statüsüne geçmesiyle birlikte rıza güncelleme zamanı üzerinden 30 gün geçmiÅ ise TR.OHVPS.Business.ConsentStatusNotforUpdate hatası verilir. \nâ¢\t30 gün geçmemiÅ ise; hesap rızası baÅarılı gerçekleÅtiriliyor olup Yetki Bekleniyor - B durumunda yeni bir rıza oluÅturulur. Ãnceki hesap bilgisi rızası durumunda bir güncelleme yapılmaz. \n \n \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında Rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Tarayıcıyı kapatmıŠolabilir) Rıza Yetki Bekleniyor - B rıza durumunda kalır. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B rıza durumundaki kayıtlar Yetki İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. B ⨠I / 04 Bkz. 9. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında/kartlarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n Fraud Åüphesi Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 99 \n \n \n \n \n \n \n EriÅim Belirteci API \n a. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında;
16 \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B ya da Yetki Kullanıldı - K ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n ⢠Hesap Rızası Güncelleme akıÅı ile hesap bilgi rızası güncelleniyor ise yeni hesap bilgisi rızası K durumuna güncellendiÄinde önceki rıza no durumu I â 15 (Hesap Rıza Güncelleme ile İptal) ile iptale çekilir. \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Sorgulama: HBHS, rıza alma akıÅına baÅlamadan önce, daha önce oluÅturulmuÅ bir hesap bilgisi-rizasi kaynaÄının durumunu, isteÄe baÄlı olarak alabilir. Rıza numarası ile sorgulama yapılır. \n \n \n Hesap Bilgisi Rızasının İptali: HBHS üzerinden ya da HHS üzerinden yapılan rıza iptallerinde Rıza durumu Yetki İptal - I olarak güncellenir. Rıza numarası ile iptal saÄlanır. \n a. HHS üzerinden rıza iptali yapmıŠolabilir. Rıza durumu sorgulanır. \n Rıza numarası Yetki Bekleniyor - B ve Yetkilendirildi - Y ve Yetki Kullanıldı - K durumlarında ise Yetki İptal durumuna getirilir. Rıza gnclzmn timestamp ile güncellenir.\nHHS, Rıza iptalinde aynı zamanda eriÅim belirtecini de invalid hale getirmelidir. \n B ⨠I / 02 \n Y ⨠I / 02 \n K ⨠I / 02 \n b.\tYÃS üzerinden yapılacak iptal iÅleminde yine Y ve B ve K rıza durumlarında ise iptal edilebilir. \n B ⨠I / 03 \n Y ⨠I / 03 \n K ⨠I / 03 \n Rıza durumu Yetki Sonlandırıldı - S ise iptal gerçekleÅmez. âRıza durumunuz iptal etmeye uygun deÄildir.â hatası ÃHK'ya yansıtılır. TR.OHVPS.Resource.ConsentRevoked \n \n \n ÃHKânın verdiÄi rıza süresi dolmuÅ olabilir.\nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde Rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldı durumuna çekilmelidir. K ⨠S \n \n \n Hesaplar, Bakiye ve İÅlemler servislerinde eriÅim belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır.\nGeçerli bir eriÅim belirteci yok ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n YÃS'ün; Rıza İptal - I ya da Yetki Sonlandırıldı - S rıza durumlarında Hesaplar, Bakiye ve İÅlemler servislerini çaÄırmaması beklenir. HHS'nin bu rıza durumları ile yapılmıŠçaÄrılar olduÄunda TR.OHVPS.Resource.ConsentRevoked hatasını dönmesi gereklidir. \n Rıza durumu Yetki Kullanıldı - K dıÅında ise TR.OHVPS.Resource.ConsentMismatch hatası verilmelidir. \n Rıza durumu Yetki Kullanıldı - K ise servis akıÅlarına devam edilir. \n Rıza sorgulama API'sinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir âYetki Bekleniyorâ durumunda kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir âYetkilendirildiâ durumunda kalan kayıtlar güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı: Yetkilendirildi B ⨠I / 05 \nYukarıda bahsedilen, YÃS Süre AÅımı nedeniyle rıza iptal durum güncellemelerini y
16apmadan önce HHSâyi sorgulayarak rıza durumunu öÄrenmeli ve süre aÅımı dıÅında bir kodu varsa aynı kodla kendi sistemini güncellemelidir. \nEriÅimin Geçerli OlduÄu Son Tarih geldiÄinde rıza durumu Yetki Kullanıldıâdan Yetki Sonlandırıldıâya güncellenir. K ⨠S \n 4.2.\tÃdeme Bilgisi Hizmeti Rıza Durum DeÄiÅiklikleri \n Kural : Bir ÃHK'nın bir YÃS için bir HHS'de istediÄi kadar rızası olabilir. \n Kurum ve kiÅisel rıza aynı anda mevcut olabilmelidir. Rıza nesneleri, HHS tarafından uygun Åekilde yönetilmelidir. \n \n \n Ãdeme Emri Rızası isteÄi HHSâye iletilir. İçeride rıza olup olmamasına bakılmaksızın Yetki Bekleniyor - B rıza durumu ile yeni rıza no oluÅturur. \n \n \n GKD baÅarılı bir Åekilde tamamlandıÄında rıza durumu Yetki Bekleniyorâdan Yetkilendirildiâye güncellenir. B ⨠Y \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdar olmayabilir. \n ÃHK GKD yapmadan ayrılmıŠolabilir. (ÃR: Browserı kapatmıŠolabilir)\nRıza durumu Yetki Bekleniyor'dur. 5 dakika içerisinde sistem tarafından Yetki Bekleniyor - B durumundaki kayıtlar Rıza İptal : Yetki Bekleniyor Süre AÅımı olarak güncellenir. Bkz. 8. Madde. \n \n \n GKD'nin gerçekleÅmediÄi durumlardan HHS haberdardır. HHS yonlendirme adresinin query parametrelerine rizaIptDtyKod deÄerini ekleyerek bu durumu YÃSâe bildirmek zorundadır. \n \n \n Rıza durumunun âYetkilendirildi\" , âYetki Kullanıldıâ olduÄu durum. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 07 \n \n \n Rızano ile kimlik bilgileri uyuÅmazlıÄı. Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 08 \n \n \n ÃHK'nın HHS'de ilgili ürününün olmadıÄı durum (hesap/kart) Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 09 \n \n \n Açık bankacılık kanalınız iÅleme kapalıdır.Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 10 \n \n \n Kullanıcının HHS'deki hesaplarında yeterli yetkisinin olmama durumu Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 11 \n \n \n HHSânin ÃHK için yaptıÄı kontrollerin baÅarısız olduÄu durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 12 \n \n \n ÃHK isteÄi ile GKDâden vazgeçildiÄi durum Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 13 \n \n \n Fraud Åüphesi Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 14 \n \n \n DiÄer Yetki Bekleniyor ⨠Yetki İptal B ⨠I / 99 \n \n \n \n \n \n \n GKD muafiyeti olduÄunda YÃS HHSâden arka planda onay alır. Bu onay sırasında rıza durumu Yetkilendirildi yapılır. B ⨠Y \n \n \n EriÅim Belirteci API \na. EriÅim Belirteci'nin yetkilendirme kodu ile çaÄrımı yapıldıÄında; \n     i. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    ii. Rıza durumu Yetki Bekleniyor - B , Yetki Kullanıldı - K ya da Yetki ödeme emrine dönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iii. Rıza durumu Yetkilendirildi - Y olduÄunda eriÅim belirteci tahsis edilir.\nEriÅim belirteci alındıÄında rıza durumu K: Yetki Kullanıldı yapılır. Y â¨K \n b. Yenileme belirteci karÅılıÄı eriÅim belirteci alınması sırasında; yenileme belirteci kontrolü ve sonrasında rıza kontrolü yapılmalıdır. \n     i. Ãncelikle Yenileme Belirteci Geçerlik Süresi kontrolü yapılmalıdır. Geçerli bir Yenileme Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n    ii. Rıza durumu Yetki İptal - I ya da Yetki Sonlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n    iii. Rıza durumu Yetki Bekleniyor - B ya da Yetkilendirildi - Y ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n    iv. Rıza durumu Yetki Kullanıldı - K veya Yetki Ãdeme Emrine DönüÅtü â E olduÄunda, yenileme belirteci karÅılıÄı eriÅim belirteci tahsis edilir. \n \n \n Ãdeme BaÅlatma API önce eriÅim belirteci ve sonrasında rıza kontolü yapılarak gerçekleÅtirilmelidir \n \n Ãncelikle EriÅim Belirteci kontrolü yapılmalıdır. Geçerli bir EriÅim Belirteci olmadıÄı görülür ise TR.OHVPS.Connection.InvalidToken hatası dönülmelidir. \n Rıza durumu Yetki İptal - I ya da Yetki S
16onlandırıldı - S ise TR.OHVPS.Resource.ConsentRevoked hatası dönülmelidir. \n Rıza durumu Yetki Bekleniyor - B , Yetkilendirildi - Y, Yetki Ãdeme Emrine DönüÅtü - E ise TR.OHVPS.Resource.ConsentMismatch hatası dönülmelidir. \n Rıza durumu Yetki Kullanıldı - K olduÄunda ödeme emri gerçekleÅtirilir. Rıza durumu Yetki Kullanıldı - K'dan Yetki Ãdeme Emrine DönüÅtü â E yapılmalıdır. K â¨E \n \n \n \n Sorgulama: GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlarda, ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, ödemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır.\nRıza sorgulama, Ãdeme Emri Sorgulama API'lerinde ilgili rıza kaydı bulunamaz veya sorgulayan kurumun yetkisi yoksa (örn : YÃSâün farklı bir YÃSâe ait rıza noyu sorgulaması) \n TR.OHVPS.Resource.NotFound hatası verilmelidir. \n \n \n Ãdeme Emri Rızasının İptali bulunmamaktadır. \n \n \n HHS/YÃS tarafında rıza bilgileri belirli aralıklarla sistem kullanıcısı tarafından taranır:\n5 dakikadan uzun süredir Yetki Bekleniyor'da kalan kayıtların durumları güncellenir.\nYetki Bekleniyor ⨠Rıza İptal / Süre AÅımı : Yetki Bekleniyor B ⨠I / 04 \n 5 dakikadan uzun süredir Yetkilendirildi'de kalan kayıtlar durumları güncellenir.\nYetkilendirildi ⨠Rıza İptal / Süre AÅımı : Yetkilendirildi B ⨠I / 05 \n 5 dakikadan uzun süredir Yetki kullanıldı'da kalan kayıtlar durumları güncellenir.\nYetki kullanıldı ⨠Rıza İptal / Süre AÅımı : Yetki Ãdemeye DönüÅmedi B ⨠I / 06 \n Yenileme belirteci Son Tarih geldiÄinde rıza durumu Yetki ödeme emrine dönüÅtüâden Yetki Sonlandırıldı'ya güncellenir. \n E ⨠S \n \n \n GKD muafiyeti sadece ödeme baÅlatma servislerinde bulunmaktadır. \n \n \n"},{title:"12.\tOlay Bildirim",frontmatter:{},regularPath:"/v2.0.1/contents/olay-bildirim.html",relativePath:"v2.0.1/contents/olay-bildirim.md",key:"v-0219a13d",path:"/v2.0.1/contents/olay-bildirim.html",headers:[{level:2,title:"Genel Bilgiler",slug:"genel-bilgiler"},{level:2,title:"Olay Abonelik Servisleri (OAS)",slug:"olay-abonelik-servisleri-oas"},{level:2,title:"ADIM 1: Olay AboneliÄinin gerçekleÅtirilmesi",slug:"adim-1-olay-aboneliginin-gerceklestirilmesi"},{level:2,title:"ADIM 2: Olay AboneliÄinin güncellenmesi",slug:"adim-2-olay-aboneliginin-guncellenmesi"},{level:2,title:"ADIM 3: Olay AboneliÄinin sorgulanması",slug:"adim-3-olay-aboneliginin-sorgulanması"},{level:2,title:"ADIM 4: Olay AboneliÄinin iptali",slug:"adim-4-olay-aboneliginin-iptali"},{level:2,title:"ADIM 5: Olay AboneliÄinin İletilemeyen Olayları",slug:"adim-5-olay-aboneliginin-iletilemeyen-olayları"},{level:2,title:"ADIM 6: Sistem Olay Dinleme",slug:"adim-6-sistem-olay-dinleme"},{level:2,title:"Olay Dinleme Servisleri (ODS)",slug:"olay-dinleme-servisleri-ods"},{level:2,title:"ADIM 1: Olay Dinleme",slug:"adim-1-olay-dinleme"},{level:2,title:"ADIM 2: Sistem Olay Dinleme",slug:"adim-2-sistem-olay-dinleme"}],content:" 12.\tOlay Bildirim \n Genel Bilgiler \n Olay Bildirim Abonelik API servisleri, HHS'lerin sunmuÅ oldukları olay bildirimlerini takip etmek amacıyla abonelik akıÅlarını tanımlar. \n YÃS'ler olay bildirimlerini takip edebilmek için talep ettikleri abonelik hizmetlerini belirterek HHS'ler özelinde bir abonelik kaydı oluÅtururlar. Bu abonelik kaydını okuyabilir, güncelleyebilir ya da silebilirler. \n Olay bildirimleri HHS'ler tarafından 2 yöntem ile saÄlanır. İlki olay bildirimlerinin anlık olarak iletilmesi, diÄeri ise anlık iletilemeyen olayların toplu olarak iletilmesidir. \n Olay Bildirimi 2 API ile yönetilecektir. \n 1 - Olay Abonelik Servisleri (OAS) \n2 - Olay Dinleme Servisleri (ODS) \n Olay Abonelik ve Olay Dinleme API'lerinin istek ve yanıt baÅlıÄında beklenen parametreler ÃBH,HBH,GKD API'lerinden farklıdır.\n 3.15. İstek BaÅlıÄı ve 3.16. Yanıt BaÅlıÄı bölümlerinde zorunlu parametreler ve açıklamaları belirtilmiÅtir. \n Olay Abonelik Servisleri (OAS) \n Olay abonelik Servisleri; HHS'ler tarafından sunulacak olay bildirim abonelik servislerini ve iletilemeyen olaylar servisini içermektedir. \n HHS'nin sunacaÄı bu API ile YÃS'ler Åu adımları gerçekleÅtirebilir. \n \n YÃS'ün olay bildirimlerini dinleyebilmek için öncelikle dinlemek istediÄi olaylara ait olay tipleri ve kaynak tiplerini belirlemesi gerekmektedir. \n Olay tipleri ve kaynak tiplerinin neler olacaÄı \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda belirtilmiÅtir. \n YÃS, belirlediÄi olaylar için HHS'ye olay abonelik endpointi aracılıÄı ile abonelik baÅlatır. \n YÃS, abonelik numarası aracılıÄı ile abonelik bilgilerini görüntüleyebilir, güncelleyebilir, silebilir. \n YÃS, olay bildirimlerini bu abonelik sayesinde kendisinin sunacaÄı Olay Dinleme API'si ile dinler. \n HHS anlık iletemediÄi olaylarını biriktirerek, iletilemeyen olaylar endpointi ile YÃS'e sunar. \n \n HHS'ler \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda belirlenen olay ve kaynak tiplerinin tümü için YÃS'lere bildirim sunmak zorundadır. \n Olay Abonelik Servislerinde Idempotency kurallarının iÅletilmesine gerek bulunmamaktadır. \n Nezdinde ödeme hesabı bulunduran bazı hesap hizmeti saÄlayıcılar(EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları, diÄer HHS'lerdeki havuz hesaplarını kullanarak yönetiyor olabilir. Bu durum ilgili hesap hizmeti saÄlayıcılarının, ÃHVPS kapsamında HHS olduÄu rolde sunması gereken olay bildirim servisleri ile ilgili uyması gereken kuralları deÄiÅtirmemektedir. İlgili hesap hizmeti saÄlayıcılarının standartlara uygun Åekilde YÃS'lere bildirimleri yapması gerekmektedir. \n YÃS'ler sahip oldukları rol özelinde olay abonelik servislerinden faydalanabilir. Bu yüzden olay bildirim etki alanı (scope) deÄerleri hesap_bilgisi ve/veya odeme_emri olarak belirlenmiÅtir. \n Olay Abonelik Servisine ait API Endpointleri aÅaÄıdaki tabloda listelenmiÅtir. \n Olay Abonelik Servisleri için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âhesap_b
16ilgisiâ \"odeme_emri\" \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n olay-abonelik \n POST \n /olay-abonelik \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n OlayAbonelikİstegi \n OlayAbonelik \n \n \n 2 \n olay-abonelik \n GET \n /olay-abonelik \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n \n - \n OlayAbonelik \n \n \n 3 \n olay-abonelik/{olayAbonelikNo} \n PUT \n /olay-abonelik/{olayAbonelikNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n \n OlayAbonelik \n OlayAbonelik \n \n \n 4 \n olay-abonelik/{olayAbonelikNo} \n DELETE \n /olay-abonelik/{olayAbonelikNo} \n Z \n İstemci Kimlik Bilgileri \n - \n - \n - \n - \n \n \n 5 \n olay-abonelik/{olayAbonelikNo}/iletilemeyen-olaylar \n GET \n /olay-abonelik/{olayAbonelikNo}/iletilemeyen-olaylar \n Z \n İstemci Kimlik Bilgileri \n - \n Sayfalama \n \n Olaylar \n \n \n 6 \n sistem-olay-dinleme \n POST \n sistem-olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n
16- \n - \n Olaylar \n - \n ADIM 1: Olay AboneliÄinin gerçekleÅtirilmesi \n POST /olay-abonelik \n HHS'nin olay abonelik hizmeti sunduÄu servistir.\nYÃS, seçeceÄi olay-kaynak tipleri için bu servis aracılıÄı ile abone olabilir. HHS POST iÅlemi sonucunda, YÃS adına bir olay abonelik kaynaÄı oluÅturur ve tekil tanımlayıcı olan olayAbonelikNo deÄerini döner. olayAbonelikNo üretilirken farklı YÃS'ler için aynı deÄer kullanılamaz. olayAbonelikNo evrensel tekil olmalıdır. \n1 YÃS'ün 1 HHS'de 1 adet abonelik kaydı olabilir. \nBaÅarılı POST isteÄi sonucu HTTP 201 cevabı ile iletilmelidir. \n YÃS tarafından daha önce oluÅturulmuÅ olay abonelik kaydı varsa \"HTTP 400 -TR.OHVPS.Business.EventSubscriptionAlreadyExists\" hatasıyla uyarı mesajını döner. \n Olay Abonelik kaydı oluÅturmak isteyen YÃS'ün ODS API tanımı HHS tarafından kontrol edilmelidir. YÃS'ün tanımı olmaması halinde \"HTTP 400-TR.OHVPS.Business.InvalidContent\" hatası verilmelidir. \n Olay Abonelik kaydı oluÅturmak isteyen YÃS tarafından olay tipi ve kaynak tipi için iletilen deÄerler olması gereken sıralı veri tülerinden(TR.OHVPS.DataCode.OlayTip ve TR.OHVPS.DataCode.KaynakTip) farklı ise HHS tarafından \"TR.OHVPS.Business.EventSubscriptionNotFound\" hatası verilmelidir. \n Abonelik üzerinde görüntüleme, güncelleme, silme iÅlemlerini gerçekleÅtirebilir.\nYÃS'ün AboneliÄi devam ettiÄi sürece; YÃS'ün açacaÄı Olay Dinleme API'sine, HHS tarafından abonelik kapsamında olay bildirimleri iletilir. \n BKM'nin sunacaÄı abonelik servisleri için HHS ve YÃS'lerin abonelik isteÄi yapmasına gerek bulunmamaktadır. BKM üretim ortamı tanımları yapılırken katılımcıları abonelik servislerine üye yapacaktır. BKM'nin sunacaÄı abonelik servislerinin olay tipi \"HHS_YOS_GUNCELLENDI\"dir. HHS ve YÃS API ile sunulan bilgilerde bir deÄiÅiklik olduÄunda yapılacak olay bildirimlerini saÄlar.\nÃrneÄin; HHS logo bilgilerinde yapılacak bir deÄiÅiklik sonrasında, YÃS'lere yapılacak bildirim ile logo bilgisini deÄiÅen HHS'nin hhsKod deÄerini iletir. YÃS, HHS API'yi hhsKod ile çaÄırarak HHS'nin güncel bilgilerini alır. Güncel bilgiler ile kendi sistemini günceller. \n Olay tipi ve kaynak tipine ekleme yapıldıkça YÃS'lerin olay abonelik kayıtlarını yeni tipleri içerecek Åekilde güncel tutması gerekmektedir. \n OlayAbonelikIstegi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n \n \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n YÃS abone olmak istediÄi olay tiplerini TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄer ya da deÄerler ile doldurur. \n \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda \"Olay Bildirim Yapan\" kolonu \"HHS\" olan olay tipleri ile veri giriÅine izin verilir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n Olay tiplerinin tanımlanabildiÄi kaynak listesi bulunmaktadır. Bu listeye uygun kaynak tipleri iletilmelidir. \n HHS, YÃS API üzerinden YÃS'ün rollerini alarak uygun kaynak tiplerine kayıt olmasını saÄlar. \n \n \n \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası iletilebilir. İlk deÄeri olay abonelik oluÅturma zamanı bilgisidir. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n \n \n \n \n Olay Tipleri ve Kaynak Tipleri İliÅkisi \n * Anlık : Olay gerçekleÅtikten sonra maksimum 5 saniye içerisindeki zaman \n \n \n \n Olay Tipleri \n YÃS Rolü \n Kaynak Tipleri \n Olay OluÅturulma durumu \n KaynakNo \n Asıl verinin elde edileceÄi API \n Olay Bildirimini Yapan \n Olay Bildirim Zamanı \n Retry Policy \n \n \n \n \n KAYNAK_GUNCELLENDI \n ÃBH \n ODEME_EMRI \n Tüm ödeme durum deÄiÅikliklerinde \n odmEmrNo \n GET /odeme-emri/{odemeEmriNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n ILERI_TARIHLI_ODEME_EMRI_RIZASI \n Rıza iptal detay kodu â02â : Kullanıcı İsteÄi ile HHS üzerinden İptal durumunda \n rizaNo \n GET /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n ILERI_TARIHLI_ODEME_EMRI \n Tüm ödeme durum deÄiÅikliklerinde, ödeme emri içerisinde yer alan tutar, talimat tarihi deÄiÅikliklerinde \n odmEmrNo \n GET /ileri-tarihli-odeme-emri/{odemeEmriNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n DUZENLI_ODEME_EMRI_RIZASI \n Rıza iptal detay kodu â02â : Kullanıcı İsteÄi ile HHS üzerinden İptal durumunda \n rizaNo \n GET /duzenli-odeme-emri-rizasi/{rizaNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n DUZENLI_ODEME_PLANI \n Düzenli ödeme planı içerisinde yer alan herhangi bir alan için deÄiÅiklik olduÄu durumda \n tlmtNo \n /duzenli-odeme-emri/{tlmtNo}/odeme-plani \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n ÃBH \n DUZENLI_ODEME_EMRI \n Düzenli ödeme emri içerisinde gönderen hesap ve açıklama alanlarına dair deÄiÅiklik olduÄu durumda \n tlmtNo \n /duzenli-odeme-emri/{tlmtNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n Rıza iptal detay kodu â02â : Kullanıcı İsteÄi ile HHS üzerinden İptal durumunda ve Rıza iptal detay kodu â09â : Uygun ürünü bulunmuyor durumunda \n rizaNo \n GET /hesap-bilgisi-rizasi/{rizaNo} \n HHS \n *Anlık \n 30 Dakika - 3 Deneme \n \n \n \n HBH \n BAKIYE \n Bakiye nesnesindeki tutarla ilgili bir bilgi deÄiÅtiÄinde ve HBH rızası içerisinde \"06-Anlık Bakiye Bildirimi\" izin türü varsa oluÅturulur. Mevcutta alınmıŠrızalar için bakiye kaynak tipi özelinde 06 izin türü gerektiÄinden; mevcut rızanın yenilenmesine dair müÅteriye bilgilendirme yapılarak 06 izin türünü kapsayan yeni rıza alınması süreci YÃS tarafından gerçekleÅtirilebilir. Bloke tutar deÄiÅikliÄi için olay oluÅturma ve bildirimi HHS inisiyatifindedir. KrdHsp içerisinde yer alan kulKrdTtr deÄerinin deÄiÅtiÄi durumda olay bildirim gönderilmesi gerekmektedir. \n hspRef \n GET /hesaplar/{hspRef}/bakiye, GET /hesaplar/{hspRef}/islemler \n HHS \n Maksimum 10 dakika içerisinde \n Retry policy uygulanmamalıdır. İlk istek gönderilemediÄi durumda İletilemeyen Olaylara eklenmelidir. \n \n \n \n HBH \n KART_BILGILERI \n Kart bilgileri nesnesindeki kart statüsü veya ekstre türleri içerisinde sadece yeni bir esktre türü eklendiÄinde oluÅturulur. Ekstre türünde azaltma yönünde güncelleme varsa olay bildirimi gönderilmemelidir. YÃS'e kart statüsünün veya ekstre türlerinin deÄiÅtiÄine dair olay bildirimi gönderilir. \n kartRef \n GET /kartlar, GET /kartlar/{kartRef}, GET /kartlar/{kartRef}/kart-detay, GET /kartlar/{kartRef}/kart-hareketleri \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n HBH \n COKLU_ISLEM_TALEBI ( bulk-data) \n İlgili API İlke ve kurallarına eklendiÄinde güncellenecektir. \n \n \n HHS \n \n 30 Dakika - 3 Deneme \n \n \n AYRIK_GKD_BASARILI \n ÃBH \n ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}}&rizaTip=O \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}&rizaTip=H \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n ÃBH \n ILERI_TARIHLI_ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}}&rizaTip=I \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n ÃBH \n DUZENLI_ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıÄında rıza oluÅturulur. YÃS'e rıza oluÅturulduÄuna dair bildirim yapılır. YÃS yetkod deÄerini sorgulama sonucunda elde eder. \n RizaNo \n GET /yetkilendirme-kodu?rizaNo={rizaNo}}&rizaTip=D \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n AYRIK_GKD_BASARISIZ \n ÃBH \n ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /odeme-emri-rizasi/{RizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n HBH \n HESAP_BILGISI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /hesap-bilgisi-rizasi/{RizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n ÃBH \n ILERI_TARIHLI_ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n \n ÃBH \n DUZENLI_ODEME_EMRI_RIZASI \n HHS sisteminde ÃHK kendini doÄruladıktan sonra yaptıÄı kontroller neticesinde logine izin vermez ise YÃS'e bildirim yapılır. YÃS rıza durumunu sorgulayarak iÅlemin neden iletilmediÄine dair bilgi edinebilir. \n RizaNo \n GET /duzenli-odeme-emri-rizasi/{rizaNo} \n HHS \n *Anlık \n 1 Dakika 3 kez \n \n \n HHS_YOS_GUNCELLENDI \n \n \n BKM sistemi tarafından üretilecek olayları dinlemek için kullanılacak kaynak tipidir. YÃS ve HHS'lerin BKM'ye abonelik oluÅturmasına gerek bulunmamaktadır. BKM HHS ve YÃS üretim ortamı tanımı yaparken abonelikler
16ini baÅlatacaktır. (HHS yaygınlaÅtırma durumundayken de aboneliÄi baÅlatılacaktır.) \n \n \n HHS \n \n \n \n \n \n YÃS \n HHS \n HHS bilgilerinde deÄiÅiklik olduÄunda, YÃS'ün hhsKod ile sorgulama yapması ve deÄiÅen bilgiyi güncellemesi beklenmektedir. \n hhsKod \n GET /hhs/{hhsKod} \n BKM \n *Anlık \n 5 Dakika - 3 Deneme \n \n \n \n HHS \n YOS \n YÃS bilgilerinde deÄiÅiklik olduÄunda, HHS'nin yosKod ile sorgulama yapması ve deÄiÅen bilgiyi güncellemesi beklenmektedir. \n yosKod \n GET /yos/{yosKod} \n BKM \n *Anlık \n 5 Dakika - 3 Deneme \n \n \n \n * Anlık : Olay gerçekleÅtikten sonra maksimum 5 saniye içerisindeki zaman \n ADIM 2: Olay AboneliÄinin güncellenmesi \n PUT\tolay-abonelik/{olayAbonelikNo} \n YÃS'ün olay aboneliÄine ait abonelik tiplerini güncelleyebildiÄi servistir. Olay aboneliÄi oluÅturulduÄu zaman HHS tarafından iletilen olayAbonelikNo aracılıÄı ile güncelleme iÅlemi yapılır. YÃS abone olmak istediÄi olay-kayıt tiplerininin son halini güncelleme servisi ile HHS'ye iletir. HHS bu bilgilerle eski abonelik tiplerinin yerini deÄiÅtirir. \n BaÅarılı PUT isteÄi sonucu HTTP 200 cevabı ile iletilmelidir. \n OlayAbonelikIstegi nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n HHS geçerli bir olay abonelik numarası olduÄunun kontrolünü yapar. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n HHS Sisteminde, YÃS'ün eski abonelikleri yeni aboneliklerle güncellenmelidir. \n \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n YÃS abone olmak istediÄi olay tiplerini TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄer ya da deÄerler ile doldurur. \n \"Olay Tipleri ve Kaynak Tipleri İliÅkisi\" tablosunda \"Olay Bildirim Yapan\" kolonu \"HHS\" olan olay tipleri ile veri giriÅine izin verilir. Olay tipi AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ için, YÃS'ün ODS API'yi sunması zorunludur. HHS, bu olay tipleri özelinde YÃS API üzerinden YÃS'ün bu API'yi sunduÄunu kontrol eder ve eÄer sunmuyor ise TR.OHVPS.Business.InvalidContent hatası dönerek kayıt iÅlemini gerçekleÅtirmez. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n Olay tiplerinin tanımlanabildiÄi kaynak listesi bulunmaktadır. Bu listeye uygun kaynak tipleri iletilmelidir. \n HHS, YÃS API üzerinden YÃS'ün rollerini alarak uygun kaynak tiplerine kayıt olmasına izin verir. \n \n \n \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n OlayAbonelikIstegi nesnesi içerisinde iletilen deÄerlerin yanıt içerisinde dönmesi beklenmektedir. \n ADIM 3: Olay AboneliÄinin sorgulanması \n GET /olay-abonelik \n YÃS olay abonelik bilgilerini sorgulamak isteyebilir. HHS, YÃS'e ait aktif durumdaki abonelik bilgisini iletir.\nBaÅarılı GET sonucu HTTP 200 kodu ile iletilmelidir. \n OlayAbonelik nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Olay Abonelik Numarası \n olayAbonelikNo \n AN1..64 \n Z \n YÃS özelinde oluÅturulan tekil tanımlayıcıdır. Farklı YÃS'ler için aynı deÄer kullanılamaz. \n \n \n Olay Abonelik OluÅturulma zamanı \n olusturmaZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin oluÅturulma zaman damgası \n \n \n Olay Abonelik Güncelleme zamanı \n guncellemeZamani \n ISODateTime \n Z \n Olay Abonelik nesnesinin güncelleme zaman damgası \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Abonelik Tipleri \n abonelikTipleri \n Kompleks: abonelikTipleri[Array][1..N] \n Z \n YÃS'ün abone olduÄu olay - kaynak listesini döner. \n \n \n > Olay Tipi \n olayTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden deÄerler içerir. \n \n \n > Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden deÄerler içerir. \n ADIM 4: Olay AboneliÄinin iptali \n DELETE /olay-abonelik/olayAbonelikNo \n YÃS'ün abonelik kaydını silmesi için HHS'nin sunduÄu servistir. BaÅarılı silme iÅlemi sonucu HTTP 204 ile YÃS'e iletilir. \n ADIM 5: Olay AboneliÄinin İletilemeyen Olayları \n GET /iletilemeyen-olaylar \n HHS kaynaklar üzerinde oluÅacak olayları YÃS'e POST/olay-dinleme servisi ile gönderim saÄlamaktadır. Bu gönderim belli bir yeniden gönderim politası (retry-policy) ile yapılmalıdır. Ancak yine de iletilemeyen olaylar olursa (YÃS servisinden HTTP 202 alamama durumu) YÃS'e iletilemeyen-olaylar servisi üzerinden sunulmalıdır. Yani yeniden gönderim politikası sonunda gönderilemeyen olaylar bu servis ile sunulmalıdır. \n Aynı kaynak numarası ile aynı olay-kaynak tipinde, 1 YÃSâe ait, 1 adet iletilemeyen olay kaydı olabilir. \n Bu serviste 1 gün öncesinden sorgu anına kadar tüm kayıtlarına ait iletilemeyen olaylar listelenmelidir.\nÃrnek sorgu zamanı : 2023-04-06T15:14:00+03:00\nHHS'nin sunacaÄı veri 2023-04-05T00:00:00+03:00 ile 2023-04-06T15:14:00+03:00 arasında olmalıdır.\nSıralama yönü olay tarihine göre artan Åekilde olmalıdır. Sayfalama 100'er kayıt dönülerek yapılmalıdır. \n YÃS tarafından iletilemeyen olaylar isteÄi 10 dakikada bir olacak Åekilde yapılabilir. HHS bu limite uygun iÅlem kısıtı uygulayabilir. \n İÅlem Sorgu ÃrneÄi GET İÅlem Sorgu ÃrneÄi : /iletilemeyen-olaylar?syfNo=1&olyZmnBslTrh=2024-01-08T16:42:00+03:00&olyZmnBtsTrh=2024-01-09T17:09:00+03:00 \n ÃrneÄin; \n olyZmnBslTrh : 07/01/2024 10:00:00+03:00\n olyZmnBtsTrh : 09/01/2024 16:00:00+03:00\n Sorgu Zamanı : 09/01/2024 10:15:00+03:00 \n Yanıt içerisinde yer alan veriye ait tarih aralıÄı : 08/01/2024 00:00:00+03:00 - 09/01/2024 10:15:00+03:00 olmalıdır. \n BaÅlangıç ve bitiÅ zaman aralıÄı örnekte yer alan Åekilde seçilse dahi ilgili servis yanıtı için öncelikle sorgu zamanına bakılıp 1 gün öncesinden sorgu anına kadar tüm kayıtların iletilemeyen olaylar içerisinde listelenmesi saÄlanmalıdır. \n İlgili tarih aralıÄında uygun veri olmaması halinde yanıt gövdesi boÅ olacak Åekilde dönülmelidir. \n İletilemeyen Olaylar Sorgulama İsteÄi Sorgu Parametreleri \n \n \n \n Alan Adı \n Parametre Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından yapılması gereken kontrol ve iÅlemler \n \n \n \n \n İstenen Sayfa Numarasi \n syfNo \n N3 \n İ \n Cevapta dönecek sayfa numarası 1âden baÅlayarak artan deÄerlerle iletilmelidir. \n Bu veri gönderildiÄi durumda, HHS İletilemeyen Olaylar listesine ait bu sayfadaki kayıtları göndermelidir. GönderilmediÄinde, HHS ilk sayfadaki kayıtları göndermelidir. \n \n \n Olay Zamanı BaÅlangıç Tarihi \n olyZmnBslTrh \n ISODateTime \n İ \n Sorgulanacak Olay Zamanına ait baÅlangıç tarihi \n HHS'ler iletilemeyen olaylar listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından tetiklenen sorgularda; olyZmnBslTrh iletilmediÄi durumda ya da 1 gün öncesinin baÅlangıç saatine göre daha geri bir zaman dilimi gönderildiÄinde, baÅlangıç zamanı(olyZmnBslTrh) deÄeri sorgu zamanından 1 gün öncesine ait günün baÅlangıç zamanı olarak kabul edilmelidir. \n \n \n Olay Zamanı BitiÅ Tarihi \n olyZmnBtsTrh \n ISODateTime \n İ \n Sorgulanacak Olay Zamanına ait bitiÅ tarihi \n HHS'ler iletilemeyen olaylar listesi dönüÅünü bu kritere göre filtreleyerek iletmek zorundadır. YÃS tarafından tetiklenen sorgularda;
16 olyZmnBtsTrh iletilmediÄi durumda ya da sorgu zamanından daha ileri bir zaman dilimi gönderildiÄinde, bitiÅ zamanı(olyZmnBtsTrh) deÄeri sorgu zamanı olarak kabul edilmelidir. \n \n \n \n Tablo 17: Olaylar nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n Olaylar \n olaylar \n Kompleks: Olaylar \n Z \n \n \n \n >Olay No \n olayNo \n AN1..64 \n Z \n Olaya ait evrensel tekil numaradır. \n \n \n >Olay Zamani \n olayZamani \n ISODateTime \n Z \n Olayın oluÅtuÄu tarih bilgisidir. \n \n \n >Olay Tipi \n olayTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden birini alır. \n \n \n >Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden birini alır. \n \n \n >Kaynak Numarası \n kaynakNo \n AN1..128 \n Z \n Güncellenen kaynaÄa ait HHS sistemindeki tekil tanımlayıcı. \n \n \n \n Kaynak numarasında gönderilen deÄer ile ilgili kaynaÄı sorgulayarak almak YÃS'ün insiyatifindedir. \n ADIM 6: Sistem Olay Dinleme \n POST /sistem-olay-dinleme \n HHS'lerin sistem olaylarını dinleme amacıyla açması gereken endpoint bilgisidir. \n YÃS API içerisinde yapılan deÄiÅikliklerde, BKM tarafından HHS'lere olay bildirimlerini yapılır. \n Olaylar yanıt nesnesi içerisinde 1 adet kayıt yer almalıdır. \n BaÅarılı POST isteÄi sonucu HTTP 202 Accepted kodu ile dönülmelidir. \n HHS'den baÅarılı yanıt alınamadıÄı durumda, 5 dakika aralıklarla 3 kez deneme yapılacaktır. Hata alınmaya devam edilmesi durumunda baÅka bir aksiyon alınmayacaktır. \n Olay Dinleme Servisleri (ODS) \n YÃS sunacaÄı Olay Dinleme Servisi ile hem HHS'den hem de BKM'den gelen olayların bildirimini dinleyebilir. YÃS'ler HHS'de yer alan olay abonelik kayıtlarını iptal edebilir ancak BKM Sistem Olay Dinleme servisinin ileteceÄi bildirimlerin alınması zorunlu olduÄundan ODS API her zaman aktif olmalıdır. \n HHS'den gelecek olay bildirimlerini olay-dinleme endpointi ile dinlerken, BKM'den gelecek olay bildirimlerini sistem-olay-dinleme endpointi ile dinlemelidir. \n Olay Dinleme Servislerinde Idempotency kurallarının iÅletilmesine gerek bulunmamaktadır. \n Olay Dinleme Servisine ait API Endpointleri aÅaÄıdaki tabloda listelenmiÅtir. \n Olay Dinleme Servisleri için EriÅim Adresleri (Endpoints) \n Etki Alanı (Scope) =âolay_dinlemeâ \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu (Z)/ İsteÄe BaÄlı(İ) \n Yetkilendirme Türü \n İmzalama \n Parametre \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n olay-dinleme \n POST \n /olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek \n - \n Olaylar \n - \n \n \n 2 \n sistem-olay-dinleme \n POST \n /olay-dinleme \n Z \n İstemci Kimlik Bilgileri \n
16- \n - \n Olaylar \n - \n ADIM 1: Olay Dinleme \n POST /olay-dinleme \n Olay abonelik servisi ile abone olunan olaylar, olay dinleme servisi ile YÃS'e iletilir.\nOlaylar yanıt nesnesi içerisinde en fazla 100 kayıt gönderilmelidir.\nBaÅarılı POST isteÄi sonucu HTTP 202 Accepted ile dönülmelidir. \n HHS'nin iÅlem hata aldıÄında, baÅarılı iÅlem olana kadar 3 kez deneme yapılması gerekmektedir.\nİlk istekle son istek arasında 30 dakika olacak Åekilde, zamana yayarak bu denemelerin yapılması gerekmektedir. (Exponential backoff policy uygulanması beklenmektedir. )\nHHS kendi sistemini yormayacak Åekilde, belirleyeceÄi kurallar dahilinde bu geliÅtirmeyi yapmalıdır. \n Tablo 17: Olaylar nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n >Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >>Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n >> Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n >Olaylar \n olaylar \n Kompleks: Olaylar \n Z \n \n \n \n >>Olay Numarası \n olayNo \n AN1..64 \n Z \n Olaya ait atanmıŠtekil kimlik numarası \n \n \n >>Olay Zamanı \n olayZamani \n ISODateTime \n Z \n Olayın oluÅma zamanı \n \n \n >>Olay Tipi \n olayTipi \n AN1..36 \n > \n TR.OHVPS.DataCode.OlayTip sıralı veri tiplerinden birini alır. \n \n \n >>Kaynak Tipi \n kaynakTipi \n AN1..36 \n Z \n TR.OHVPS.DataCode.KaynakTip sıralı veri tiplerinden birini alır. \n \n \n >>Kaynak Numarası \n kaynakNo \n AN1..128 \n Z \n Güncellenen kaynaÄa ait HHS sistemindeki tekil tanımlayıcı. \n ADIM 2: Sistem Olay Dinleme \n POST /sistem-olay-dinleme \n YÃS'lerin sistem olaylarını dinleme amacıyla açması gereken endpoint bilgisidir. \n HHS API içerisinde yapılan deÄiÅikliklerde, BKM tarafından YÃS'lere olay bildirimlerini yapılır. \n Olaylar yanıt nesnesi içerisinde 1 adet kayıt yer almalıdır. \n BaÅarılı POST isteÄi sonucu HTTP 202 Accepted kodu ile dönülmelidir. \n YÃS'ten baÅarılı yanıt alınamadıÄı durumda, 5 dakika aralıklarla 3 kez deneme yapılacaktır. Hata alınmaya devam edilmesi durumunda baÅka bir aksiyon alınmayacaktır. \n"},{title:"6.\tÃdeme Emri BaÅlatma Hizmeti",frontmatter:{},regularPath:"/v2.0.1/contents/odeme-emri-baslatma-hizmeti.html",relativePath:"v2.0.1/contents/odeme-emri-baslatma-hizmeti.md",key:"v-4700a39d",path:"/v2.0.1/contents/odeme-emri-baslatma-hizmeti.html",headers:[{level:3,title:"Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints)",slug:"odeme-emri-baslatma-hizmeti-icin-erisim-adresleri-endpoints"},{level:2,title:"6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi",slug:"_6-1-adim-0-odeme-emri-baslatma-istegi"},{level:2,title:"6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması",slug:"_6-2-adim-1-odeme-emri-rızasının-hazırlanması"},{level:2,title:"6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi",slug:"_6-3-adim-2-odeme-emri-rızasının-yetkilendirilmesi"},{level:2,title:"6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı)",slug:"_6-4-adim-2-1-odeme-emri-rızasının-sorgulanması-istege-baglı"},{level:2,title:"6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması",slug:"_6-5-adim-3-odeme-emrinin-olusturulması"},{level:2,title:"6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı)",slug:"_6-6-adim-3-1-odeme-emri-sorgusu-istege-baglı"},{level:3,title:"GET /odeme-emri/{odemeEmriNo}",slug:"get-odeme-emri-odemeemrino"}],content:" 6.\tÃdeme Emri BaÅlatma Hizmeti \n Ãdeme emri baÅlatma iÅlemi havale, FAST ya da PÃS ödemesiyle sonuçlanabilir. Ãdeme iÅleminin amacı kiÅiden kiÅiye para transferi, e-ticaret ödemesi gibi farklı ödeme türleri olabilir. Ãdemenin amacına göre ÃBHSânin ileteceÄi veri setinde farklılaÅmalar olabilir. \n Ãdeme Emri BaÅlatma Hizmeti 5 temel akıÅdan oluÅur: \n \n Ãdeme Emri BaÅlatma İsteÄinin tetiklenmesi: ÃHK ÃBHS mobil uygulama ya da websitesinden ödeme emrini baÅlatır. \n Ãdeme Emri Rıza Hazırlanması: ÃBHS, âÃdeme Emri BaÅlatmaâ iÅlemi için izin oluÅturulması isteÄini HHSâye iletir. \n Ãdeme Emri Rızasının Yetkilendirilmesi: HHS, gerekli gördüÄü durumlarda ÃHKâyı GKD ile doÄrular ve ödeme emri rızasına eriÅim için eriÅim belirteci tanımlanmasını temin eder. \n Ãdeme Emrinin BaÅlatılması: ÃBHS, âödeme emriâni HHSâye iletir. \n Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı Sorguları: ÃBHS, Ãdeme Emri Rıza Durumu, Ãdeme Emri Durumu, Ãdeme Emri Detayı bilgilerini isteÄe baÄlı olarak sorgulayabilir. \n \n Nezdinde ödeme hesabı bulunduran hesap hizmeti saÄlayıcılar(Banka, EPK, Ãdeme KuruluÅları) müÅterilerine ait hesapları hesap referansı ya da hesap numarası üzerinden takip etmektedir. YÃS'lerin hem HBH hem de ÃBH servisleri için hesap referansı veya hesap numarası üzerinden iÅlem yapılabileceÄini bilmeleri, sistemlerini API dokümanında belirtilen akıÅlara göre uyumlandırmaları ve müÅteri bilgilendirmesini(önyüzlerinde hesap no ve hesap referansı ayrımını gözeterek) buna paralel yapmaları beklenmektedir. \n YÃS'ler gönderen hesap seçimini aÅaÄıdaki yöntemlerden biri ya da birkaçı ile saÄlayabilirler: \n \n YÃS, müÅterisinin ödeme hesabını HHS ekranından seçtirebilir. \n YÃS, müÅterisinden Hesap Bilgisi rızası alır. Rıza aldıÄı hesaplar üzerinden hesap referansı aracılıÄı ile ödeme emri baÅlatabilir. \n YÃS, müÅterisinin ödeme hesabını elle girmesine olanak tanıyabilir. IBAN'ı olmayan HHS'ler ödeme emri rızası adımında TR.OHVPS.Business.IBANNotSupported hatasını vermelidir. IBAN'ı olan HHS'lerin bu akıÅı desteklemesi zorunludur. \n YÃS; müÅterisinin hesap referansını elle girmesini saÄlayabilir. Hesap Referansı bilgisi ile baÅlatılan ödeme emri iÅlemlerinde HHS seçimi zorunludur. \n \n Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler, müÅterilerine IBAN sunmadıkları için, YÃS'ler hesap referansı ile ödeme baÅlatabilirler. Bu
16nların dıÅındaki HHS'lerin, gönderen IBAN veya hesap referansı ile ödeme akıÅını desteklemesi zorunludur. \n \n Åekil 4: Ãdeme Emri BaÅlatma Hizmeti Ãst Düzey İŠAkıÅı \n Ãdeme Emri BaÅlatma Hizmeti için EriÅim Adresleri (Endpoints) \n Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adreslerinin Etki Alanı (Scope) = âodeme_emriâ olarak belirtilmelidir. \n Tablo 6: Ãdeme Emri BaÅlatma Hizmeti İçin EriÅim Adresleri \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Zorunlu / İsteÄe BaÄlı \n Yetkilendirme Türü \n İmzalama \n İstem Nesnesi \n Yanıt Nesnesi \n \n \n \n \n 1 \n odeme-emri-rizasi \n POST \n /odeme-emri-rizasi \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n OdemeEmriRizasiIstegi \n OdemeEmriRizasi \n \n \n 2 \n erisim-belirteci (GKD için) \n POST \n /erisim-belirteci \n Z \n İstemci Kimlik Bilgileri \n İmzalı İstek ve Yanıt \n ErisimBelirteciIstegi \n ErisimBelirteci \n \n \n 2.1 \n odeme-emri-rizasi \n GET \n /odeme-emri-rizasi/{rizaNo} \n Z \n İstemci Kimlik Bilgileri \n İmzalı Yanıt \n - \n OdemeEmriRizaYaniti \n \n \n 3 \n odeme-emri \n POST \n /odeme-emri \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı İstek ve Yanıt \n OdemeEmriIstegi \n OdemeEmri \n \n \n 3.1 \n odeme-emri \n GET \n /odeme-emri/{odemeEmriNo} \n Z \n İstemci Kimlik Bilgileri & Yetkilendirme Kodu (GKD) \n İmzalı Yanıt \n - \n OdemeEmri \n 6.1.\tADIM 0 - Ãdeme Emri BaÅlatma IsteÄi \n \n ÃHK, ÃBHS uygulamasında (web arayüzü/mobil uygulama) ödeme emri baÅlatma iÅlemine onay verir. \n Gönderen hesap detaylarının bu aÅamada belirtilmesi zorunlu deÄildir. \n 6.2.\tADIM 1 - Ãdeme Emri Rızasının Hazırlanması \n \n Åekil 5: Ãdeme Emri Rızasının Hazırlanması \n \n \n ÃBHS, ödeme hizmeti kullanıcı hesabının bulunduÄu HHSâye baÄlanarak ödeme emri rıza kaynaÄının oluÅturulmasını (odemeEmriRizasi) saÄlar. \n \n \n POST isteÄi TLS protokolü tesis edilen iletiÅim katmanı üzerinden gerçekleÅtirilir. TLS için nitelikli sertifikalar kullanılır. \n \n \n POST isteÄinin baÅlıÄındaki alanlar ve istemcinin sertifikasındaki özel alanlar kullanılarak istemcinin yetkilendirilmesi saÄlanır: \n \n İstekte bulunan ÃBHS yetkilendirilmiÅ olduÄu geçit tarafından kontrol edilir. \n İstekte bulunan yetkilendirilmiŠödeme hizmeti saÄlayıcısı ÃBHS rolüne sahipliÄi geçit tarafından kontrol edilir. \n HHS tarafından, istek baÅlıÄındaki x-aspsp-code ile katilimciBlg içerisinde yer alan hhsKod deÄeri ile aynı olduÄunu kontrol edilir. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n \n \n \n POST baÅarılı olursa, HHS, ödeme emri için içeride rıza olup olmamasına bakılmaksızın yeni bir rıza tanımlayıcısı RizaNo içeren odemeEmriRizasi yanıt olarak döner. \n \n \n 1 ÃHK'nın 1 YÃS için 1HHS'de istediÄi kadar rızası olabilir. \n \n \n HHS tarafında RizaDurumu deÄiÅkeninin durumu âYetki Bekleniyorâ olarak güncellenir. \n \n \n YÃSâün doÄrulama ekranı olarak ÃHKâya açacaÄı URL adresini de ilgili rıza numarasına göre oluÅturur. Burada 2 farklı yöntemle URL oluÅturabilir. \n \n Statik URL : \nHHSânin base pathi/alt-dizin/{rızaNo} \nÃrnek hhsYonAdr : https://xbank.com.tr/ohvps/cb54834e36f742d09af3d534ece3352a \nBu adres için ilgili doÄrulama sayfası önden hazırlanmalı ve ÃHKânın doÄrulama sayfasına eriÅimi için yayınlanmıŠolmalıdır (publish edilmelidir). \n Dinamik URL : \nHHSânin base pathi/alt-dizin/GKD KarÅılama Ekranı?rizano={rızano} \nÃrnek: https://xbank.com.tr/ohvps/gkd?rizano=cb54834e36f742d09af3d534ece3352a \n \n \n \n POST /odeme-emri-rizasi \n İSTEK: \n ÃBHS, bu API eriÅim adresinden HHSâye yeni bir OdemeEmriRizasi oluÅturulması için istekte bulunur: \n \n ÃBHS, ödeme emri baÅlatma isteÄi olduÄunu HHSâye bildirir. \n ÃBHS, ÃHKânın, ÃBHS arayüzünden verdiÄi rızanın (âÃn Onayâ) bir kopyasının HHS nezdinde müÅteri tarafından onaylanması için HHSâye gönderilmesini saÄlar. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini y
16apar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hata kodu iletilmeli ve fieldErrors dolu olacak Åekilde hatalı alanı belirten detaylı açıklama gönderilmelidir. InvalidFormat hata kodlarında fieldErrors içeriÄi gönderilmeli ve anlaÅılır açıklama ile message, messageTr alanları doldurulması zorunludur. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n HHS; YÃS API ile alınan ÃBHS bilgilerinin içerisinde yer alan yönlendirme adresleri ile ödeme emri rızası nesnesi request mesajında paylaÅılan adreslerin uyumlu olup olmadıÄının kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.TPPRedirectionAddressMismatch\" hatası dönülür. \n HHS; kimlik bilgileri nesnesinde eÄer kimlik bilgileri iletilmiÅ ise; bu veri ile ÃHKânın HHS müÅterisi olup olmadıÄının kontrollerini yapar. Bu kontrol hem bireysel hem de kurumsal ÃHKâlar için yapılmalıdır. (KoÅullu Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerNotFound\" hatası dönülür. Kurumsal müÅteri ile baÅlatılan rızada yer alan müÅteri bilgisinin karÅı kurumda Kurumsal müÅteri deÄil; bireysel müÅteri olduÄu durumda TR.OHVPS.Business.BusinessCustomerMismatch hatası dönülür. \n Ãdeme Emri BaÅlatma Hizmeti rıza isteÄinde bulunan ÃHKânın âAçık Bankacılık Kanal Yetkiâ tanımı yok ise \"TR.OHVPS.Business.OpenBankingChannelClosed\" hatası dönülür. HHS insiyatifinde olup HHS bu kontrolü GKD sonrası gerçekleÅtirebilir. \n HHS \"gkd\" nesnesi için alan kontrollerini gerçekleÅtirir. \"yetYntm\" = \"A\" gönderilmiÅ ise \"ayrikGkd\" nesnesinin dolu gönderilmesi zorunludur. Gönderilmemesi durumunda HHS tarafından \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n Ayrık GKD desteklemeyen HHS'ye Ayrık GKD yöntemiyle rıza baÅlatma isteÄi yapılması durumunda HHS tarafından \"TR.OHVPS.Business.DecoupledAuthenticationNotSupported\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. YÃS iki olay tipine de abone olmak zorundadır. EÄer olay aboneliÄi yoksa HHS tarafından \"TR.OHVPS.Business.EventSubscriptionNotFound\" hatası dönülür. \n Rıza baÅlatma akıÅı içerisinde kimlik bilgisinin olduÄu durumlarda; ÃHK'ya ait kimlik verisi(kmlk.kmlkVrs) ile ayrık GKD içerisinde yer alan OHK Tanım DeÄer alanı (ayrikGkd.ohkTanimDeger) birebir aynı olmalıdır. Aynı olmadıÄı durumda HHS tarafından \"TR.OHVPS.Business.CustomerInfoMismatch\" hatası dönülür. Kimlik alanı içermeyen tek seferlik ödeme emri akıÅlarında bu kural geçerli deÄildir. GSM ve IBAN deÄerleri sadece tek seferlik ödemelerde kullanılabilir. \n HHS tarafında ÃHK'nın mobil uygulaması bulunmaması durumu tespit edilebildiÄi durumda Ayrık GKD ile baÅlatılan rıza akıÅlarında HHS tarafından \"TR.OHVPS.Business.CustomerMobileApplicationNotFound\" hatası dönülür. YÃS ilgili iÅlemi âYönlendirmeliâ akıÅa çekip süreci ilerletebilir. \n HHS kimlik bilgisi ile gönderen ünvanının uyumlu olduÄunu kontrol eder. HHS'ler EFT/FAST iÅlemlerinde kabul ettikleri kontrol kriterleri ile iÅleme izin verebilirler. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.IncorrectSenderTitle\" hatası dönülür. \n Gönderen Hesap Numarası ÃBHS tarafından iletildiÄi durumda;\n \n IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.InvalidAccount\" hatası dönülür. \n IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü) kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountCodeMismatch\" hatası dönülür. \n Hesap numarasının ÃHKâya ait olduÄu kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.CustomerAccountMismatch\" hatası dönülür. \n HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. (İlgili hesabın para transfer iÅlemine yetkisi olmaması) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountUnauthorized\" hatası dönülür. \n HHSâde gönderen hesabın aktifliÄi kontrol edilir. Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Business.AccountInactive\" hatası dönülür. \n \n \n Gönderen Hesap Numarası için, He
16sap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. EÄer aktif bir rızası yok ise \"TR.OHVPS.Business.ActiveConsentNotFound\" hatası dönülür. \n Hesap bakiye kontrolünün rıza aÅamasında yapılmaması gerekmektedir. Ãünkü ÃHK ödeme emri gerçekleÅene kadar hesabına para eklemesi yapabilir. \n Alıcı ve gönderen hesabın aynı olması durumunda âTR.OHVPS.Business.SenderRecipientSameâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n MüÅterinin kendi hesapları arasında talimat veremeyeceÄi durumların kontrolü için âTR.OHVPS.Business.SameAccountTransferRestrictedâ hatası dönmesi beklenmektedir. Bu hata HHS insiyatifindedir. \n \n Tek Seferlik Ãdeme \n \n Tek seferlik ödeme akıÅı YÃS'ten HHS'ye giden istekte, gönderen kimlik bilgilerinin olmadıÄı durumda gerçekleÅir. Gönderen kimlik bilgisi olmadıÄında, KOLAS sorgusu yapılamayacaÄından ötürü, HHS tarafından \"TR.OHVPS.Resource.OneTimePaymentNotSupport\" hatası dönülmelidir. ÃHK'nın YÃS'ün müÅterisi olmadıÄı durumda tek seferlik ödeme baÅlatılabilir. \n Tek seferlik ödeme akıÅı hem iÅyeri ödemelerinde hem de kiÅiden kiÅiye para transferlerinde kullanılabilen bir akıÅtır. İÅyeri tarafından baÅlatılan tek seferlik ödeme iÅlemlerinde katılımcılar gönderen ÃHK'dan ücret alınamaz. \n Tek seferlik ödeme akıÅı sadece bireysel müÅteriler için kullanılabilir. Kurumsal müÅteri ile ödeme emri baÅlatılması durumunda \"TR.OHVPS.Resource.OneTimePaymentNotSupport\" hatası dönülür.\nTek seferlik ödeme akıÅında hem yönlendirmeli hem de ayrık GKD akıÅı ile müÅteri yetkilendirmesi saÄlanabilir. \n AÅaÄıdaki senaryolar tek seferlik ödemeye örnek olarak gösterilebilir. \nİÅyeri Ãdemesi akıÅı örneÄi: Bir e-ticaret sitesinde, üye olmadan alıÅveriÅ yapılması ve ödemenin YÃS tarafından kimlik bilgisi olmadan baÅlatılması \nKiÅiden kiÅiye para transferi akıÅı örneÄi: QR veya diÄer yöntemler ile alıcı bilgilerinin gönderici ile paylaÅılması ve YÃS üzerinden gönderici bilgileri olmadan alıcıya para transferi yapılması için rıza verilmesi \n \n Yukarıdaki kontroller tamamlandıktan sonra HHS, ödeme için benzersiz âRizaNoâ ile âOdemeEmriRizasiâ nesnesi oluÅturur ve ÃBHSâye döner. HHS, OdemeEmriRizasi oluÅturduÄu anda durumunu âYetki Bekleniyorâ olarak düzenler. \n Tek seferlik ödeme iÅlemlerinde (gönderen kimlik bilgilerinin boÅ olduÄu durumda) ileri tarihli ve düzenli ödeme emri rızası baÅlatılabilir; ancak bu iÅ modelleri hizmete sunulmadan önce BKM ile paylaÅılmalı ve onayı alınmalıdır. \n POST /odeme-emri-rizasi isteÄinin (REQUEST) gövdesinde (BODY) âodemeEmriRizasiIstegiâ nesnesi (Tablo-7) kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda âodemeEmriRizasiâ (Tablo-8) nesnesi oluÅturulur. \n BAÅARILI İSTEK: \n Tablo 7: âOdemeEmriRizasiIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri rızası oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n İ \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. Yetkilendirme yöntemi, ÃBHS tarafından belirtilmeyebilir. \n HHS, HBHSânin belirlediÄi yöntemi dikkate alarak süreci ilgili akıÅa uygun olarak devam ettirir. DesteklemediÄi yöntem için (örn: Ayrık GKD) ayrıca hata mesajı verilmelidir. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. YÃSâün ileteceÄi adrestir. Durum ko
16du(drmKod), yönlendirme adresine parametre olarak eklenmelidir. \n HHS, müÅteri uygulama / tarayıcısını bu alanda belirtilen adrese yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. HHS, YÃS'ün AYRIK_GKD_BASARILI ve AYRIK_GKD_BASARISIZ olay tipleri için olay aboneliÄinin varlıÄını kontrol eder. Bknz: Ayrık GKD \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. TR.OHVPS.DataCode.ohkTanimTip sıralı veri tiplerinden birini alır. \n \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS geçerli bir Kimlik Numarası Türü olduÄunu kontrol eder. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS geçerli bir Kurum Kimlik Numarası Türü olduÄunu kontrol eder. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kurum Kimlik Verisi üzeriden çapraz kontroller uygulamalıdır. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının girilmiÅ olduÄu çapraz olarak kontrol edilir. \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n HHS geçerli bir para birimi olduÄu kontrol eder. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen ünvanını göndermesi zorunludur. \n HHSânin bu veri ile kendi sistemlerindeki verinin farklı olması ve Kimlik Numarası ile eÅleÅmemesi durumunda ödeme emri baÅlatma isteÄi reddedilir. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Hesap referansı ile ödeme emri rızası baÅlatılacak ise HHS hesap referansı deÄeri ile iliÅkilendirilmiÅ mevcut bir hesap bilgisi rızası var mı kontrol etmelidir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n ÃBHS tarafından iletildiÄi durumda; IBAN içerisindeki HHS kodunun istek baÅlıÄındaki HHS kodu ile aynı olduÄu (hesabın HHSâye aitliÄinin kontrolü), IBANâın doÄruluÄu (kontrol basamaÄı doÄrulaması), Hesap numarasının ÃHKâya ait olduÄu, HHSâye özel ödeme izni verilmeyen farklı statülerin bulunması durumu kontrol edilir. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan HHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n HspRef'e baÄlı IBAN deÄiÅtiÄinde yeni IBAN'ın da ilgili HspRef ile iliÅkilendirilmesi beklenmektedir. Bu durumda, HBHS, Hs
16pRef ile sorguya geldiÄinde HHS'nin yeni IBAN ve hesap hareketlerini dönebilmesi mümkün olacaktır. HspRefâin, IBAN deÄiÅtiÄinde deÄiÅtirilmemesi tavsiye edilmektedir. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Kolay Adres Sistemi kullanılmıyorsa zorunludur. Alıcının ünvanıdır. ÃBHS ekranlarından giriÅi yapılabileceÄi gibi ÃBHSânin kayıtlı alıcılarından yapılan seçimle de doldurup gönderebildiÄi bilgi olabilir. FAST-TR Karekod Veri Organizasyonunda; İÅyeri tarafından sunulan uzun karekod yapısının 59: alanında tanımlı İÅyeri adı alanıdır, KiÅiden KiÅiye Ãdeme Karekod Yapısının 07: alanında tanımlı Ãdeme Alıcısının Adı ve Soyadı alanıdır. FAST-TR Karekod dıÅındaki iÅ yeri ödemelerinde; yine ünvan alanında iÅyeri adı bilgisi gönderilmelidir. \n \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n Alıcının Hesap Numarası (IBAN) alanıdır. Kolay Adres Sistemi kullanılmıyorsa zorunludur. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. Alıcının birden fazla hesabının kullanılabilir olduÄu durumlarda (özellikle iÅyeri ödemelerinde HHS nezdindeki hesap (on-us havale akıÅı) tercih edilmelidir. \n HHS (Gönderen Katılımcı) tarafından IBAN doÄrulaması (kontrol basamaÄı doÄrulaması) yapılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n Tek seferlik ödemelerde ( kimlik bilgileri boÅ iletildiÄinde) KOLAS nesnesi dolu iletiliyorsa; HHS tarafından hata dönülmelidir \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n HHS (Gönderen FAST katılımcısı) tarafından KOLAS Servisine yapılan sorguda girdi olarak kullanılır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Karekod ilke ve kurallar belgesinde tanımlandıÄı Åekilde kullanılması gerekmektedir. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n HHS, YÃS'ün API deseninde \"O\" kodunu ilettiÄini kontrol eder. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n HHS geçerli bir Ãdeme Amacı kodu olduÄunu kontrol eder. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarında: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -\tİÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n YÃS bu deÄeri ÃHKâyı HHSâye yönlendirmeden önceki ekranda göstermeli, ve HHS bu deÄeri GKD için kullandıÄı önyüzünde âiÅlem doÄrulama kodununâ bir unsuru olarak yine ÃHKâya göstermelidir. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi
16için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. İÅyeri Ãdeme Bilgileri, YÃS uygulama önyüzünde ÃHKânın bildiÄi ve giriÅi yapılması beklenen bir bilgi olmamalıdır. YÃS tarafından sistemsel olarak doldurulması gereklidir. \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriRizasiâ nesnesi Tablo-8âdeki parametrelerden oluÅur: \n Tablo 8: âOdemeEmriRizasiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n > Güncellenme Zamanı \n gnclZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin güncellenme zamanı \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n > Rıza Iptal Detay Kodu \n rizaIptDtyKod \n AN2 \n K \n Rıza durumunun iptal olduÄu durumda zorunludur. AlabileceÄi deÄerler 4. Bölümde detaylandırılmıÅtır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. HHS, ÃBHSânin belirlediÄi yöntemi dikkate alarak kendi belirlediÄi yöntemi kullanır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n \n \n \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. HHS tarafından maksimum 5 dk içinde iÅlem tamamlanacak Åekil zaman damgası oluÅturulur. Zaman aÅımı olduÄunda HHSânin GKDâye izin vermeyecek Åekilde hata mesajı vermesi gerekmektedir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n K \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n K \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >>
16 Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n İ \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n K \n Gönderenin ünvanıdır. HHS, bu bilgiyi ÃBHS sisteminden gelen veri yerine FASTâa iletirken kendi sisteminden alabilir. Tek seferlik ödeme dıÅında YÃS'ün gönderen ünvanını göndermesi zorunludur. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n İ \n ÃBHS'nin ön yüzünden daha önce kayıt altına alınmıŠhesaplar arasından seçtirdiÄi veya müÅteriye girdiÄi IBANâdır. ÃBHS tarafından iletilmediÄi durumda, gönderen hesap bilgisini müÅteri tarafından HHSânin dijital kanalında GKD sonrasında seçilebilir. Bu amaçla ÃBHS arayüzünde HHS seçtirilmelidir. GKD sonrası HHS ekranında seçilen Hesap Numarası POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Referansı kullanılıyorsa Hesap Numarası kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n İ \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid). YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n ÃBHS tarafından istek mesajında iletilip doÄrulanan veya Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen alıcı maskeli IBAN bilgisidir. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n TR.OHVPS.DataCode.KareKodAksTur sıralı veri deÄerlerinden birini alır. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 62-08: alanında tanımlı Ãdeme Amacı verisi kullanılır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisidir. Bu alan ileri vadeli ödemeler için düÅünülmüÅtür. İlk fazda doldurulmasına gerek olmadıÄı düÅünülmektedir. \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.3.\tADIM 2- Ãdeme Emri Rızasının Yetkilendirilmesi \n \n Åekil 6: Ãdeme Emri Rızasının Yetkilendirilmesi \n ÃBHS, ÃHKânın ödeme emrini yetkilendirmesi isteÄini iletir. Ãdeme emrinin yetkilendirilmesi, HHS tarafından gerçekleÅtirilen Yönlendirme veya Ayrık GKD yöntemiyle yapılır. \n \n \n Yönlendirmeli doÄrulama akıÅında , ÃBHS ÃHKâyı HHSâye yönlendirir. \n \n ÃBHS tarafından yönlendirme, bir önceki adımdaki RizaNoâyu içerir. \n Yönlendirmenin RizaNoâyu içermesi sayesinde, HHS hangi ödeme emriyle iliÅkili olarak yönlendirme yapıldıÄını iliÅkilendirebilir. \n HHS, ÃHK için GKD sürecini iÅletir. \n \n ÃHKâyı doÄrularsa, \n \n ÃHK -bir önceki adımda seçmediyse- borçlu hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n HHS, ÃHKâyı âolumlu yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n \n \n \n yonAdr?rizaDrm=Y&yetKod=xx&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n ÃHKâyı doÄrulayamazsa, \n1. HHS, ödeme emri rıza kaynaÄının durumunu âYetki İptalâ olarak günceller. \n2. HHS,
16ÃHKâyı âolumsuz yönlendirme akıÅıâ ile ÃBHS tarafından tanımlanan yönlendirme adresine yönlendirir: \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&drmKod=zzz\n \n HHS tarafında oluÅabilecek bir hata durumunun YÃSâe aktarılması gerektiÄi durumlar olabilir. Bu durumda yonlendirme adresinde hata kodu parametresi zorunlu olarak iletilmelidir. \nHata açıklamalarının neler olabileceÄi ve YÃSâün kendi uygulamasında bu hatayı ne Åekilde göstereceÄi aÅaÄıda tariflenmiÅtir. \n yonAdr?rizaDrm=I&rizaNo=yy&rizaTip=O&rizaIptDtyKod=11&drmKod=zzz\n \n URLâde iletilen âRıza İptal Detay Koduâ Rıza durumları bölümünde (4. Bölüm) belirtilen hata kodları ile aynı olacak Åekilde tasarlanmıÅtır. GKD sırasında yapılması gereken kontroller 5.3 bölümünde detaylandırılmıÅtır. \n \n Ayrık doÄrulama akıÅında , HHS, ÃHKânın ödeme emrini baÅlattıÄı uygulamadan farklı olabilecek bir âdoÄrulamaâ uygulamasında iÅlemi doÄrulamasını ister.\n \n Ayrık akıŠÃBHSânin farklı bir kanal kullanarak yetkilendirme isteÄi göndermesiyle baÅlatılır. \n Bu yetkilendirme isteÄi, yetkilendirilecek ödeme emri rızasının eÅleÅtirileceÄi ÃHKânın bulunması için ilgili veriyi taÅır. \n HHS, ÃHKâyı doÄrular. \n ÃHK -bir önceki adımda seçmediyse- borçlandırılacak hesabını seçer. \n HHS, ödeme emri rıza kaynaÄının durumunu âYetkilendirildiâ olarak günceller. \n \n \n \n BaÅarılı GKD sonrasında (rizaDrm=âYâ) ilgili rıza nesnesi için (belirli bir rizaNo) yetkilendirme kodunun (yetKod) alınmasının ardından eriÅim belirteci eriÅim adresine POST çaÄrısı yapılarak yetkilendirme kodu karÅılıÄında eriÅim belirteci ve yenileme belirteci alınır. POST /eriÅim-belirteci eriÅim noktası EK-3âte açıklanmıÅtır. \n EriÅim belirteci alındıktan sonra; HHS, ödeme emri rıza kaynaÄının durumunu âYetki Kullanıldıâ olarak günceller. \n 6.4.\tADIM 2.1 â Ãdeme Emri Rızasının Sorgulanması (isteÄe baÄlı) \n \n Åekil 7: âodemeEmriRizasiâ nesnesinin sorgulanması (isteÄe baÄlı) \n GKD iÅleminin baÅarıyla tamamlanıp Ãdeme Emri Rızasının yetkilendirilmesi esnasında, gönderen hesap seçiminin HHS ekranında yapıldıÄı durumlar olabilir. Bu durumlarda ödeme emri isteÄinde gönderen hesap bilgileri alanının zorunlu olması nedeniyle, OdemeEmriRizasi nesnesi sorgulanarak gönderen hesap bilgileri (hesap numarası ve/veya hesap referansı) alınmalıdır. HHS, â ADIM 2 -Ãdeme Emri Rızasının Yetkilendirilmesi â akıÅında ÃHKânın hesapları arasında seçim yapmasını ve seçilen hesap bilgisinin OdemeEmriRizasi nesnesine iÅler. \n GET /odeme-emri-rizasi/{RizaNo} \n ÃBHS, mevcut durumunu kontrol etmek için, oluÅturulan bir OdemeEmriRizasi kaynaÄının durumunu isteÄe baÄlı olarak alabilir. \n \n Sorgulama yapılan ödeme emri rızası HHS tarafında bulunmuyor ise \"TR.OHVPS.ResourceNotFound\" hatası dönülür. \n \n Servis baÅarılı yanıtında Tablo 8âde belirtilen \"OdemeEmriRizasi\" nesnesini dönmektedir. \n Durum \n OdemeEmriRizasi kaynaÄı için kullanılabilecek durum göstergeleri Åu Åekildedir: \n \n Yetki Bekleniyor \n Yetkilendirildi \n Yetki Kullanıldı \n Yetki Ãdeme Emrine DönüÅtü \n Yetki Sonlandırıldı \n Yetki İptal \n \n Ãdeme Emri Rızası sonlandırıldı ve iptal statüsünde olan rıza'ların güncellenme zamanından(gnclZmn) 6 ay sonrasına kadar sorgulanabilir olması beklenmektedir. HHS'ler ilgili süre sonrasında yapılacak rıza sorgularına \" TR.OHVPS.Resource.NotFound\" uyarısı verebilir. YÃS'ler tarafından iptal ve sonlandırıldı statüsünde olan rızalar için sorgulama yapmamalıdır. \n Ãdeme emri rıza durum deÄiÅiklikleri 4.2 bölümünde detaylandırılmıÅtır. \n BAÅARILI YANIT: \n GET /odeme-emri-rizasi/{RizaNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriRizasiİstegiâ nesnesi kullanılır. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-8âde yer alan parametreleri içeren âOdemeEmriRizasiâ oluÅturulur. \n Gönderen Hesap Bilgisinin, ADIM 2 (Ãdeme Emri Rızasının Yetkilendirilmesi) sonrasında HHS ekranından seçildiÄi akıÅta âOdemeEmriRizasiâ nesnesi güncellenir ve ÃBHS GET /odeme-emri-rizasi/{RizaNo} isteÄi yaparak güncel gönderen hesap bilgisi bilgisini de içeren âOdemeEmriRizasiâ nesnesini çekmelidir. \n Ãerçeve sözleÅme kapsamında olmayan tek seferlik ödeme iÅlemlerinde, Kimlik Türü ve Kimlik Verisi bilgilerinin ödeme emri rızası sırasında gönderimi zorunlu deÄildir. BaÅarılı GKD sonrası, yani eriÅim belirteci alındıÄında, ödeme emri oluÅmadan önce, YÃSâün ödeme emri rızasını sorgulayarak bu bilgileri alması ve ödeme emrini oluÅtururken Kimlik Türü, Kimlik Verisi ve Gönderen Ãnvan alanlarını dolu olarak göndermesi beklenmektedir. Ancak rıza durumu âYetki Bekleniyor - Bâ, âYetkilendirildi - Yâ ve âYetki İptal - Iâ statülerinde ise, ödeme emri rızası sorgulamasında, HHSânin Kimlik Türü ve Kimlik Verisi bilgisini Y
16ÃS ile paylaÅmaması gerekmektedir. \n 6.5.\tADIM 3- Ãdeme Emrinin OluÅturulması \n \n Åekil 8: Ãdeme Emrinin OluÅturulması \n POST /odeme-emri \n ÃHKânın Güçlü Kimlik DoÄrulama ile iÅlemi yetkilendirmesi sonrasında, ÃBHS OdemeEmri kaynaÄını oluÅturur. \n Ãdeme emri (OdemeEmri) uygun ödeme kaynaÄına POST isteÄi yapılarak baÅlatılır. \n \n EriÅim Belirteci kontrolü yapılır. Geçerli bir EriÅim Belirteci yok ise \"TR.OHVPS.Connection.InvalidToken\" hatası dönülür. \n HHS; istek mesajında yer alan alanların ÃHVPS API İlke ve Kuralları dökümanında belirtilen Åartları saÄlayacak Åekilde zorunluluk, uzunluk ve içerik kontrollerini yapar. (Zorunlu) Kontrollere istinaden hata oluÅması durumunda \"TR.OHVPS.Resource.InvalidFormat\" hatası dönülür. \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidASPSPâ hatası dönülür. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. Farklı olması durumunda âTR.OHVPS.Connection.InvalidTPPâ hatası dönülür. \n Rıza durumu kontrol edilir.\n \n B: Yetki Bekleniyor, Y: Yetkilendirildi ya da E: Yetki Ãdeme Emrine DönüÅtü ise âTR.OHVPS.Resource.ConsentMismatchâ hatası dönülür. \n I: Rıza İptal ya da S: Yetki Sonlandırıldı ise âTR.OHVPS.Resource.ConsentRevokedâ hatası dönülür. \n RizaDurumu âK: Yetki Kullanıldıâ ise kontrollere devam edilir. \n \n \n POST /odeme-emri-rizasi ile POST /odeme-emri isteklerinde istek alanların aynı olması beklenmektedir. HHS tarafından kontrolü saÄlanmalıdır. Ãdeme emri rızasında gönderilen deÄerlerden farklı bir deÄer gönderildiÄi durumda âTR.OHVPS.Business.FieldMismatchâ hatası dönülür. \n HHS tarafından Ãdeme Emrinin OluÅturulması API'sine istek yapıldıÄında müÅterinin bakiyesi kontrol edilir. Bakiye yetersiz ise HHS tarafından \"TR.OHVPS.Business.BalanceInsufficient\" hatası dönülür. MüÅterinin hesabında bakiye olması ancak günlük iÅlem limitine takılması durumunda ise TR.OHVPS.Business.ExceededTransactionLimit hatası dönülür. \n \n Yukarıdaki kontroller tamamlandıktan sonra, içerisinde OdemeEmriNo ve OdemeEmriDurumu deÄiÅkenleri de bulunan OdemeEmri nesnesi ÃBHSâye döner ve RizaDurumu deÄiÅkenin deÄeri âYetki Ãdeme Emrine DönüÅtüâ olarak güncellenir. \n \n POST verisindeki Gönderen Hesap Numarası ve Alıcı Hesap Numarasının aynı bankaya aitse HAVALE deÄilse FAST veya PÃS iÅ akıÅına geçilir. \n OdemeEmriDurumu âGerçekleÅtiâ / âGönderildiâ / âGerçekleÅmediâ olarak güncellenir. \n \n BAÅARILI İSTEK: \n Tablo 9: âOdemeEmriIstegiâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n HHS tarafından ödeme emri oluÅturulması sırasında yapılması gereken kontrol ve iÅlemler \n FAST A01 PÃS M01 mesaj mapping \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanı \n \n \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n \n \n >Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n HHS, hhsKodâun kendisine ait olduÄunu ve istek baÅlıÄındaki x-aspsp-code deÄeri ile aynı olduÄunu kontrol eder. \n Gönderen katılımcı kodu (yani bankanın FAST/PÃSâteki Katılımcı kodu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n HHS, yosKodâun geçerli bir Ãdeme Hizmeti SaÄlayıcısı Kodu olduÄunu ve istek baÅlıÄındaki x-tpp-code deÄeri ile aynı olduÄunu kontrol eder. \n YosKod \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n \n \n >Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n \n \n >Yönlendirme Adresi \n yonAdr \n AN1..1024 \n K \n Yönlendirmeli güçlü kimlik doÄrulama için zorunludur. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n \n \n \n \n \n \n \n \n \n \n \n >Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n yetYntm = A gönderilmiÅ ise ayrikGkd nesnesinin dolu gönderilmesi zorunludur. yetYntm = Y için bu nesne iletilmemelidir. \n \n \n \n >>OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >>OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n \n \n >HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n \n \n >Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası Türü verisi ile aynı olmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik türünün bu alanda gönderilmesi zorunludur. \n \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Ãerçeve sözleÅme kapsamındaki ödemelerde kullanımı zorunludur. HHS, ÃBHS tarafından iletilmesi durumunda Kimlik Verisi üzeriden çapraz kontroller uygulamalı ve Kimlik Verisini temel alarak GKD gerçekleÅtirmelidir. Ãdeme Emri Rizası Nesnesindeki Kimlik Numarası verisi ile aynı olmalıdır. Gerçek kiÅi tarafından yapılan ödemelerde,
161. HHS, Gönderen Adı ve Gönderen Hesap Numarasını ödeme emri isteÄinde (Havale/FAST/PÃS) gönderir. - Gönderen Adı ve diÄer tüm müÅteri bilgileri, Kimlik Numarası üzerinden elde edillir. Pasaport numarasına iliÅkin kontroller HHS'nin halihazırda kullandıÄı veri, akıŠve tabi olduÄu diÄer düzenlemelerdeki iÅleyiÅ ile aynı Åekilde ele alınmalıdır. Kurum adına yapılan (ticari) ödemelerde, kurum adına iÅlem yapan kullanıcının kimlik verisi bu alanda gönderilebilmesi zorunludur. \n GonKimN / Psp \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Türü verisi ile aynı olmalıdır. \n \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n Kurum adına yapılan (ticari) ödemelerde kullanımı zorunludur. Ãdeme Emri Rizası Nesnesindeki Kurum Kimlik Verisi ile aynı olmalıdır. \n GonKimN / VKN \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n Kurum adına yapılan ödemelerde K deÄerini alır. Kurum Kimlik Türü ve Kurum Kimlik Verisi alanlarının giilmiÅ olduÄu çapraz olarak kontrol edilir. Ãdeme Emri Rizası Nesnesindeki ÃHK Türü ile aynı olmalıdır. \n \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Para Birimi verisi ile aynı olmalıdır. \n \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n Ãdeme Emri Rizası Nesnesindeki İÅlem Tutarı verisi ile aynı olmalıdır. HHS iÅlem tutarı ödeme mesajında (Havale/FAST/PÃS) aynen taÅınmak durumundadır. \n Ttr \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n HHS ve ÃBHS verisi tutarlı olmalıdır. ÃBHS verisi ile HHS verisinin farklılaÅması durumunun ise risk deÄerlendirme sistemlerine girdi olarak kullanması tavsiye edilir. \n GonAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS'nin ön yüzünden seçtirdiÄi/kullanıcıya girdiÄi IBAN Hesap numarası ya da Hesap Referansı alanlarından en az birinin dolu olarak gelmesi gerekmektedir. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Gönderen Hesap Numarası verisi ile aynı olmalıdır. \n GonHesN \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅlatılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n YÃSâten alıcı ad soyad bilgisi geliyorsa ve HHS'nin kontrolünden baÅarılı bir Åekilde geçti ise HHS'nin tekrar alıcı ad soyad bilgisi için giriÅ yaptırmasına gerek bulunmamaktadır. \n AlAd \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Alıcı Hesap Numarası verisi ile aynı olmalıdır. Kontroller baÅarıyla sonuçlanırsa, bilgi FAST/PÃS AlHesN alanına doÄrudan aktarır ve FAST/PÃS Alan Katılımcı Kodu (AlKK) olarak Alıcı HHS Kodu kullanılır. KOLAS sorgusu sonucunda ödeme emrinde iletilen maskeli bilgi ile HHSânin kendi ödeme emri rızası isteÄinde tuttuÄu KOLAS sorgusundan dönülen bilgi maskelenerek karÅılaÅtırılır. EÄer aynı deÄilse uygun hata kodu dönülerek iÅlem sonlandırılır. \n AlHesN \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres Tipi verisi ile aynı olmalıdır. \n \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n Ãdeme Emri Rizası Yanıtı Nesnesindeki Kolay Adres DeÄeri verisi ile aynı olmalıdır. \n FAST (KolasRef) \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n KolasRef ( hem FAST hem de PÃS için aynı) \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n Ãdeme Emri Rizası Nesnesindeki Kare Kod AkıŠTürü verisi ile aynı olmalıdır. \n FAST: KrkdAksTur \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n Ãdeme Emri Rizası Nesnesindeki Karekod Referansı verisi ile aynı olmalıdır. Ãevrimiçi doÄrulama hizmeti alınmayan statik karekodlar için Referans numarasının bulunmadıÄı durumlarda HHS tarafından âNONREFâ ifadesi girilir. \n FAST: Karekod Referansı (KrkdRef) \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR K
16arekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄeri atanarak iletilmelidir. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme KaynaÄı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST/PÃS: OdmKynk \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Amacı verisi ile aynı olmalıdır. HHS tarafından ödeme mesajında (FAST/PÃS) aynen taÅınmak durumundadır. \n FAST (OdmAmc)/PÃS(OdmAmaci) \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası -İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n Ãdeme Emri Rizası Nesnesindeki Referans Bilgisi verisi ile aynı olmalıdır. \n RefBlg (Hem FAST hem de PÃS için aynı) \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n FAST/PÃS Acklm \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n Ãdeme Emri Rizası Nesnesindeki Ãdeme Sistemi verisi ile aynı olmalıdır. \n \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda istekte yer alır. İÅyeri Ãdeme Bilgileri, YÃS uygulama önyüzünde ÃHKânın bildiÄi ve giriÅi yapılması beklenen bir bilgi olmamalıdır. YÃS tarafından sistemsel olarak doldurulması gereklidir. \n \n \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). 4 karakterden küçük deÄerlerin baÅına 0 eklenerek iletilmesi gereklidir. \n \n \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n \n \n \n \n \n BAÅARILI YANIT: \n POST iÅleminin RESPONSE gövdesini (BODY) oluÅturan âOdemeEmriâ nesnesi Tablo-10âdaki parametrelerden oluÅur: \n Tablo 10: âOdemeEmriâ nesnesi \n \n \n \n Alan Adı \n JSON Alan Adı \n Format: Veri modeli İsmi \n Zorunlu / KoÅullu / İsteÄe baÄlı \n Açıklama \n \n \n \n \n Riza Bilgileri \n rzBlg \n Kompleks: RizaBilgileri \n Z \n \n \n \n > Rıza No \n rizaNo \n AN1..128 \n Z \n OdemeEmriRızasi nesnesinin oluÅturulması esnasında HHS kaynak sunucusu tarafından atanan biricik tanımlayıcı \n \n \n > OluÅturma Zamanı \n olusZmn \n ISODateTime \n Z \n OdemeEmriRizasi nesnesinin oluÅturulma zamanıdır. \n \n \n > Rıza Durumu \n rizaDrm \n AN1 \n Z \n TR.OHVPS.DataCode.RizaDurumu sıralı veri tipini deÄerlerinden birini alır. \n \n \n Katılımcı Bilgisi \n katilimciBlg \n Kompleks:KatilimciBilgisi \n Z \n Katılımcılara atanmıŠkod bilgileridir. \n \n \n >
16Hesap Hizmeti SaÄlayıcısı Kodu \n hhsKod \n AN4 \n Z \n İsteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n \n \n > Yetkili Ãdeme Hizmeti SaÄlayıcısı Kodu \n yosKod \n AN4 \n Z \n İsteÄi gönderen Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur. \n \n \n GKD \n gkd \n Kompleks:Gkd \n Z \n \n \n \n > Yetkilendirme Yöntemi \n yetYntm \n AN1 \n Z \n TR.OHVPS.DataCode.GkdTur sıralı veri türü deÄerlerinden birini alır. \n \n \n > Yönlenme Adresi \n yonAdr \n AN1..1024 \n Z \n Yönlendirmeli güçlü kimlik doÄrulama için zorunlu. HHS, müÅteri uygulama / tarayıcısını yönlendirmeli akıÅta bu alanda belirtilen YÃS adresine yönlendirir. \n \n \n > Ayrık GKD \n ayrikGkd \n Kompleks:AyrikGkd \n K \n Ayrık güçlü kimlik doÄrulama için zorunlu. \n \n \n >> OHK Tanım Tip \n ohkTanimTip \n AN8 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım tipleridir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n >> OHK Tanım DeÄer \n ohkTanimDeger \n AN1..30 \n K \n ÃHK'nın HHS uygulaması tarafından tanınmasını saÄlayacak tanım deÄeridir. ohkTanimTip'i ile uyumlu deÄerdir. İstek içerisindeki veri deÄiÅtirilmeden iletilir. \n \n \n > HHS Yönlenme Adresi \n hhsYonAdr \n AN1..1024 \n K \n Yönlendirmeli akıŠtüründe GKD doÄrulama bilgilerinin girilebilmesi için uygulamadan açılacak yönlendirme sayfasının adresi. Ayrık GKD akıÅında bu alan dönülmemelidir. \n \n \n > Yetkilendirme Tamamlanma Zamanı \n yetTmmZmn \n ISODateTime \n Z \n Yetkilendirme akıÅının tamamlanması gereken son zamanı gösterir. Rıza durumu Yetkilendirildi statüsüne geçene kadarki süredir. \n \n \n Emir Bilgileri \n emrBlg \n Kompleks: EmirBilgileri \n Z \n \n \n \n > Ãdeme Emri Numarası \n odmEmriNo \n AN1..128 \n Z \n odemeEmri nesnesinin UID'sidir. OdemeEmrine İliÅkin sorgular bu ID üzerinden yapılır. \n \n \n > Ãdeme Emri Zaman \n odmEmriZmn \n ISODateTime \n Z \n odemeEmri nesnesinin oluÅturulma zamanıdır. \n \n \n Ãdeme BaÅlatma \n odmBsltm \n Kompleks: OdemeBaslatma \n Z \n \n \n \n > Kimlik \n kmlk \n Kompleks:Kimlik \n Z \n \n \n \n >> Kimlik Türü \n kmlkTur \n AN1 \n Z \n TR.OHVPS.DataCode.KimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kimlik Verisi \n kmlkVrs \n AN1..30 \n Z \n HHS nezdinde kullanıcı doÄrulamasında kullanılan tanımlayıcıdır. TR.OHVPS.DataCode.KimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Kurum Kimlik Türü \n krmKmlkTur \n AN1 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik türüdür. TR.OHVPS.DataCode.KurumKimlikTur sıralı veri türü deÄerlerinden birini alır. \n \n \n >> Kurum Kimlik Verisi \n krmKmlkVrs \n AN1..30 \n K \n Kurum adına yapılan ödemelerde ÃHKânın altında tanımlı olduÄu tüzel kiÅilik için kullanılan kurum kimlik verisidir. TR.OHVPS.DataCode.KurumKimlikTur deÄerine göre uzunluk ve formatı deÄiÅir. \n \n \n >> Ãdeme Hizmeti Kullanıcısı Türü \n ohkTur \n AN1 \n Z \n TR.OHVPS.DataCode.OhkTur sıralı veri türü deÄerlerinden birini alır (B: Bireysel, K:Kurumsal) \n \n \n > İÅlem Tutarı \n islTtr \n Kompleks:Tutar \n Z \n \n \n \n >> Para Birimi \n prBrm \n AN3 \n Z \n Para Birimi. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 53: (Para Birimi) alanında tanımlı Para Birimi verisi kullanılır. \n \n \n >> Tutar \n ttr \n AN1..24 \n Z \n ÃBHS'nin ön yüzde kullanıcıdan teyit aldıÄı tutar. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 54: (Tutar) alanında tanımlı Tutar verisi kullanılır. Tutar alanı regex patterni Åu Åekildedir: '^\\d{1,18}$|^\\d{1,18}\\.\\d{1,5}$' \n \n \n > Gönderen \n gon \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Gönderen kiÅinin ad soyad ya da ticari ünvan bilgisi. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n K \n ÃBHS tarafından iletilip doÄrulanan veya HHS ekranında seçilen Gönderen Hesap Numarası dönülür. \n \n \n >> Hesap Referansı \n hspRef \n AN5..40 \n K \n HHS tarafından hesap için atanan biricik tanımlıyıcıdır (uuid) YÃS bazında farklılaÅması gerekmez. ÃBHSânin aynı zamanda HBHS olduÄu durumda müÅteri rızası tesis edilmiÅ bir hesabın referansı üzerinden de ödeme baÅaltılabilir. GKD sonrası HHS ekranında seçilen Hesap Referansı POST iÅleminin yanıtında dönülemez ancak isteÄe baÄlı GET sorgusu ile dönülebilir. Hesap Numarası kullanılıyorsa Hesap Referansı kullanılmayabilir. Ãdeme Sistemine doÄrudan katılımcı olmayan ÃHS'ler müÅterilerine IBAN sunmadıkları için hspRef üzerinden ödeme baÅlatabilirler. Bu durumda hesap numarası boÅ olacaktır. \n \n \n > Alıcı \n alc \n Kompleks:Hesap \n Z \n \n \n \n >> Ãnvan \n unv \n AN3..140 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı
16sorgu sonucunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli ad-soyadı veya maskeli ticari ünvan bilgisidir. Kolasâtan dönen âaccount ownerâ alanı kullanılmalıdır. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen ünvan bilgisidir. \n \n \n >> Hesap Numarası \n hspNo \n AN26 \n Z \n Alıcının Hesap Numarası alanıdır (IBAN). Kolay Adres sorgusunda dönülen adres kaydı yaptırmıŠolan alıcının maskeli IBAN bilgisidir. Kolay adres deÄil ise ÃBHS tarafından istek mesajında iletilen IBAN bilgisidir. Karekod akıÅında, FAST Karekod Veri Organizasyonundaki 30-01: alanında tanımlı İŠYeri IBAN verisi kullanılır. \n \n \n >> Kolay Adres \n kolas \n Kompleks:Kolas \n K \n \n \n \n >>> Kolas Türü \n kolasTur \n AN1 \n Z \n MüÅterinin sorgulamak istediÄi Kolay Adres Tipi deÄeridir. TR.OHVPS.DataCode.KolasTur sıralı veri türü deÄerlerinden birini alır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas DeÄeri \n kolasDgr \n AN7..50 \n Z \n MüÅterinin eklediÄi, HHS (FAST katılımcısı) tarafından doÄrulanmıŠKolay Adres deÄeridir. AlabileceÄi deÄerler BKM âKolay Adresleme Sistemi Uygulama Kurallarıâ belgesinde tanımlıdır. Alıcı Hesap Numarası girilmediyse kullanımı zorunludur ve Kolay Adres Tipi alanıyla birlikte kullanılır. \n \n \n >>> Kolas Referans Numarası \n kolasRefNo \n N12 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı KOLAS tarafından ilgili sorguya özel olarak üretilmiÅ referans numarasıdır. \n \n \n >>> Kolas Hesap Türü \n kolasHspTur \n AN1 \n Z \n Kolay Adres Alıcı Sorgusunda baÅarılı sorgu sonucunda dönülen, BKM Kolay Adresleme Sistemi Uygulama Kurallarıânda tanımlı hesap türü bilgisidir: TR.OHVPS.DataCode.KolasHspTur sıralı veri deÄerlerinden birini alır. \n \n \n > Karekod \n kkod \n Kompleks:Karekod \n K \n \n \n \n >> AkıŠTürü \n aksTur \n AN2 \n Z \n Karekod AkıŠTürü Karekod ödemesinin hangi akıÅla gerçekleÅtirildiÄini gösterir. Kolay Adresi Sistemi ile birlikte kullanılmaz. 01: FAST katılımcısından dinamik doÄrulama hizmeti alınan iÅyeri ödemesi 02: FAST katılımcısından statik doÄrulama hizmeti alınan iÅyeri ödemesi 03: KiÅiden kiÅiye ödemeler \n \n \n >> Referansı \n kkodRef \n AN1..12 \n K \n Karekod referans numarasını gösterir. Okunan karekodda referans deÄeri varsa kullanılması zorunludur. Kolay Adresi Sistemi ile birlikte kullanılmaz. \n \n \n >> Ãretici Kodu \n kkodUrtcKod \n AN4 \n Z \n Karekod üreticisinin kodu. Ãdeme Hizmeti SaÄlayıcıları ve TCMB tarafından uygun görülen ödeme sistemi iÅleticisi TR Karekod üretebilmek için BKMâye kayıt baÅvurusu yaparak karekod üretici kodu alabileceklerdir. Bankalar EFT kodlarını kullanacak olup ayrıca kayıt yaptırmalarına gerek bulunmamaktadır. 4 haneden kısa deÄerlerin sol tarafı â0â karakteri ile tamamlanmalıdır. \n \n \n > Ãdeme Ayrıntıları \n odmAyr \n Kompleks: OdemeAyrintilari \n Z \n \n \n \n >> Ãdeme KaynaÄı \n odmKynk \n AN1 \n Z \n Ãdemenin baÅlatıldıÄı kaynaÄı belirtir. TR.OHVPS.DataCode.OdemeKaynak sıralı veri deÄerlerinden âOâ deÄerini alır. âOâ deÄeri âAçık bankacılık aracılıÄı ile gönderilen ödemelerde kullanılır.â anlamını taÅımaktadır. \n \n \n >> Ãdeme Durumu \n odmDrm \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeDurumu sıralı veri deÄerlerinden birini alır. Ãdeme Durumu alanı ile ilgili olarak HHSâler tarafından YÃSâlere OdemeEmri servisi yanıtında 02:Gönderildi, 04:Onayda Bekliyor,05:İÅleme Alındı yanıtları gönderilebilir. 05:İÅleme Alındı durumu YÃS tarafından müÅteriye gösterilmeyen bir koddur. Bu kod dönüldüÄünde YÃS uygulamasında ÃHKâya ödeme durumu 02:Gönderildi olarak gösterilir. İÅlemin son durumunun teyidi için YÃS ödeme emri sorgulaması yapmalıdır. 02:Gönderildi durumu oluÅtuktan sonra YÃS tarafından ödeme emri sorgulaması yapılarak ödeme durumunun güncel deÄeri öÄrenilir. Güncel deÄerler 01:GerçekleÅti,03:GerçekleÅmedi durumları olabilir. \n \n \n >> Ãdeme Amacı \n odmAmc \n AN2 \n Z \n TR.OHVPS.DataCode.OdemeAmaci sıralı veri deÄerlerinden birini alır. \n \n \n >> Referans Bilgisi \n refBlg \n AN1..140 \n K \n Ãdemeye özel Referans Bilgisi alanıdır. Karekod iÅlemi deÄil ise zorunludur. -\tKiÅiden kiÅiye fon aktarımlarda: Gün içerisinde ÃHK özelinde, her iÅleme özel biricik olarak oluÅturulan referans bilgisidir. Karekod P2P akıÅı için referans bilgisi (Karekod referans numarası deÄil, iÅleme özel üretilecek referans bilgisidir.) YÃS tarafından atanacaktır. -\tE-ticaret iÅlemlerinde sipariÅ/takip numarası/müÅteri/abone numarası - İÅyeri Ãdemesi Karekod akıÅında, FAST Karekod Veri Organizasyonundaki -\t62-01: alanında tanımlı Fatura Numarası -\t62-06: alanında tanımlı MüÅteri Numarası verilerinden biri kullanılır. \n \n \n >> Açıklama \n odmAcklm \n AN1..200 \n İ \n ÃBHSânin ÃHKâdan aldıÄı ya da kendisinin atadıÄı iÅlem açıklaması bilgisi. FAST/PÃS sistemi üzerinden yapılan ödemeler için açıklama bilgisi girilirse boÅluk karakteri girilerek geçilemez. En az bir alfasayısal karakter girilmesi zorunludur. \n \n \n >> ÃHK Mesaj Alanı \n ohkMsj \n AN1..200 \n İ \n HHSânin ÃHKâya göstermek üzere ilettiÄi mesaj. \n \n \n >> Ãdeme Sistemi \n odmStm \n AN1 \n Z \n TR.OHVPS.DataCode.OdemeSistemi sıralı veri deÄerlerinden birini alır. \n \n \n >> Ãdeme Sistem Numarası \n odmStmNo \n AN10..50 \n K \n Ãdeme baÅarılı baÅlatıldıysa, ödemenin baÅlatıldıÄı sistemdeki referans numarası. GerektiÄinde ilgili ödeme sisteminde/HHSâde söz konusu ödemeye karÅılık gelen mesajla baÄlantı kurmada kullanılır. Ãdeme Hizmeti kullanıcısına iÅlemin takibi için gösterilebilir. İÅlemin yönlendirildiÄi ödeme sistemi FAST ya da PÃS ise sistemdeki ilgili mesajın Tarih, GönderenKatilimKodu ve SorguNumarasi deÄerlerinin birleÅiminden oluÅur. Bu 3 alan mevcutta kullanıldıÄı formatta aralarına dikey çizgi (Unicode U+2223) iÅareti koyularak, birleÅtirmeli ve iletilmelidir. Ãrn : Tarih|GönderenKatilimKodu|SorguNumarasi Ãdeme Havale/Virman iÅlemi ise HHSânin üretmiÅ olduÄu havale/virman numarasını içerir. Buradaki format da Tarih|GönderenKatilimKodu|Havale-virman numarası Åeklinde olmalıdır. Havale/FAST/PÃS ödeme yöntemleri için tarih alanı yyyy-aa-gg formatında 10 karakter olarak
16iletilmelidir. \n \n \n >> Beklenen Ãdeme Zamanı \n bekOdmZmn \n ISODateTime \n K \n İÅlemin yönlendirildiÄi ödeme sistemi PÃS ise ve PÃS iÅlem saatleri dıÅında ise iÅlemin yapılabileceÄi ilk zaman bilgisi \n \n \n İÅyeri Ãdeme Bilgileri \n isyOdmBlg \n Kompleks:IsyeriOdemeBilgileri \n K \n İÅyeri ödemelerinde kullanılabilecek alanlardır. Karekodlu iÅyeri ödemesi akıÅında bu alanlar dolu geldiÄi için isteÄe baÄlı olarak gönderilebilir. isyOdmBlg alanlarının en az birinin dolu olması durumunda yanıtta yer alır. \n \n \n > İÅyeri Kategori Kodu \n isyKtgKod \n AN4 \n K \n İÅlemin, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). Ãdeme Amacı = â06â ya da â04â olan ödeme iÅlemleri için doldurulabilir. \n \n \n > Alt İÅyeri Kategori Kodu \n altIsyKtgKod \n AN4 \n K \n İÅlem alt iÅyerinden gerçekleÅtiriliyorsa, ISO 18245:2003 uyumlu İÅyeri Kategori Kodudur (Merchant Category Code, MCC). \n \n \n >Ãye İŠYeri Tekil Kimlik \n genelUyeIsyeriNo \n AN8 \n K \n İÅyeri kayıt sisteminde kayıtlı İÅyeri için BKM tarafından üretilmiÅ olan genel iÅyeri numarasıdır (GlobalMerchantId) 8 haneden küçük gönderiminde baÅa â0â eklenmelidir. Ãrnek deÄer â01630618â \n 6.6.\tADIM 3.1- Ãdeme Emri Sorgusu (İsteÄe baÄlı) \n \n Åekil 9: Ãdeme Emri Sorgusu \n GET /odeme-emri/{odemeEmriNo} \n ÃBHS, bu eriÅim adresi aracılıÄıyla ödeme emrini sorgulayabilir. \n BAÅARILI YANIT: \n GET /odeme-emri/{odemeEmriNo} yanıtının (RESPONSE) gövdesinde (BODY) âOdemeEmriâ nesnesi bulunur. İstek baÅarıyla sonuçlanırsa HHS kaynak sunucusunda Tablo-10âda yer alan parametreleri içeren âOdemeEmriâ nesnesi döner. \n \n İstek baÅlıÄında yer alan X-Access-Token ile iliÅkili rızada, yer alan odemeEmriNo için, ödeme emri sorgusundaki odemeEmriNo bilgisinin aynı olup olmadıÄı kontrol edilir. Farklı olması durumunda \"TR.OHVPS.Resource.NotFound\" hatası dönülür. \n Sorgulama yapılan ödeme emri numarası HHS tarafında bulunmuyor ise \"TR.OHVPS.ResourceNotFound\" hatası dönülür. \n \n"},{frontmatter:{},regularPath:"/v2.0.1/deneyalani/duzenli-odeme-emri-api.html",relativePath:"v2.0.1/deneyalani/duzenli-odeme-emri-api.md",key:"v-2b804dc9",path:"/v2.0.1/deneyalani/duzenli-odeme-emri-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.1/contents/tanim-ve-kisitlamalar.html",relativePath:"v2.0.1/contents/tanim-ve-kisitlamalar.md",key:"v-666ae106",path:"/v2.0.1/contents/tanim-ve-kisitlamalar.html",content:" 1.\tTanım ve Kısaltmalar \n Tablo 1: Tanım ve Kısaltmalar \n \n \n \n Kısaltma \n Tanım \n Açıklama \n İngilizce Açıklama \n İngilizce Kısaltma \n \n \n \n \n ÃS \n Ãerçeve SözleÅme \n Ãdeme hizmeti saÄlayıcısı ile müÅteri arasında tekil veya süreklilik arz eden ödeme iÅlemlerinin yürütülmesine ve mümkün olan durumlarda ödeme hesabının açılmasına iliÅkin usul ve esasları belirleyen sözleÅme \n \n \n \n \n EPK \n Elektronik Para KuruluÅu \n Kanun kapsamında elektronik para ihraç etme yetkisi verilen tüzel kiÅi \n Electronic Money Institution \n EMI \n \n \n FAST \n Fonların Anlık ve Sürekli Transferi \n TCMB tarafından iÅletilen Fonların Anlık ve Sürekli Transferi Sistemi \n \n \n \n \n FAST TR-Karekod \n FAST-TR Karekod Teknik İlke ve Kurallar Rehberi \n TR Karekodâun FAST Sistemi aracılıÄıyla gerçekleÅecek iÅlemlerde kullanılmasına iliÅkin detaylı teknik ilke ve kurallarını içeren doküman \n \n \n \n \n GEÃİT \n BKM API Geçidi \n Bankalararası Kart Merkezi (BKM) tarafından geliÅtirilen ve taraflara standart Açık Bankacılık iÅlemleri sunulmasını saÄlayan API Geçidi uygulaması \n \n \n \n \n GKD \n Güçlü Kimlik DoÄrulama \n Kimlik doÄrulamada kullanılan ve bir bileÅenin ele geçirilmesinin diÄer bileÅenin güvenliÄini tehlikeye atmayacaÄı en az iki bileÅenden oluÅan, bu iki bileÅenin de müÅterinin bildiÄi, sahip olduÄu veya biyometrik bir karakteristiÄi olan bileÅen sınıflarından farklı ikisine ait olacak Åekilde seçildiÄi yöntem \n Strong Customer Authentication \n SCA \n \n \n İB \n İÅlem Bilgisi \n GerçekleÅtirilen iÅleme iliÅkin iÅlem zamanını, iÅlemin niteliÄini ve ödeme iÅlemi için ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve ödemenin göndereni ile alıcısını veya toplu ödeme emrinin masraf, komisyon ve ücretler de dahil hesabın borçlandırılacaÄı toplam tutarını ve göndereni ile alıcılarını içeren bilgi \n \n \n \n \n İDK \n İÅlem DoÄrulama Kodu \n Kimlik doÄrulama yöntemlerinden biriyle kendisini sisteme tanıtan bir müÅterinin gerçekleÅtirmek istediÄi
16iÅleme özgü olmak ve belirli bir geçerlilik süresi içinde iÅlem onayında kullanılmak üzere oluÅturulan, finansal sonuç doÄrunan iÅlemlerde kiÅiye onay anında ilgili iÅlem bilgisi (İB) ile birlikte gösterilen, alıcı veya tutarın deÄiÅmesiyle geçersiz hale gelen bilgi \n Authentication Code \n AC \n \n \n KOLAS \n Kolay Adresleme Servisi \n Fon transferlerinde hesap numarası ile ad soyad yerine kullanılan ve belirli bir hesap ile eÅleÅtirilmiÅ telefon numarası, e-posta adresi, T.C. Kimlik Numarası (TCKN), Vergi Kimlik Numarası (VKN), Yabancı Kimlik Numarası veya Pasaport Numarası gibi Kolay Adres bilgilerinin kaydedilmesini, güncellenmesini ve sorgulamasını saÄlayan katman servis \n \n \n \n \n HBHS \n Hesap Bilgisi Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (g) bendinde tanımlanan ödeme hizmetini (hesap bilgisi hizmetini) sunan tüzel kiÅi \n Account Information Service Provider \n AISP \n \n \n HHS \n Hesap Hizmeti SaÄlayıcısı \n Nezdinde ödeme hesabı bulunan ödeme hizmeti saÄlayıcısı \n Account Servicing Payment Service Provider \n ASPSP \n \n \n ÃBHS \n Ãdeme Emri BaÅlatma Hizmeti SaÄlayıcısı \n Kanunun 12 inci maddesinin birinci fıkrasının (f) bendinde tanımlanan ödeme hizmetini (ödeme emri baÅlatma hizmetini) sunan tüzel kiÅi \n Payment Initiation Service Provider \n PISP \n \n \n ÃDK \n Ãdeme KuruluÅu \n Ãdeme hizmeti saÄlamak ve gerçekleÅtirmek için Kanun kapsamında yetkilendirilmiÅ tüzel kiÅi \n Payment Institution \n PI \n \n \n ÃH \n Ãdeme Hesabı \n Ãdeme hizmeti kullanıcısı adına açılan ve ödeme iÅleminin yürütülmesinde kullanılan hesap \n Payment Account \n PA \n \n \n ÃHK \n Ãdeme Hizmeti Kullanıcısı (MüÅteri) \n Gönderen, alıcı veya her ikisi sıfatıyla belirli bir ödeme hizmetinden faydalanan gerçek veya tüzel kiÅi \n Payment Service User \n PSU \n \n \n ÃHS \n Ãdeme Hizmeti SaÄlayıcısı \n 5411 sayılı Kanun kapsamındaki bankalar, EPK, ÃDK ve Posta ve Telgraf TeÅkilatı Anonim Åirketi(PTT) \n Payment Service Provider \n PSP \n \n \n ÃHVPS \n Ãdeme Hizmetleri Veri PaylaÅım Servisleri \n Kanunun 12ânci maddesinin birinci fıkrasının (f) veya (g) bentlerinde yer alan ödeme hizmetlerinde kullanılan veri paylaÅım servisleri \n \n \n \n \n PÃS \n Perakende Ãdeme Sistemi \n TCMB tarafından iÅletilen, iÅlemlerin Türk Lirası üzerinden gerçekleÅtiÄi MüÅteriler Arası Türk Lirası Aktarım Sistemi \n \n \n \n \n TR-Karekod \n TR-Karekod İlke ve Kuralları \n Ulusal karekod (TR Karekod) ilke ve kurallarının belirlendiÄi belge \n \n \n \n \n YÃS \n Yetkili Ãdeme Hizmeti SaÄlayıcısı \n Ãdeme emri baÅlatma hizmeti ve/veya hesap bilgisi hizmeti sunan tüzel kiÅi \n Third Party Payment Service Providers \n TPP \n \n \n Temsilci \n Temsilci \n KuruluÅ adına ve hesabına hareket eden gerçek veya tüzel kiÅi. \n \n \n \n \n \n"},{title:"3. Temel Prensipler",frontmatter:{},regularPath:"/v2.0.1/contents/temel-prensipler.html",relativePath:"v2.0.1/contents/temel-prensipler.md",key:"v-5617815a",path:"/v2.0.1/contents/temel-prensipler.html",headers:[{level:2,title:"3.1 Genel",slug:"_3-1-genel"},{level:2,title:"3.2.\tİstem (ÃaÄrı) ve Oturum",slug:"_3-2-istem-cagrı-ve-oturum"},{level:2,title:"3.3.\tRESTful API",slug:"_3-3-restful-api"},{level:2,title:"3.4.\tSürüm Yönetimi",slug:"_3-4-surum-yonetimi"},{level:2,title:"3.5.\tKaynak URI Yol Yapısı",slug:"_3-5-kaynak-uri-yol-yapısı"},{level:2,title:"3.6.\tKarakter Kodlama",slug:"_3-6-karakter-kodlama"},{level:2,title:"3.7.\tVeri Formatı",slug:"_3-7-veri-formatı"},{level:2,title:"3.8.\tİstemci Sertifika Yönetimi",slug:"_3-8-istemci-sertifika-yonetimi"},{level:2,title:"3.9.\tYetkilendirme Türleri",slug:"_3-9-yetkilendirme-turleri"},{level:2,title:"3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları",slug:"_3-10-istek-cevap-mesajlarında-kullanılan-nesne-yapıları"},{level:2,title:"3.11. Sayfalandırma ve Filtreleme",slug:"_3-11-sayfalandırma-ve-filtreleme"},{level:2,title:"3.12. Mesaj İmzalama",slug:"_3-12-mesaj-imzalama"},{level:2,title:"3.13. Durum Kodu",slug:"_3-13-durum-kodu"},{level:2,title:"3.14. Gereksinimlerinin Sınıflandırılması",slug:"_3-14-gereksinimlerinin-sınıflandırılması"},{level:2,title:"3.15. İstek BaÅlıÄı",slug:"_3-15-istek-baslıgı"},{level:2,title:"3.16. Yanıt BaÅlıÄı",slug:"_3-16-yanıt-baslıgı"},{level:2,title:"3.17. Idempotency Kuralları",slug:"_3-17-idempotency-kuralları"},{level:2,title:"3.18. HTTP Durum Kodları",slug:"_3-18-http-durum-kodları"},{level:2,title:"3.19. Maskeleme Kuralları",slug:"_3-19-maskeleme-kuralları"},{level:2,title:"3.20. Fonksiyonel Olmayan Gereksinimler",slug:"_3-20-fonksiyonel-olmayan-gereksinimler"},{level:2,title:"3.21. Otomatik Sorgular",slug:"_3-21-otomatik-sorgular"}],content:' 3. Temel Prensipler \n Bu bölümde Ãdeme Hizmetleri Veri PaylaÅım Servisleri (Hesap Bilgisi Hizmeti, Ãdeme Emri BaÅlatma Hizmeti) için tanımlanan temel prensipler açıklanmaktadır. \n 3.1 Genel \n \n \n HHSâler YönetmeliÄin 59. maddesinin beÅinci fıkrası ve Ãdeme ve Elektronik Para KuruluÅlarının Bilgi Sistemleri ile Ãdeme Hizmeti SaÄlayıcılarının Ãdeme Hizmetleri Alanındaki Veri PaylaÅım Servislerine İliÅkin TebliÄin (TebliÄ) 23. maddesinin birinci fıkrası uyarınca, ödeme hizmetleri veri paylaÅım servislerini GEÃİT aracılıÄıyla HBHS ve ÃBHSâye sunmakla yükümlüdür. \n \n \n TebliÄin 23. maddesinin ikinci fıkrası uyarınca ödeme emri baÅlatma hizmetinde açık iletiÅim servisinin tarafları ÃBHS ile HHSâdir. \n \n \n TebliÄin 23. maddesinin üçüncü fıkrası uyarınca hesap bilgisi hizmetinde açık iletiÅim servisinin tarafları HBHS ile HHSâdir. \n \n \n YönetmeliÄin 60. maddesinin birinci fıkrası uyarınca müÅteri, ödeme emri baÅlatma hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n YönetmeliÄin 61. maddesinin birinci fıkrası uyarınca müÅteri, hesap bilgisi hizmetini ödeme hesabının çevrim içi olarak eriÅilebilir olduÄu durumlarda , kullanmayı tercih edebilir. \n \n \n TebliÄin 25. maddesi uyarınca HHS ve YÃS (ÃBHS ve HBHS) arasında baÄlantı uçtan uca güvenli bir Åekilde saÄlanır. Bu amaçla iletim katmanında TLS (asgari 1.2 sürümü) ile Åifreli iletiÅim saÄlanır. \n \n \n TebliÄin 23. maddesinin dördüncü fıkrası uyarınca HHS tarafından sunulan ödeme hizmetleri veri paylaÅım servislerini kullanan yetkilendirilmiŠödeme hizmeti saÄlayıcılarının TCMB tarafından ilgili ödeme hizmeti için yetkilendirilmiÅ olduÄu kontrol edilir. \n \n \n TebliÄin 25. maddesinin beÅinci fıkrası uyarınca zaman damgası, 15/1/2004 tarihli 5070 sayılı Elektronik İmza Kanunu kapsamında tanımlanan zaman damgasına dayanır. \n \n \n API alan isimleri Türkçe olarak tanımlanmıÅtır. Ancak API baÅlıÄı (header) alanındaki alan isimleri özelinde, API Geçitleri tarafından otomatik olarak tanınabilmesi gözetilerek, İngilizce isimlendirme tercih edilmiÅtir. \n \n \n ÃHK halihazırda ödeme hesaplarına, çevrim içi (mobil bankacılık, internet bankacılıÄı vb.) eriÅebilir durumda ise, HHS\'nin varsa Açık Bankacılık kanal veya yetki tanımını varsayılan deÄeri AÃIK olacak Åekilde sunması gerekmektedir. HHSânin, Bireysel/Kurumsal/Ticari müÅteri ayrımı yapmaksızın tüm müÅterileri için, çevrim içi kanallarda hesap hareketlerine eriÅim ve ödeme yapabilme yetkisi bulunması durumunda, yine aynı Åekilde Açık Bankacılık kanal veya yetki tanımını da varsayılan deÄeri AÃIK olacak Åekilde sunması gerekmektedir. HHS Açık Bankacılık hizmetini kanal/yetki tanımı ile yönetmesi durumunda hizmeti verdiÄi ilgili kanallar(web,mobil) üzerinden müÅterisine Açma/Kapama olanaÄı Åeklinde sunması gerekmektedir. \n \n \n 5411 Sayılı Kanun kapsamındaki bankalar, HHS API içerisinde Aktif durumda listelenmemiÅken, YÃS API içerisinde listelenemezler. \n \n \n Temsilci, Yönetmelikâin 3âüncü maddesinin birinci fıkrasının (tt) bendinde "KuruluÅ adına ve hesabına hareket eden gerçek veya tüzel kiÅi" olarak tanımlanmakta olup aynı Yönetmelikâin 18âinci maddesi uyarınca, KuruluÅların ödeme hizmetlerini ele
16ktronik veya fiziki kanallar üzerinden temsilci aracılıÄıyla yürütebilmesi mümkün kılınmaktadır. \n Bu kapsamda, KuruluÅların (YÃS\'lerin) ÃHVPS kapsamında Yetkili Ãdeme SaÄlayıcı rolünde vermiÅ olduÄu hizmetleri temsilcilik iliÅkisi kapsamında 3. Taraflarca sunulabilmesi için ilk olarak e-posta yolu ile BKMâye baÅvuruda bulunması gereklidir. \n BaÅvuru sonrasında temsilcilik iliÅkisi kurulacak 3.tarafa BKM tarafından bir kod ataması yapılacaktır. \n KuruluÅlar (YÃS\'ler) BKMânin ilgili temsilci için belirleyeceÄi ve KuruluÅa ileteceÄi kodu, temsilci üzerinden baÅlatılan iÅlemlerde âX-Agent-Codeâ baÅlıÄında iletecektir.\nİstek baÅlıÄında gönderilen X-Agent-Code HHS\'ler tarafından baÅarılı bir Åekilde yanıt dönülmesi beklenmektedir. \n 3.2.\tİstem (ÃaÄrı) ve Oturum \n \n \n Her istek tekil istek numarası ve ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) içerir. Birden fazla istek içeren iÅlem YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi (istek numarası: X-Request-ID) ve rıza sürecine özgü talep kimliÄi (iÅlem grup numarası: X-Group-ID) deÄerleri kullanılmalıdır. Aynı rıza noâya ait tüm isteklerde aynı X-Group-ID bilgisi deÄeri gönderilmelidir. \n \n \n Oturum takibi ise PSU-Session-ID ile yapılır. Oturum numarası (PSU-Session-ID) ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) ile birlikte ilgili tüm iÅlem verilerini içerecek Åekilde kayıt altına alınır. \n \n \n ÃrneÄin, bir ödeme emri baÅlatma iÅlemi birden fazla istekten oluÅur. Her istek yukarıda belirtildiÄi gibi biricik istek numarası ve ÃHKâlı iÅlemler için zaman damgası (PSU-Timestamp) içerir. Ancak iÅlemin oturum bütünlüÄü PSU-Session-ID ile saÄlanır. \n \n \n Taraflar açtıkları oturumu iÅlem bütünlüÄünü saÄlayacak süre içerisinde açık tutar ve iÅlem biter bitmez kapatır. \n 3.3.\tRESTful API \n APIâler, dünya ölçeÄinde yaygın bir Åekilde kullanılan Temsili Durum Transferi (Representational State Transfer, REST) mimari tarzı ve JavaScript Nesne Notasyonu (JavaScript Object Notation, JSON) veri formatlarına uygun olarak geliÅtirilir. En üst seviye Veri Tanımlama Dili (Data Description Language) ve en iyi uygulama örnekleri için ^JSON Åeması temel alınır. \n İstek ve yanıt mesajlarında, isteÄe baÄlı veya koÅullu bir alan, deÄer içermiyorsa, bu alan JSON payloadunda yer almamalıdır. \n Ãrnek kod bloÄu. \n "rzBlg":{\n "rizaNo":"aa9bd7e7-0ccd-4edc-9639-5a358dbf2335",\n "olusZmn":"2022-11-28T12:00:21+03:00",\n "gnclZmn":null, --\x3e hatalı\n "rizaDrm":"K",\n "rizaIptDtyKod":"" --\x3e hatalı \n },\n \n Ãrnek kod bloÄu: \n \n "alc":{\n "hspNo": "TR800800004162387689546019",\n "unv": "AHMET YILMAZ", \n "kolas":{} --\x3e nesne gönderimi hatalı\n },\n 3.4.\tSürüm Yönetimi \n API sonraki aÅamalarda doÄabilecek gereksinimleri ve daha karmaÅık kullanım durumlarını karÅılamak için sürümler halinde geliÅtirilir ve bu durum tasarım sırasında göz önünde bulundurulur. \n API v1.0.2 sürümünde ; \n \n Kapsamdaki ödeme hesapları : Vadesiz TL, Döviz(yabancı para hesapları), Altın/GümüÅ/ Platin/Paladyum hesapları, Kredili Mevduat Hesapları \n Tekil ödeme (Virman/Havale/FAST/MüÅterilerarası TL Aktarım Sistemi)\n \n Virman ve havale iÅlemleri kapsamında yabancı para transferi yapılabilir. \n \n \n Hesap bilgisi hizmetleri\n \n Temel veya ayrıntılı hesap bilgisi \n Bakiye \n GerçekleÅen iÅlemler için Hesap hareketleri \n \n \n Karekodlu ödemelerdeki 01, 02 ve 03 akıŠtürleri\nyer almaktadır. \n \n API v1.1.0 sürümünde ; \n \n \n API v1.0.2 sürümüne ek Olay Bildirim ve Ayrık GKD özellikleri eklenmiÅtir. Süreçlerin daha iyi iÅlemesi için çeÅitli güncellemeler yapılmıÅtır. \n \n \n API v2.0 sürümünde ileri tarihli ödeme emri, düzenli ödeme emri, hesap bilgisi hizmeti içerisinde kart hizmetleri, YÃS üzerinden rıza güncelleme hizmetine dair güncellemeler eklenmiÅtir. \n \n \n Her sürüm deÄiÅikliÄinde bir önceki sürüm belirli bir süre desteklenecektir. DiÄer bir ifadeyle, sadece belirli bir süre için mevcut ve bir önceki sürüm aynı anda eriÅilebilir olacaktır. \n 3.5.\tKaynak URI Yol Yapısı \n YÃSâlerin baÅlattıÄı çaÄrılarda URI yolu aÅaÄıdaki yapıyı takip eder: \n [hhs-yol-ön-eki]/ohvps/ [kaynak-grubu]/ [sürüm]/ [kaynak]/[kaynak-no]/[alt-kaynak] \n Bu, aÅaÄıdaki unsurlardan oluÅur: \n \n [hhs-yol-ön-eki] \nİsteÄe baÄlı, HHS\'ye özgü yol ön ekini ifade eder. \nGEÃİT üzerinden yapılan çaÄrılarda BKM tarafından belirlenen sistem adı ve yol ön eki kullanılır. \n ohvps \nSabit metin âohvpsâ (Ãdeme Hizmetleri Veri PaylaÅım Servisleri kısaltması) \n [kaynak-grubu] \nKaynak grubu, APIâye eriÅmek için kullanılan ödeme hizmetine (HBH, ÃBH) göre eriÅim adresi (end point) grubunu tanımlar (âhbhâ veya âobhâ). \n [sürüm] \nAPI sürümünü ifade eder (â/s[ana-sürüm].[alt-sürüm]/â). \n [kaynak]/[kaynak-no] \nKaynak detaylarını ifade eder. \n [alt-kaynak] \nAlt kaynak detaylarını ifade eder. \n \n HHS, tüm kaynakları için aynı katılımcı yolu ön ekini ve sistem adını kullanmalıdır. \n BKM APIâlerine eriÅmek isteyen uygulamaların yetkilerine göre aÅaÄıdaki APIâlere abone olmaları gerekmektedir: \n OBH: \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s2.0/odeme-emri-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s2.0/odeme-emri \nHBH: \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesap-bilgisi-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar/1234/islemler \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar/1234/bakiye \nGKD \n https://gecit-api.bkmtest.com.tr/ohvps/gkd/s2.0/erisim-belirteci \nHHS â YÃS - Temsilcil
16ik API \n https://gecit-api.bkmtest.com.tr/hhs-api/s2.0/hhs \n https://gecit-api.bkmtest.com.tr/hhs-api/s2.0/hhs/1234 \n https://gecit-api.bkmtest.com.tr/yos-api/s2.0/yos \n https://gecit-api.bkmtest.com.tr/yos-api/s2.0/yos/1234 \n https://gecit-api.bkmtest.com.tr/temsilcilik-api/s2.0/temsilcilik \n https://gecit-api.bkmtest.com.tr/temsilcilik-api/s2.0/temsilcilik/12345 \n HHSâlerin saÄlayacakları APIâlerdeki URI çevrimi örnekleri aÅaÄıdaki gibidir. \n \n https://xbank.com.tr/api-portal/ohvps/obh/s2.0/odeme-emri \n https://gecit-api.bkmtest.com.tr/ohvps/obh/s2.0/odeme-emri (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s2.0/hesap-bilgisi-rizasi \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesap-bilgisi-rizasi (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s2.0/hesaplar \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar (BKM API) \n https://xbank.com.tr/api-portal/ohvps/hbh/s2.0/hesaplar/1234 \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesaplar/1234 (BKM API) \n \n GEÃİT üzerinden yapılan çaÄrılarda, istek baÅlıÄında bulunan âx-aspsp-codeâ (isteÄin iletildiÄi Hesap Hizmeti SaÄlayıcısının kodu) deÄerine göre HHS APIâde standart olarak tanımlanmıŠolan âbasePathâ bilgisine servis uzantısı eklenerek HHSâye yönlendirme yapılır. \n ÃrneÄin, istek baÅlıÄında xbank âın kodu varsa, YÃS tarafından yapılan \n https://gecit-api.bkmtest.com.tr/ohvps/hbh/s2.0/hesap-bilgisi-rizasi \nçaÄrısı GEÃİT tarafından karÅılanarak \n https://xbank.com.tr/api-portal/ohvps/hbh/s2.0/hesap-bilgisi-rizasi \nadresine yönlendirilir. \n Bu örnekte, https://xbank.com.tr/api-portal basePath bilgisi HHS tarafından HHS APIâye girilen deÄerdir. \n ÃNEMLİ : URI Query parametreleri GET ile iletilirken deÄerlerde url-encode yapılmalıdır. Ãrnek bir API isteÄi; \nGET /ohvps/hbh/s2.0/hesaplar/xxx/islemler?hesapIslemBslTrh=2023-02-07T16:42:38%2B03:00&hesapIslemBtsTrh=2023-02-07T17:09:18%2B03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfKytSayi=10&syfNo=1 \n Burada \'+\' karakterinin boÅluk olarak algılanmaması için %2B deÄeri ile iletilmiÅtir. \n 3.6.\tKarakter Kodlama \n API istekleri ve yanıtlarının BaÅlık parametrelerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. 3.15. İstek BaÅlıÄı bölümünde detaylandırılmıÅtır. \n API istekleri ve yanıtlarında Gövde parametrelerinde UTF-8 karakter kodlaması kullanılır. Bu, JSON için varsayılan karakter kodlamasıdır. \n Ancak, bir HHS\'nin kendi uygulamaları ve ödeme baÅlattıÄı ödeme sistemi (Havale vb.) bazı UTF-8 karakterlerini kabul etmeyebilir. HHS, UTF-8 kodlaması içeren bir mesajı iÅleyemez ve reddederse, HTTP 400 (Hatalı İstek) durum kodu ile yanıt vermelidir. \n ÃHVPS kapsamında iletilen deÄerler içerisinde iÅlenemeyecek karakterler var ise "TR.OHVPS.Business.InvalidCharacter" hatası verilir. \n Gövde parametrelerinde desteklenen UTF-8 karakter kümesi aÅaÄıda listelenmiÅtir. \n \n \n \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n Karakter \n UTF 8 Hex. \n \n \n \n \n \n 20 \n = \n 3d \n X \n 58 \n r \n 72 \n \n \n ! \n 21 \n ? \n 3f \n Y \n 59 \n s \n 73 \n\n 23 \n @ \n 40 \n Z \n 5a \n t \n 74 \n \n \n % \n 25 \n A \n 41 \n [ \n 5b \n u \n 75 \n \n \n & \n 26 \n B \n 42 \n \\ \n 5c \n v \n 76 \n \n \n \' \n 27 \n C \n 43 \n ] \n 5d \n w \n 77 \n \n \n ( \n 28 \n D \n 44 \n ^ \n 5e \n x \n 78 \n \n \n ) \n 29 \n E \n 45 \n _ \n 5f \n y \n 79 \n \n \n * \n 2a \n F \n 46 \n a \n 61 \n z \n 7a \n \n \n + \n 2b \n G \n 47 \n b \n 62 \n { \n 7b \n \n \n , \n 2c \n H \n 48 \n c \n 63 \n } \n 7d \n \n \n - \n 2d \n I \n 49 \n d \n 64 \n à \n c3 87 \n \n \n . \n 2e \n J \n 4a \n e \n 65 \n à \n c3 96 \n \n \n / \n 2f \n K \n 4b \n f \n 66 \n à \n c3 9c \n \n \n 0 \n 30 \n L \n 4c \n g \n 67 \n ç \n c3 a7 \n \n \n 1 \n 31 \n M \n 4d \n h \n 68 \n ö \n c3 b6 \n \n \n 2 \n 32 \n N \n 4e \n i \n 69 \n ü \n c3 bc \n \n \n 3 \n 33 \n O \n 4f \n j \n 6a \n Ä \n c4 9e \n \n \n 4 \n 34 \n P \n 50 \n k \n 6b \n Ä \n c4 9f \n \n \n 5 \n 35 \n Q \n 51 \n l \n 6c \n İ \n c4 b0 \n \n \n 6 \n 36 \n R \n 52 \n m \n 6d \n ı \n c4 b1 \n \n \n 7 \n 37 \n S \n 53 \n n \n 6e \n Å \n c5 9e \n \n \n 8 \n 38 \n T \n 54 \n o \n 6f \
16n Å \n c5 9f \n \n \n 9 \n 39 \n U \n 55 \n p \n 70 \n \n \n \n \n : \n 3a \n V \n 56 \n q \n 71 \n \n \n \n \n ; \n 3b \n W \n 57 \n \n \n \n \n \n \n \n Ancak EriÅim belirteci, Yenileme belirteci ve Authorization parametreleri daha dar bir karakter kümesi ile doldurulmalıdır. \n Bearer HTTP Authorization Åeması RFC 6750\'de tanımlanmıÅtır. https://www.rfc-editor.org/rfc/rfc6750#section-2.1 bölümünde izin verilen karakterlerin gönderilmesi beklenmektedir. Buradaki standartın her 3 parametre için de uygulanmasına karar verilmiÅtir. \n RFC 6750 içerisinde bearer token formatı Åu Åekildedir : 1*( ALPHA / DIGIT / "-" / "." / "_" / "~" / "+" / "/" ) *"=" \nAugmented BNF for Syntax Specifications (ABNF) ile ifade edilen bu formatta token en az 1 adet alfanumerik karakter veya özel karakter ("-", "." , "_" , "~" , "+" , "/") içermeli ve 0 ya da daha çok sayıda "=" karakteri ile bitmelidir. \n ALPHA = A-Z / a-z aralıÄındaki harflerdir. \nDIGIT = 0-9 aralıÄındaki rakamlardır. \n 3.7.\tVeri Formatı \n \n Açık bankacılık kapsamındaki zaman damgası, ISO 8601 standartına uygun olarak yerel saat bilgisini ve timezone bilgisini de içerecek Åekilde " yyyy-MM-ddâTâHH:mm:ssXXX " formattaki haliyle hazırlanmalıdır. \n \n Ãrnek: "timestamp": "2021-05-30T20:34:15+03:00" \nyyyy : 4 hane yıl \nMM : BaÅa â0â eklenmiÅ, toplam 2 hane ay \ndd : BaÅa â0â eklenmiÅ, toplam 2 hane gün \nHH : BaÅa â0â eklenmiÅ, toplam 2 hane saat (0-23 arası deÄer alabilir.) \nmm : BaÅa â0â eklenmiÅ, toplam 2 hane dakika \nss : BaÅa â0â eklenmiÅ, toplam 2 hane saniye \nXXX : ISO 8601 Time zone \n \n \n Zaman damgası hesaplamalarında, yeni günün baÅlangıç saatinin 00:00:00 olduÄu kabul edilmiÅtir. \n \n \n JWT veri paketlerinde kullanılan zaman damgaları, 1 Ocak 1970 Saat 00:00:00 (UTC) anından itibaren geçen saniye sayısı deÄerini (Unix Time) kullanmalıdır. \n \n \n Bir HHS, tarihi yanlıŠbiçimlendirilmiÅ bir istek aldıÄında, 400 (Hatalı İstek) durum kodu ve ilgili hata kodu ile yanıt vermelidir. \n \n \n ISO 4217 Standartında para birimleri ve kaç basamak ondalık deÄer içerebilecekleri belirlenmiÅtir. \n https://www.iso.org/iso-4217-currency-codes.html adresinden ücretsiz olarak listeye eriÅilebilir. \nAPI Standartlarında da para birimleri ISO 4217âde tanımlanmıŠolan 3 harfli kodlarla iletilir. Tüm tutar alanları ISO 4217\'de tanımlanmıŠpara birimlerinin ondalık basamak deÄerleri de göz önünde bulundurularak iletilmelidir. Tutar alanları artı ya da eksi deÄer alabileceÄi için API deseninde tanımlanmıŠregular expressionlar dikkate alınmalıdır. \nÃrneÄin; Bakiye API\'sindeki "Kredili Mevduat Hesabı Bakiyesi" alanı "-100.25" ve "Para Birimi" alanı "TRY" olarak iletildiÄinde 25 deÄerinin kuruÅ olduÄu anlaÅılmalıdır. \nÃdeme Emri Rızası API\'sinde yer alan "İÅlem Tutarı" alanı "104.75" TRY olarak iletildiÄinde "75" deÄerinin kuruÅ olduÄu anlaÅılmalıdır. \n"12000" Japon Yeni için, ISO 4217âde JPY para biriminin ondalık kısmı olmadıÄından "İÅlem Tutarı" alanında "12000" ve "Para Birimi" alanında "JPY" deÄeri iletilmelidir. \n \n \n Altın para birimi özelinde ISO 4217âye uygun olarak "XAU" cinsinde ve 2 basamak ondalık rakam içerecek Åekilde iletilmelidir. ÃrneÄin içerisinde "13,50 gr" altın olan hesap için bakiye "13.50", para birimi "XAU" olarak gönderilmelidir. \n \n \n DiÄer madenlerde ondalık basamak ISO 4217 standartında tanımlandıÄı gibi olmalıdır. \n \n \n Sıralı veri tipleri büyük küçük harfe duyarlı olmalıdır. \n 3.8.\tİstemci Sertifika Yönetimi \n ÃHVPS kapsamında YÃS ve HHSâlerin güvenli bir Åekilde tanımlanması amacıyla elektronik sertifikalar kullanılır. \n ÃHVPS kapsamında tarafların güvenli bir Åekilde tanımlaması, uçtan uca güvenli iletiÅim, mesaj Åifreleme ve mesaj imzalama iÅlevleri 15/1/2004 tarihli ve 5070 sayılı Elektronik İmza Kanunuânda açıklanan elektronik sertifikalar kullanılarak saÄlanır. Elektronik sertifikada Türkiye Cumhuriyet Merkez Bankası tarafından verilen kuruluÅ kodu ve kuruluÅun türüne dair bilgiler bulunur. \n GEÃİT üzerinden yapılan eriÅimlerde YÃS ve HHSâlere önceden daÄıtılmıŠolan istemci sertifikaları kullanılarak tarafların (sunucu) kimlikler
16inin doÄrulanması saÄlanacaktır. İstemci sertifikaları hem test hem de üretim ortamında kullanılacaktır. Sertifikaların iÅlevselliÄi ve geçerliliÄi sertifikasyon sürecinde de sınanacaktır. Söz konusu sertifikaların daÄıtım prosedürleri ve kullanımlara yönelik açıklamalar EK-3âte yer verilmiÅtir. \n 3.9.\tYetkilendirme Türleri \n GEÃİT üzerinden yapılan çaÄrılarda iki temel yetkilendirme türü kullanılır: \n 1.\tİstemci Kimlik Bilgileri: MüÅteri onayının gerekmediÄi, sadece YÃSâün tanımlanıp doÄrulandıÄı API çaÄrılarında kullanılır. YÃSâün yetkilendirilmiÅ olduÄu ve faaliyet izninin yaptıÄı hizmet çaÄrısına uygun olduÄu kontrol edilir. Bu amaçla, YÃSâlere clientId ve clientSecret tahsis edilecektir. YÃSâler ilgili clientId ve clientSecret ile sadece yetkilendirilmiÅ oldukları servislere eriÅebileceklerdir. YÃSâler kendilerine BKM tarafından sunulacak APIâyi, kendi clientID ve clientSecret deÄerleri ile sorgulayarak âİstemci Kimlik Bilgileriâ belirtecini (access token) elde edeceklerdir.\nHHSâler de GEÃİT üzerindeki YÃS APIâsini sorgulama maksadı ile GEÃİT\'e geldiklerinde, kendilerine atanmıŠolan clientID ve clientSecret bilgileri ile yetki kontrolleri yapılır.\nHHS ve YÃSâler ; ilettikleri client id ve secret deÄerleri kullanılarak oluÅturulacak bearer authentication metodu ile servislerini sunacaklardır. \n 2.\tYetkilendirme Kodu: YÃSâün doÄrulanmasının yanısıra müÅterinin GKD ile doÄrulanması gereken API çaÄrılarında kullanılır. MüÅteri doÄrulanarak yetkilendirme kodu oluÅturulması HHSânin yetkilendirme arayüzüne yönlendirilir. GKDânin baÅarıyla tamamlanması sonrasında yetkilendirme kodu YÃSâe dönülür. YÃS daha sonra HHSânin eriÅim belirteci (access token) eriÅim adresini (EK-3: POST /erisim-belirteci) çaÄırmak suretiyle yetkilendirme kodunu bir eriÅim belirteci (access token) ile deÄiÅtirerek ilgili kaynakları kullanabilir. \n Ãdeme emri baÅlatma ve hesap bilgisi hizmetlerinde hangi yetkilendirme türlerinin kullanılacaÄı bilgisi, ilgili baÅlıklardaki eriÅim adresleri (endpoints) tablolarında yer almaktadır. \n erisim-belirteci erisim noktasından elde edilen erisimBelirteci iliÅkilendirildiÄi nesne veya iÅlem için gönderilen POST isteÄi baÅlıÄında x-access-token alanında iletilir.\nBelirli bir süre için tanımlanan eriÅim belirteci (access token) deÄerinin yenileme belirteci (refresh token) ile yenilenmesi gerekir. \n EriÅim adreslerinde kullanılan yetkilendirme türü ilgili eriÅim adresi tablolarında belirtilmiÅtir. \n 3.10. İstek/Cevap Mesajlarında Kullanılan Nesne Yapıları \n İstek ve Cevap mesajlarında kullanılacak olan nesneler tüm elemanlarını kapsayacak Åekilde Ek-1 de listelenmiÅtir. Tüm listelenen elemanlar açısından (Uç nokta mesaj yapılarının belirtildiÄi tablolarda belirtildiÄi üzere) alanın Zorunlu (z) veya İsteÄe BaÄlı (İ) olma durumlarına göre bazı alanlar gönderilebilir veya gönderilmeyebilir. \n 3.11. Sayfalandırma ve Filtreleme \n Sayfalandırma \n ÃaÄrıya dönülen kaynak nesnesi içerisindeki kayıtlar bir sayfalandırma yapısı ile çaÄrılacak Åekilde istek oluÅturulur. \n OluÅturulacak isteÄin içerisinde parametreler ile filtreleme, sayfa baÅına gösterilecek kayıt sayısı ve hangi sayfanın önyüzde gösterileceÄi bilgileri eriÅim noktasına iletilir ve ilgili kayıtlar cevap olarak alınır. \n Filtreleme \n HHS, birden çok kayıt dönülmesi gereken GET çaÄrılarında sınırlı filtreleme desteÄi saÄlamalıdır. Filtre parametreleri her zaman kaynak nesnesinin belirli alanlarına özgüdür ve nesne için tanımlanan kurallara uymalıdır. \n 3.12. Mesaj İmzalama \n Elektronik imzalar, ÃHVPS APIâde gerçekleÅtirilen iÅlemlerin ve taÅınan verilerin bütünlük ve inkâr edilemezliÄini destekler. İmzaların kaynak bazında hangi istek ve yanıtlara uygulandıÄı belirlidir. \n API yalnızca TLS\'ye dayanırsa, dijital kayıtları ve inkâr edilemezlik kanıtlarını tutmak zor olur. Bu nedenle, TLS\'ye dayanmayan bir inkâr edilemezlik çözümü olarak API isteÄinin HTTP baÅlıÄında bir JWS kullanılarak saÄlanabilir. \n HTTP isteÄinin gövdesinin hash fonksiyonu (SHA256) ile özeti alınacaktır. Elde edilen özet, asimetrik anahtarları de
16stekleyen bir algoritma kullanılarak imzalanacak ve JWS elde edilecektir. İsteÄin kendinize geldiÄi durumda body üzerinde hiç bir deÄiÅikliÄe tabi tutmadan (serialize/deserialize, minify, trim, vb yapmadan) doÄrulama yapmanız gerekmektedir. Aynı Åekilde isteÄin kendinizden çıktıÄı aÅamada da response body üzerinde hiç bir deÄiÅikliÄe tabi tutmadan (serialize/deserialize, minify, trim, vb yapmadan) mesaj imzalama yapılmalıdır. \n Bir istek, YÃS\'nin özel anahtarı ile imzalanacak ve bu isteÄe karÅılık gelen yanıt, HHS\'nin özel anahtarı tarafından imzalanacaktır. \n Tüm API istekleri ve yanıtları imzalanmaz. Mesaj imzalamanın zorunlu olup olmadıÄı, desteklenip desteklenmediÄi her API özelinde belirlenir. \n Anahtar Deposu \n HHS\'ler ve YÃS\'ler tarafından güvenilen bir Güven Otoritesi (Trust Anchor), taraflar için bir genel anahtar deposu saÄlamaktan sorumludur. \n Güven Otoritesi, taraflardan herhangi birisinin oluÅturduÄu bir anahtar çiftinin açık bölümünü saklayan merkezi bir dizin (BKM tarafından tutulan merkezi kayıt sistemi vb.) olacaktır. \n Mesajları doÄrulamak için tarafların genel anahtarlarının paylaÅılması için BKM bir servis saÄlayacaktır. HHS API olarak adlandırılımıŠolan bu servis ile HHS ve YÃS listelerine ulaÅılabildiÄi gibi doÄrulama iÅlemi için ihtiyaç duyulacak olan genel anahtarlara da bu servis üzerinden eriÅilebilinecektir. \n İlgili Mesaj Åifreleme için genel akıÅ, Ek-5 bölümünde detaylarıyla paylaÅılmaktadır. \n 3.13. Durum Kodu \n APIâler, iki farklı amaca hizmet eden iki durum kodu kullanır: \n \n HTTP Durum Kodu, API çaÄrısının (kaynaktaki HTTP iÅlemi) sonucunu yansıtır. \n Bazı kaynak payloadâlarındaki Durum alanı, kaynakların durumunu yansıtır. \n 3.14. Gereksinimlerinin Sınıflandırılması \n EriÅim adreslerinin ve alanların kullanımı Zorunlu(Z), İsteÄe BaÄlı(İ) veya KoÅullu(K) olabilir. Kullanımlara iliÅkin durumlar ve kullanımın (K) koÅullu olduÄu duruma iliÅkin açıklamalar ilgili tablolarda belirtilmiÅtir. \n ÃHVPS API\'lerinin (HBH,ÃBH,GKD) istek ve yanıtta kullanılacak baÅlık isimleri, ilgili RFC dokümanlarında ve aÅaÄıdaki tabloda yer aldıÄı Åekilde kullanılacaktır. Uygulamaya özelleÅmiÅ baÅlıklar "X-" ile baÅlayacaktır. BaÅlık isimlerinde yer alacak kısaltmalar (örn. PSU, ASPSP gibi) tamamı büyük harfle yazılacak Åekilde tanımlanacaktır. BaÅlık isimleri büyük â küçük harfe duyarlı olmamalıdır. ÃrneÄin x-request-id ya da X-Request-ID olarak gönderilmiÅ olan bir istek baÅlıÄı deÄiÅkeni, sunucu tarafında hata vermeyecek Åekilde iÅlenebilmelidir. \n 3.15. İstek BaÅlıÄı \n \n "BaÅlık isimleri" yorumlanırken küçük büyük harfe duyarlı olmamalıdır. ÃrneÄin "x-ReQuEsT-Id" geçerli bir baÅlık ismidir. \n "BaÅlık deÄerleri" yorumlanırken ise küçük büyük harf duyarlılıÄı olmalıdır. ÃrneÄin "xyz123" ile "XYZ123" deÄerleri farklıdır. \n BaÅlık deÄerlerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. ÃrneÄin "PSU-Device-Data" deÄerinde "İOS12" yazmak, büyük "İ" harfinin ISO-8859-1 içerisinde yer almamasından dolayı, hataya yol açacaktır. \n İstek baÅlıÄında aÅaÄıdaki tabloda belirtilen alanlar dıÅında gönderim yapılmamalıdır. \n İstek baÅlıÄında boÅ deÄer içeren bir baÅlık ismiyle gönderim yapılmamalıdır. Ãrnek; "PSU-Initiated":"" \n İstek ve Yanıt baÅlıÄında yer alan alanların; POST GET DELETE methodlarında, OBH,HBH,GKD,OAS,ODS API\'leri bazında Zorunlu/KoÅullu/İsteÄe BaÄlı kullanım durumları aÅaÄıdaki tabloda listelenmiÅtir. \n \n Tablo 2: İstek BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n POST \n GET \n DELETE \n POST \n GET \n DELETE \n \n \n \n \n \n \n \n OBH HBH GKD \n OBH HBH GKD \n OBH HBH GKD \n OAS ODS \n OAS ODS \n OAS ODS \n \n \n X-Request-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası. Ãrnek: Ãdeme emri baÅlatma iÅ akıÅının her adımda farklı âx-request-idâ deÄeri kullanılır. ÃaÄrıların aynı yanıtı dönmesinin beklendiÄi durumlarda (idempotent iÅlemlerde) aynı deÄer ile çaÄrı yapılır. \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. Aynı rıza noâya ait tüm isteklerde aynı x-group-id bilgisi deÄeri gönderilmelidir. Ãrnek: Ãdeme emri baÅlatma/hesap bilgisi iÅ akıÅının her adımında aynı âx-group-idâ deÄeri kullanılır. \n Z \n Z \n Z \n - \n
16- \n - \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder. Bu deÄerin application/json olarak gönderilmesi gerekmektedir. Hata durumlarında application/problem+json da iletilebilir. (BaÅka bir deÄere ayarlanırsa, HHS, 415 Desteklenmeyen Ortam Türü (Unsupported Media Type) ile yanıt vermelidir) \n Z \n - \n - \n Z \n - \n - \n \n \n X-ASPSP-Code \n AN4 \n Hesap Hizmeti SaÄlayıcısının (HHS) kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-TPP-Code \n AN4 \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n PSU-Auth-Date \n ISODateTime \n ÃHKânın YÃS üzerinde en son oturum açtıÄı saat. [RFC7231] ÃrneÄin: auth-date: Tue, 11 Sep 2012 19:43:31 GMT \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-IP-Address \n AN7..15 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın IP adresi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-IP-Port \n AN1..5 \n ÃHK YÃS üzerinde oturum açmıÅsa, iÅlemi baÅlattıÄı cihazın Port adresi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-GEO-Location \n AN1..36 \n ÃHKânın iÅlemi baÅlattıÄı cihazın konum bilgisi. RFC2426 standartına uygun olarak paylaÅılmalıdır. ÃrneÄin GEO:"<enlem >, <boylam>GEO:52.506931,13.144558 \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-User-Agent \n AN 1.. 255 \n ÃHKânın iÅlemi baÅlattıÄı cihazın saÄladıÄı user-agent bilgisi. (Tarayıcı, versiyon, iÅletim sistemi bilgileri) \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Timestamp \n ISODateTime \n ÃHKânın iÅlemi baÅlattıÄı cihazın tarih saat içeren zaman bilgisi. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Device-ID \n AN5..40 \n ÃHK iÅlemi mobil uygulama aracılıÄıyla baÅlattıysa, kullanılan mobil uygulama ilk yüklendiÄinde oluÅturulan tekil cihaz veya uygulama belirteci. ÃHK cihazının UUID deÄeri kullanılabilir. \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Device-Data \n AN1..1024 \n ÃHKânın iÅlemi baÅlattıÄı mobil cihaza ait veriler. Ãrnek alanlar: - Platform - (Android, iOS, Windows 10 Mobile) - Device Model - OS Name - OS Version - Locale - Time zone \n İ \n İ \n İ \n - \n - \n - \n \n \n PSU-Initiated \n AN1 \n İÅlemin ÃHK tarafından baÅlatılması durumunda E , sistem tarafından baÅlatıldıÄı durumda H deÄerini, olay bildirimine istinaden yapılacak isteklerde O deÄerini alması beklenir. İÅlemler servisinde yapılacak sistemsel sorgulardaki iÅlem limitlerini kontrol amacıyla kullanılır. O deÄerinin gönderilebileceÄi API\'ler Asıl Verinin Elde EdileceÄi API olarak ilgili sayfada yer alan Olay Tipleri ve Kaynak Tipleri İliÅkisi tablosunda yer almaktadır. Asıl verinin elde edileceÄi API\'ler özelinde O gönderimi yapılabilir. O olarak yapılan her isteÄe HHS\'nin yanıt vermesi gereklidir. Otomatik sorgularda uygulanan üst limitler, O gönderimi durumunda geçerli deÄildir. \n Z \n Z \n Z \n - \n - \n - \n \n \n PSU-Fraud-Check \n AN1..4096 \n YÃS\'lerin çeÅitli güvenlik kontrollerini gerçekleÅtirerek, önemli görülen aÅaÄıdaki bilgileri HHS\'ler ile paylaÅmaları gerekmektedir. Bu bilgiler ıÅıÄında müÅterinin profili oluÅturulmasına katkı saÄlanacaktır. ÃHKâlı iÅlemlerde (PSU-Initiated = E gönderildiÄi durumlarda) gönderilmesi zorunludur. Sistemsel yapılan API çaÄrımlarımda, Olay Bildirim Servis ÃaÄrımlarında ve HHS-YÃS API çaÄrımlarında gönderilmesine gerek bulunmamaktadır. PaylaÅılacak bilgiler Åu Åekildedir. FirstLoginFlag : ÃHK\'nın, müÅterilik ömründe ilgili YÃS sistemine (mobil ya da web uygulaması) ilk login olma süresini ifade eden deÄer. ÃHK\'nın ilk yaptıÄı HBH ya da ÃBH iÅlemi deÄil, YÃS sisteminde kendini aktifleÅtirme tarih aralıÄı bilgisidir. YÃS, kullanıcının ilk login bilgisini tutarak sonraki iÅlemlerinde bu bilgiyi belirlenen format ile HHS\'ye aktaracaktır. ÃrneÄin; YÃS\'ün 7 aydır müÅterisi olan bir kullanıcı için bu alan "5" olarak YÃS tarafından beslenecektir. Burada amaç; ilgili kullanıcının YÃS\'ün eski bir müÅterisi mi, yoksa yeni bir müÅterisi mi olup olmadıÄını anlamaktır. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. DeviceFirstLoginFlag : ÃHK\'nın, müÅterilik ömründe iÅlem anında kullandıÄı cihazla YÃS uygulamasına (web ya da uygulama tabanlı) ilk login olma süresini ifade eden deÄer. ÃHK cihaz deÄiÅikliÄi yaparsa FirstLoginFlag deÄeri sabit kalmalı ancak DeviceFirstLoginFlag deÄeri deÄiÅmelidir. FirstloginFlag deÄeri ile ÃHKânın YÃS uygulamasına ilk login tarih bilgisi ile ilgili bilgi verilirken, DeviceFirstLoginFlag ile de ÃHKânın YÃS uygulamasına farklı bir cihaz aracılıÄı ile ilk login tarihinin bilgisi verilmektedir. ÃrneÄin; ÃHK 7 aydır YÃS\'ün müÅterisi olabilir, böyle bir durumda FirstLoginFlag deÄeri "5" olacaktır. Ancak son iÅlemini daha önce hiç kullanmadıÄı bir cihazdan yapmıÅtır. Yeni cihazdaki login süre aralıÄı 0-2 sa
16at aralıÄında olduÄu için DeviceFirstLoginFlag deÄeri "1" olacaktır.FirstLoginFlag deÄeri yine "5" olarak kalmaya devam edecektir.Bu bilgi ile YÃS, ilgili HHS\'ye ilk kez geliyor olsa bile; HHS, müÅterinin YÃS\'ü uzun süredir kullandıÄını ama yeni bir cihazla iÅlemlerine devam ettiÄini anlayabilecektir. Bir ÃHK, farklı cihazlar veya platformlar üzerinden YÃS ile etkileÅime girebilir. Kullanıcı ve YÃS arasında bir oturum baÅlatılmıŠise YÃSâün tutarlı ve kalıcı bir kimlik (device id) ataması beklenmektedir. Device ID: Web sitesi veya mobil uygulama kullanıcıları için üretilen, tarayıcı ya da mobil uygulama tabanlı benzersiz (tekil) tanımlayıcı deÄer. Mobil uygulamalar için ÃHKânın ilk defa ilgili cihaza aktivasyon yaptıÄı tarih bilgisi alınmalıdır. Device ID bilgileri YÃS uygulama ortamı (web ya da uygulama tabanlı) ve ÃHK cihazı bazında tutulmalıdır. YÃSâten baÅlatılan iÅlem hangi uygulama ortamına ait ise ilgili ortamala iliÅkili tutulan Device IDânin ilk login tarihine bakılarak güncel flag deÄeri hesaplanmalıdır. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. LastPasswordChangeFlag : ÃHK\'nın, YÃS (cihaz baÄımsız) uygulamasına login olduÄu Åifre bilgisinin en son deÄiÅtirildiÄi süreyi ifade eden deÄer. MüÅterinin en son ne zaman Åifre deÄiÅikliÄi yaptıÄını anlamak için kullanılan alandır. Yeni müÅteri ve hiç Åifre deÄiÅikliÄi yapmamıŠolabilir, böyle bir durumda ilgili alan "0" olarak beslenecektir. Gönderilmesi Zorunlu alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. BlacklistFlag : ÃHK\'nın herhangi bir sebeple YÃS\'ün sakıncalı müÅteriler listesinde bulunup bulunmadıÄını ifade eden deÄer. Burada amaç herhangi bir sebeple YÃS tarafında yasaklı olarak kayıtlı olan ÃHK bilgisinin, dolandırıcılıÄı önceden tespit etmek amaçlı HHS\'ye aktarılması olarak açıklanabilir. ÃrneÄin, YÃS tarafından tespit edilen dolandırıcı kullancılara ait device id bilgisi, bu kara listede tutulur daha sonra aynı cihazla baÅka bir ÃHK iÅlem yapacak olsa bile bu alanda ilgili bilgi "1" deÄeri ile HHS\'ye aktarılır. HHS\'de olmayıp YÃS tarafında olan bu örnekteki sakıncalı müÅteri/cihaz bilgisinin, dolaylı yoldan HHS\'ye aktarılması amaçlanmaktadır. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.VarYok sıralı veri tipinin alabileceÄi deÄerleri alabilir. MalwareFlag : YÃS uygulamasının çalıÅtıÄı cihaz üzerindeki son 21 güne ait zararlı yazılım tespit bilgisini ifade eden deÄer. ÃrneÄin ÃHK\'nın cihazında zararlı yazılım olduÄu ayın 1\'inde YÃS tarafından tespit edildi. Zararlı yazılım tespitinden 2 saat sonra YÃS üzerinden login olan ÃHK\'nın durumu, "1" olarak iletilecektir. Bir gün sonra ayın 2\'sinde, yeni bir zararlı yazılım tespiti yok ancak mevcut zararlı yazılım aktifse alan "2" deÄeri ile iletilecektir. Süreler artarak 21 güne kadar TR.OHVPS.DataCode.ZmnAralik deÄerlerine göre iletilecektir.Son 21 gün içinde yeni bir tespit yoksa ayın 22\'sinden itibaren ilgili alan "0" deÄeri ile beslenecektir. Not: Zararlı yazılım, bankacılık iÅlemlerinin yapıldıÄı uygulamalara giriÅte kullanılan bilgilerin (Åifre, kullanıcı kodu gibi) ele geçirilmesi amacıyla kullanılan bir uygulama ya da kod parçacıÄı olabilir. Bu amaçlar dıÅında kullanılan (bankacılıÄa yönelik bir zararlı yazılım olmayan) yazılım tespitleri iletilmemelidir. YÃS kanallarına her bir loginde, kullanılan cihazda bir zararlı yazılım var mı yok mu kontrolü yapılmalıdır. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. AnomalyFlag : DiÄer Åüpheli durumların varlıÄını ifade eden deÄer. Gönderilmesi Opsiyonel alandır. TR.OHVPS.DataCode.VarYok sıralı veri tipinin alabileceÄi deÄerleri alabilir. UnsafeAccountFlag : HHS tarafından aktarılan bilgi ile son 21 gün içinde ÃHK\'nın dolandırıcılık maÄduru olması durumunu ifade eden deÄer. ÃrneÄin; HHS 1, ayın 1\'inde süphe veya sahtekarlık nedeniyle bir ödeme iÅlemine izin vermediÄi durumda, bu bilgiyi rıza iptal detay kodu ile YÃS\'e aktarmıŠolur. Bu bilgiyi tutan YÃS, ilgili müÅterinin 15 dakika sonra HHS 2\'de yaptıÄı iÅlem için ilgili alanı "1" deÄeri ile besler. Böylece HHS 2, ÃHK\'nın farklı bir HHS\'de son 15 dakika içinde Åüpheli veya sahte bir iÅlemi olduÄunu anlayabilecektir. Ayın 22\'sinde yeni bir tespit/kayıt yoksa bu alan YÃS tarafından "0" olarak beslenecektir. Gönderilmesi Opsiyonel alandır.TR.OHVPS.DataCode.ZmnAralik sıralı veri tipinin alabileceÄi deÄerleri alabilir. Flaglar JWT claims içine key value Åeklinde eklenerek gönderilecektir. EK-5: Mesaj İmzalama AkıÅı\'nda belirtilen yöntemle imzalanarak oluÅturulan JWT PSU-Fraud-Check alanına konularak YÃS\'ler tarafından HHS\'ye iletilmelidir. \n K \n K \n Z \n - \n
16- \n - \n \n \n PSU-Session-ID \n AN1..100 \n İsteÄi baÅlatan YÃS tarafından belirlenen oturuma özgü talep kimliÄi. ÃHK\'nın YÃS uygulaması üzerinden kimlik doÄrulama mekanizması ile bilgi sistemlerine dâhil olmalarından iÅlemlerini tamamlayıp sistemden ayrılmalarına kadar geçecek tüm süreci kapsayacak Åekilde aynı deÄeri almalıdır. Tek seferlik ödeme gibi ÃHKânın tanınmadan baÅlatıldıÄı iÅlemlerde bu deÄer boÅ olarak iletilmelidir. \n İ \n İ \n İ \n - \n - \n - \n \n \n Authorization \n AN1..4096 \n Katılımcı ile GEÃİT arasındaki otorizasyon için kullanılan token bilgisidir. Yekilendirme türlerinden İstemci Kimlik Bilgileriâni adresler. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. \n Z \n Z \n Z \n Z \n Z \n Z \n \n \n X-Access-Token \n AN1..4096 \n ÃHKânın GKD sürecinde doÄrulanması sonrasında kullanılan eriÅim simgesi. Yetkilendirme türlerinden Yetkilendirme Kodu (GKD)ânu adresler. Bölüm 3.6 Karakter Kodlama bölümünde açıklanan karakter formatında gönderilmesi beklenmektedir. \n İ \n İ \n İ \n - \n - \n - \n \n \n X-JWS-Signature \n AN1..4096 \n Payload gövdesinin ayrılmıŠbir JWS imzasını içeren üstbilgi. Bu baÅlıÄın ne zaman belirtilmesi gerektiÄi hususu ilgili endpoint için belirtilmiÅtir. Mesaj imzalama kullanılan API ve methoda göre gönderimi zorunludur. \n K \n K \n K \n K \n - \n - \n \n \n X-Agent-Code \n AN5 \n Temsilci kodunu ifade etmektedir. Bu kod, YÃSâlerin ÃHVPS kapsamındaki hizmetleri temsilcilik iliÅkisi çerçevesinde üçüncü taraflar aracılıÄıyla sunabilmesi amacıyla BKMâye yapılan baÅvurunun uygun bulunmasının ardından BKM tarafından atanır. Temsilci aracılıÄıyla gerçekleÅtirilen tüm iÅlemlerde, ilgili temsilciye ait X-Agent-Code bilgisinin request headerâında iletilmesi zorunludur. HHSâler, YÃSâler tarafından iletilen X-Agent-Code bilgisini kendi sistemlerinde saklayabilir ve iÅlem kayıtlarıyla iliÅkilendirebilir. \n K \n K \n K \n K \n K \n K \n 3.16. Yanıt BaÅlıÄı \n \n "BaÅlık isimleri" yorumlanırken küçük büyük harfe duyarlı olmamalıdır. ÃrneÄin "x-ReQuEsT-Id" geçerli bir baÅlık ismidir. \n "BaÅlık deÄerleri" yorumlanırken ise küçük büyük harf duyarlılıÄı olmalıdır. ÃrneÄin "xyz123" ile "XYZ123" deÄerleri farklıdır. \n BaÅlık deÄerlerinde ISO-8859-1 standartında yer alan karakter kümesi kullanılmalıdır. ÃrneÄin "Link" deÄerinde "İOS12" yazmak, büyük "İ" harfinin ISO-8859-1 içerisinde yer almamasından dolayı, hataya yol açacaktır. \n Yanıt baÅlıÄında aÅaÄıdaki tabloda belirtilen alanlar dıÅında gönderim yapılmamalıdır. \n Yanıt baÅlıÄında boÅ deÄer içeren bir baÅlık ismiyle gönderim yapılmamalıdır. Ãrnek; "PSU-Initiated":"" \n \n Tablo 3: Yanıt BaÅlıÄında Yer Alan Veriler \n \n \n \n BaÅlık İsimleri \n Format \n Notlar \n Kullanım Durumu OBH HBH GKD \n Kullanım Durumu OAS ODS \n \n \n \n \n X-Request-ID \n AN1..36 \n YÃS tarafından belirlenen çaÄrıya özgü talep kimliÄi. İstek numarası İlgili istek baÅlıÄındaki bilgi geri dönülür. \n Z \n Z \n \n \n X-Group-ID \n AN1..36 \n İsteÄi baÅlatan YÃS tarafından belirlenen iÅlem akıÅına özgü talep kimliÄi. İÅlem grup numarası. İlgili istek baÅlıÄındaki bu deÄer geri dönülür. \n Z \n - \n \n \n X-ASPSP-Code \n AN4 \n Hesap Hizmeti SaÄlayıcısının (HHS) kodudur. (Nezdinde ÃH bulunduran kuruluÅ kodu. ÃrneÄin, Banka, Elektronik Para KuruluÅu ve Ãdeme KuruluÅu) \n Z \n Z \n \n \n X-TPP-Code \n AN4 \n Yetkili Ãdeme Hizmeti SaÄlayıcısı (YÃS) kodudur \n Z \n Z \n \n \n Content-Type \n AN1..20 \n Standart HTTP BaÅlıÄı; Talepte saÄlanan payloadâın biçimini temsil eder: application/json \n Z \n Z \n \n \n X-JWS-Signature \n AN1..4096 \n JWS imzasını içeren üstbilgi. Bu baÅlıÄın hangi yanıtlar için kullanılması gerektiÄi ilgili endpoint için belirtilmiÅtir. Hata durumlarında, yanıt gövdesi deÄeri dönülüyor ise imzalanmalı ve imza bilgisi x-jws-signature alanında iletilmelidir. Ancak uygulama katmanı tarafından yakalanamayan dolayısı ile imzalanamayan hata durumlarında x-jws-signature alanı HHS\'ler tarafından boÅ gönderilebilir. Hatalı yanıt alındıÄı durumlarda ise X-JWS-Signature baÅlık deÄeri dolu ise doÄrulama yapılmalıdır. (4**, 5**) \n K \n K \n \n \n X-RateLimit-Limit \n N 1..18 \n İstek kısıtı uygulanan servislerde en fazla kaç adet istek yapılabileceÄini gösterir. Kısıt uygulanan servislerde bu baÅlıÄın dönmesi zorunludur. \n K \n
16- \n \n \n X-RateLimit-Remaining \n N 1..18 \n İstek kısıtı uygulanan servislerde kaç adet istek hakkı kaldıÄını gösterir. Kısıt uygulanan servislerde bu baÅlıÄın dönmesi zorunludur. \n K \n - \n \n \n X-RateLimit-Reset \n AN 1..255 \n İstek kısıtı uygulanan servislerde çaÄrım hakkı bittikten sonra yeniden denemeden önce beklemesi gereken süreyi (saniye cinsinden) gösterir. HTTP 429 durum kodu (Too Many Requests) ile dönülen yanıtların baÅlıÄında dönülmesi zorunludur. YÃS olarak yaptıÄınız sistemsel sorgularda; HTTP 429 durum kodu (Too Many Requests) ile dönülen yanıt aldıÄınızda tekrar sorgu yapmadan önce âX-RateLimit-Resetâ yanıt baÅlıÄını kontrol ederek, bu baÅlıktaki süre kadar bekledikten sonra yeniden sorgulama yapılması gerekmektedir. \n K \n - \n \n \n x-total-count \n N 1..18 \n Hesaplar, İÅlemler, Bakiye, İletilemeyen Olaylar servislerinde sayfalama kullanıldıÄı durumda, sorgu sonucu dönecek toplam kayıt sayısı bilgisi, bu alanda HHS isteÄine baÄlı olarak gönderilebilir. Kayıt sayısı 0 olduÄu durumda gönderimi zorunludur. \n K \n K \n \n \n Link \n 1..4096 \n âLinkâ alanının Hesap Bilgisi Hizmeti için EriÅim Adresleri tablosundaki parametre = Sayfalama olan APIâlerde ve İletilemeyen Olaylar API\'sinde gönderim yapılması zorunludur. Sayfalama yapısı kullanıldıÄında gelen yanıtta birden fazla sayfa var ise; önceki, sonraki, ilk, son sayfalara gitmek için gerekli referanslar link headerında aÅaÄıdaki örnekteki gibi doldurulabilir. x-total-count alanının gönderimi kayıt sayısı 0 olduÄu durum dıÅında isteÄe baÄlı olduÄu için; Link içerisindeki son sayfa bilgisi (last) isteÄe baÄlı hale getirilmiÅtir. âÃncekiâ( prev) ve âSonrakiâ (next) adımlarının uygun olan her durumda yer alması zorunludur. İlk sayfada âÃncekiâ seçeneÄi olmamalı, son sayfada ise âSonrakiâ seçeneÄi olmamalıdır. </ohvps/hbh/s2.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=6&syfKytSayi=100>; rel="next", </ohvps/hbh/s2.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=4&syfKytSayi=100>; rel="prev", </ohvps/hbh/s2.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=14&syfKytSayi=100>; rel="last", </ohvps/hbh/s2.0/hesaplar/hspref/islemler?hesapIslemBslTrh=2022-01-01T00:00:00+03:00&hesapIslemBtsTrh=2023-12-12T23:59:59+03:00&srlmKrtr=islGrckZaman&srlmYon=Y&syfNo=0&syfKytSayi=100>; rel="first" Hiç hesap hareketinin olmadıÄı durumda dönen yanıt baÅlıÄınızın Åu Åekilde olması beklenmektedir. Response body: [] Response header: Link: </ohvps/hbh/s2.0/hesaplar?srlmKrtr=hspRef&srlmYon=A&syfNo=1&syfKytSayi=100>; rel="last",</ohvps/hbh/s2.0/hesaplar?srlmKrtr=hspRef&srlmYon=A&syfNo=1&syfKytSayi=100>; rel="first" x-total-count alanı da 0 olarak iletilmelidir. \n K \n K \n 3.17. Idempotency Kuralları \n YÃSâün aÅaÄıdaki durumlarda aynı istek numarası (x-request-id) ve aynı veri gövdesiyle çaÄrıyı tekrarlaması; HHSânin de bu durumlarda aynı yanıtı dönmesi gereklidir. \n \n HHSânin yanıtı kesinti/arıza nedeniyle YÃSâe ulaÅmaz ve zaman aÅımı söz konusu olması, \n ÃHK, YÃS uygulaması üzerinden çift tıklama ile mükerrer defa HHS APIâlerini çaÄırılması,\n(API kontrollerinden önce YÃS uygulamasının, çift tıklama kontrolü yapması önerilmektedir.) \n YÃS, yanıt almasına raÄmen iÅleyemeden kaybedilmesi, \n \n durumlarında HHS aÅaÄıdaki kuralları iÅletir: \n \n HHS gelen istek numarasını ve veri gövdesini birleÅtirerek checksum deÄeri üretir. \nchesksum deÄeri x-request-id|request.body ânin hash algoritmalarından (CRC32,MD5 vb) geçirilerek üretilebilir. \n HHS bu checksum deÄeri ile YÃSâe dönmüŠolduÄu yanıtı 5 dk boyunca saklar. Saklama yöntemi olarak veri tabanı veya önbellek araçları kullanılabilir. \n YÃS aynı istek numarası ve aynı veri gövdesi ile yeni bir çaÄrı yaptıÄında, aynı checksum deÄeri üretileceÄi için 5dk boyunca bu deÄere karÅılık gelen yanıtı döner. \n 5 dk sonrasında istek numarası veya veri gövdesi deÄiÅmemiÅ olsa dahi bu HHS tarafından yeni istek olarak kabul edilir. \n \n AÅaÄıdaki Public Post iÅlemleri için bu kural setinin iÅletilmesi gerekmektedir: \n 1- Ãdeme emri rızası oluÅturma \n2- EriÅim belirteci oluÅturma \n3- Ãdeme emri \n4- Hesap bilgisi rızası oluÅturma \n5- İleri Tarihli Ãdeme Emri Rızası oluÅturma \n6- İleri Tarihli Ãdeme Emri \n7- Düzenli Tekrarlı Ãdeme Emri Rızası oluÅturma \n8- Düzenli Tekrarlı Ãdeme Emri \n 3.18. HTTP Durum Kodları \n RFC 2616\'da belirlenmiÅ olan durum ko
16dları (status code) gönderilen isteÄin durumunu YÃSâa standart bir Åekilde ifade eder. EÄer bir hata varsa hatayı, gönderilen istek baÅarılı bir Åekilde iÅlem gördüyse ona iliÅkin durumu aktarır. Durum kodları genel olarak 5 kategoridedir. \n \n 1xx Bilgi \n 2xx BaÅarılı \n 3xx Yönlendirme \n 4xx İstemci Hatası \n 5xx Sunucu Hatası \n \n errorCode Alanında Kullanılabilecek Sıralı Hata Tipleri : \n \n TR.OHVPS.Resource \n \n â¨\tInvalidFormat \n â¨\tConsentMismatch \n â¨\tNotFound \n â¨\tInvalidSignature \n â¨\tMissingSignature \n â¨\tMethodNotAllowed \n â¨\tNotAcceptable \n â¨\tUnsupportedMediaType \n â¨\tConsentRevoked \n \n \n \n TR.OHVPS.Business \n \n â¨\tInvalidContent \n â¨\tInvalidAccount \n \n \n \n TR.OHVPS.Connection \n \n â¨\tInvalidCertificate \n â¨\tExceededRate \n â¨\tInvalidTPP \n â¨\tInvalidASPSP \n â¨\tInvalidToken \n â¨\tInvalidTPPRole \n \n \n \n TR.OHVPS.Server \n \n â¨\tInternalError \n â¨\tServiceUnavailable \n \n \n TR.OHVPS.Resource.InvalidFormat hatası alındıÄı durumda; fieldErrors nesnesi içerisinde verilecek hata kodları : \n \n TR.OHVPS.Field \n \n â¨\tMissing \n â¨\tInvalid \n \n \n Veri Tipi ÃrneÄi: \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "d8bd4e5f-f094-48a6-aee1-3a800e2709d9" , \n "timestamp" : "2022-12-22T10:33:15+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.islTtr.prBrm" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } , \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.kmlk.kmlkVrs" , \n "messageTr" : "boyut \'1\' ile \'30\' arasında olmalı" , \n "message" : "size must be between 1 and 30" , \n "code" : "TR.OHVPS.Field.Invalid" \n } \n ] , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" \n } \n \n Tablo 4: HTTP Durum Kodları \n \n \n \n HTTP Durum \n İstek Sonucu ve Açıklamalar \n POST \n GET \n DELETE \n \n \n \n \n 200 OK \n İstek BaÅarıyla Tamamlandı. Kaynak güncellemek için yapılan (örneÄin, GET) ve baÅarıyla tamamlanan isteklerinde kullanılır. \n H \n E \n H \n \n \n 201 Created \n İstek BaÅarılı Oldu. Kaynak yaratma isteÄi (örneÄin, POST /ödeme-emri-rizasi) baÅarıyla sonuçlandı. \n E \n H \n H \n \n \n 204 No Content \n Silme iÅlemi baÅarıyla tamamlandı. Kaynak silme isteÄi (örneÄin, DELETE /hesap-rizasi/{RizaNo} ) baÅarıyla sonuçlandı. \n H \n H \n E \n \n \n 400 Bad Request \n İstekte bozuk, eksik veya uyumlu olmayan JSON gövdesi, URL parametreleri veya baÅlık alanları var. İstekle baÅlatılan iÅlem yapısal bozukluk, eksik veya tutarsız veri veya HHS tarafındaki kontrollerin hatalı sonuçlanması nedeniyle hata ile sonuçlanır ve hataya iliÅkin veriler hata nesnesi içerisinde dönülür. \n E \n E \n E \n \n \n 401 Unauthorized \n Yetkilendirme baÅlıÄı eksik, hatalı veya geçersiz olduÄundan istek yetkilendirilmediÄinde ve eriÅim reddedildiÄinde http 401 kodu dönülmelidir. \n E \n E \n E \n \n \n 403 Forbidden \n EriÅim belirtecinin veya rızanın kapsamı uyuÅmuyor. YÃS bir hesaba/iÅlem kaynaÄına eriÅmeye çalıÅır ve YÃS, istenen kaynaÄa eriÅmek için geçerli izinlere sahip bir rızası yoktur. ÃrneÄin; hesap bilgisi rızası bakiye izni almamıÅtır ancak /bakiyeler adresinden istekte bulunmuÅtur. \n \n \n \n \n \n 404 Not Found \n **HHS geçerli bir API eriÅim adresini saÄlamıyorsa, o URL\'ye gelen istekler için 404 (Bulunamadı) ile yanıt vermelidir.**YÃS, uygulama esaslarında tanımlanmayan bir
16kaynak için bir URL\'ye eriÅmeye çalıÅırsa (örneÄin, GET /yurtdisi-odeme), HHS, 404 (Bulunamadı) ile yanıt vermeyi seçebilir. \n E \n E \n E \n \n \n 405 Method Not Allowed \n YÃS, desteklenmeyen bir yöntemle kaynaÄa eriÅmeye çalıÅtı. \n E \n E \n E \n \n \n 406 Not Acceptable \n İstek, geçersiz bir karakter kümesi içeriyor. \n E \n E \n E \n \n \n 415 Unsupported Media Type \n İstek gövdesi hedef kaynakta bu yöntem tarafından desteklenmeyen bir biçimde oluÅturulduÄu için iÅlem reddedildi \n E \n H \n H \n \n \n 429 Too Many Requests \n Belirli bir süre içinde çok fazla talepte bulunulduÄu için iÅlem reddedildi. HHSâler adil kullanım politikalarını aÅan talepleri kısıtlayabilir. \n E \n E \n E \n \n \n 500 Internal Server Error \n API sunucu / servis katmanında sorun oluÅtu. İÅlem baÅarısız. 5XX hata durumlarında yanıt gövde deÄeri olmadıÄı için mesaj imzalama yapılamaz ve x-jws-signature alanı boÅ olarak iletilir. Bu durumda x-jws-signature kontrolü yapılmamalıdır. \n E \n E \n E \n \n \n 503 Service Unavailable \n Hizmet sürümü kullanımdan kaldırıldı. Bir API\'nin kullanımdan kaldırıldıÄı ve artık bir HHS tarafından operasyonel olarak desteklenmediÄi durumlarda, URI yolu hala etkin olabilir ve API isteklerini kabul edebilir. Bu durumda, YÃS\'ün API sürümünün çevrimdıÅı olduÄunun farkında olması için 503 Hizmet Kullanılamıyor dönmesi önerilir. \n E \n E \n E \n \n \n \n İŠkuralları nezdinde ilgili hata kodları özelleÅtirilmiÅ olup HHS tarafından verilecek olan hata kodları ÃHVPS API İlke ve Kuralları dokümanında ilgili alanlarda paylaÅılmıÅtır. Bu çalıÅmaya ek olarak, HHS\'lerin YÃS\'lere; YÃS\'lerin de ÃHK\'lara iletecekleri hata mesaj içeriklerinde standartlaÅmaya gidilmiÅtir. Bu çalıÅmaya Türkiye\'nin İletiÅim Platformu altında yer alan ÃHVPS > Dokümanlar alanından ulaÅabilirsiniz. HHS\'lerin ve YÃS\'lerin ilgili dokümanı referans alarak mesaj içeriklerini, kurumların kendi müÅteri iletiÅim dili kapsamında düzenleyerek ÃHK\'lara gösterebilir olması beklenmektedir. \n Hata Ãrnekleri: \n 400 Bad Request \n TR.OHVPS.Resource.InvalidFormat hatası Åema validasyonu, alan uzunluk ve varlık kontrollerinin baÅarısız olduÄu durumda verilmelidir. \n \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "7f115b9c-d7c2-4a2a-bc45-5a9891c79072" , \n "timestamp" : "2022-12-22T10:47:57+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "fieldErrors" : [ \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.alc.unv" , \n "messageTr" : "boyut \'3\' ile \'140\' arasında olmalı" , \n "message" : "size must be between 3 and 140" , \n "code" : "TR.OHVPS.Field.Invalid" \n } , \n { \n "objectName" : "odemeEmriRizasiIstegi" , \n "field" : "odmBsltm.islTtr.ttr" , \n "messageTr" : "boÅ deÄer olamaz" , \n "message" : "must not be null" , \n "code" : "TR.OHVPS.Field.Missing" \n } \n ] , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" \n } \n\n \n Zorunlu header alanlarından biri ya da birkaçı eksik olarak gönderilirse aÅaÄıdaki gibi bir hata dönüÅü gerçekleÅebilir. \n HHS uygulaması tarafından dönülebilecek hata örnekleri: \n \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "2005515d-f0e6-4a07-a439-0ef3b0f56011" , \n "timestamp" : "2022-12-22T10:39:26+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Validation error" , \n "moreInformationTr" : "Åema kontrolleri baÅarısız" , \n "errorCode" : "TR.OHVPS.Resource.InvalidFormat" , \n "fieldErrors" : [ \n { \n "field" : "X-Request-ID" , \n "messageTr" : "X-Request-ID deÄeri boÅ olamaz." , \n "message" : "X-Request-ID cannot be null." , \n "code" : "TR.OHVPS.Field.Invalid" \n } \n ] \n } \n\n \n Business hata örneÄi - 1: \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "677cfd9d-77c1-4ea3-8bdf-74a6e9887177" , \n "timestamp" : "2022-12-22T11:05:59+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "gonUnvan wrong" , \n "moreInformationTr" : "Gönderen Ãnvan hatalı" , \n "errorCode" : "TR.OHVPS.Business.IncorrectSenderTitle" \n } \n \n Business hata örneÄi - 2: \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "5df3b402-3aca-4305-a35b-5af0f3184b40" , \n "timestamp" : "2022-12-22T11:06:47+03:00" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" , \n "moreInformation" : "Sender account is disabled or not found." , \n "moreInformationTr" : "Gonderen hesap aktif deÄil veya bulunamadı." , \n "errorCode" : "TR.OHVPS.Business.InvalidAccount" \n } \n \n GEÃİT\'te yapılan zorunlu header kontrollerinde aÅaÄıdaki hatalar dönebilir: \n \n { \n "timestamp" : "2022-12-22T10:40:28+03:00" , \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "d4375748-6fc7-4f7e-94f3-6411cab1d59f" , \n "moreInformationTr" : "Geçersiz HHS kodu." , \n "errorCode" : "TR.OHVPS.Connection.InvalidASPSP" , \n "moreInformation" : "Invalid ASPSP Code" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" \n } \n \n GEÃİT tarafından dönülecek hata örneÄi: \n \n { \n "timestamp" : "2022-12-22T10:40:28+03:00" , \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "d4375748-6fc7-4f7e-94f3-6411cab1d59f" , \n "moreInformationTr" : "Geçersiz HHS kodu." , \n "errorCode" : "TR.OHVPS.Connection.InvalidTPP" , \n "moreInformation" : "Invalid TPP Code" , \n "httpCode" : 400 , \n "httpMessage" : "Bad Request" \n } \n \n GEÃİT tarafından dönülecek hata örneÄi: \n \n { \n "timestamp" : "2022-12-22T11:14:05+03:00" , \n "path" : "/ohvps/hbh/s2.0/hesap-bilgisi-rizasi" , \n "id" : "ee1e3ea7-a5e5-468b-bb02-314148f84e6a" , \n "moreInformationTr" : "Geçersiz yös rolü. İlgili api çaÄrısı için yetkisi yok." , \n "errorCode" : "TR.OHVPS.Connection.InvalidTPPRole" , \n "moreInformation" : "Invalid TPP Role" , \n "httpCode" : 403 , \n "httpMessage" : "Forbidden" \n } \n\n \n 401 Unauthorized \n YÃS, süresi dolmuÅ bir eriÅim belirteci kullandıÄında, HHS 401 (Yetkisiz) http kodu ile aÅaÄıdaki hata kodunu dönmelidir. AÅaÄıdaki nedenlerden herhangi biri nedeniyle bir EriÅim Belirtecinin süresi dolduÄunda bu durum ortaya çıkabilir: \n \n Rızanın süresi doldu (Son Kullanma Tarihi geçti) \n EriÅim Belirtecinin Åüpheli kullanımı veya sahtekarlık Åüphesi \n Rızada belirlenen gün s
16ayısının aÅımı\nBu hata, müÅteriden doÄru izinlerle yeniden kimlik doÄrulaması isteyerek çözülebilir. \n \n \n { \n "path" : "/ohvps/gkd/s2.0/erisim-belirteci" , \n "id" : "ed3fd667-fc58-40ad-a982-e8937faccd15" , \n "timestamp" : "2022-12-22T11:17:33+03:00" , \n "httpCode" : 401 , \n "httpMessage" : "Unauthorized" , \n "moreInformation" : "Refresh token expired or not found in database" , \n "moreInformationTr" : "Yenileme belirteci zaman aÅımına uÄramıŠveya veri tabanında yok" , \n "errorCode" : "TR.OHVPS.Connection.InvalidToken" \n } \n \n\n \n 403 Forbidden \n Ãrn; YÃS yetkisi olmayan rol(ÃBH/HBH) ile iÅlem yapmaya çalıÅtıÄı durumda 403 hatası alarak iÅleme devam edemez. \n { \n "path" : "/ohvps/hbh/s2.0/bakiye" , \n "id" : "3e48ea98-f889-48b9-aa6e-28aabc6cfb14" , \n "timestamp" : "2022-12-22T11:20:05+03:00" , \n "httpCode" : 403 , \n "httpMessage" : "Forbidden" , \n "moreInformation" : "Forbidden" , \n "moreInformationTr" : "Bakiye Bilgileri için ÃHK izni bulunmamaktadır." , \n "errorCode" : "TR.OHVPS.Resource.Forbidden" \n } \n \n 404 Not Found \n Ãrn; GET /odeme-emri-rizasi/123456 çaÄrısı durumunda 123456 geçerli bir ödeme kaynaÄı deÄilse, HHS, 404 koduyla cevap vermelidir. \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi/123456" , \n "id" : "22f52b2d-d442-4a6a-8f39-d23eba45a34b" , \n "timestamp" : "2022-12-22T10:53:53+03:00" , \n "httpCode" : 404 , \n "httpMessage" : "Not Found" , \n "moreInformation" : "Resource not found" , \n "errorCode" : "TR.OHVPS.Resource.NotFound" , \n "moreInformationTr" : "Kaynak bulunamadı" \n } \n\n \n 405 Method Not Allowed \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "3e5c6b28-7ee4-4469-b541-843fb4a94eec" , \n "timestamp" : "2022-12-22T11:35:10+03:00" , \n "httpCode" : 405 , \n "httpMessage" : "Method Not Allowed" , \n "moreInformation" : "Method not allowed" , \n "errorCode" : "TR.OHVPS.Resource.MethodNotAllowed" , \n "moreInformationTr" : "İstek yapılan URL için izin verilmeyen metot" \n } \n \n 406 Not Acceptable \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "3e5c6b28-7ee4-4469-b541-843fb4a94eec" , \n "timestamp" : "2022-12-22T11:35:10+03:00" , \n "httpCode" : 406 , \n "httpMessage" : "Not Acceptable" , \n "moreInformation" : "Not Acceptable" , \n "errorCode" : "TR.OHVPS.Resource.NotAcceptable" , \n "moreInformationTr" : "Kabul edilmedi" \n } \n \n 415 Unsupported Media Type \n İstek baÅlıÄında content-type, JSON dıÅında bir veri iletilirse bu hata verilebilir. \n \n { \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "id" : "63cc94b6-1b51-4648-9671-95e6e2e7e03d" , \n "timestamp" : "2022-12-22T11:37:12+03:00" , \n "httpCode" : 415 , \n "httpMessage" : "Unsupported Media Type" , \n "moreInformation" : "Content type not supported" , \n "errorCode" : "TR.OHVPS.Resource.UnsupportedMediaType" , \n "moreInformationTr" : "Desteklenmeyen içerik tipiâ" \n } \n \n 429 Too Many Requests \n { \n "path" : "/ohvps/hbh/s2.0/hesaplar/aef6061f-2978-4bb4-980d-b4c634c8055b/islemler" , \n "id" : "20473c5f-2f4f-4b2e-8b66-7978aec442f7" , \n "timestamp" : "2022-12-22T00:21:07+03:00" , \n "httpCode" : 429 , \n "httpMessage" : "Too Many Requests" , \n "moreInformation" : "Exceeded rate" , \n "moreInformationTr" : "EriÅim sıklıÄı limiti aÅımı" , \n "errorCode" : "TR.OHVPS.Connection.ExceededRate" \n } \n \n 500 Internal Server Error \n { \n "id" : "1b90c6dc-0277-4755-8b05-9297ddfab743" , \n "path" : "/ohvps/obh/s2.0/odeme-emri-rizasi" , \n "timestamp" : "2022-12-22T11:41:34+03:00" , \n "httpCode" : 500 , \n "httpMessage" : "Internal Server Error" , \n "moreInformation" : "Unexpected condition was encountered." , \n "moreInformationTr" : "Beklenmeyen bir durumla karÅılaÅıldı." , \n "errorCode" : "TR.OHVPS.Server.InternalError" \n } \n\n \n 503 Service Unavailable \n \n "timestamp" : "2022-12-20T23:18:56+03:00" , \n "path" : "/ohvps/hbh/s2.0/hesap-bilgisi-rizasi/2a72678ee3d24de2be47887e4903a8c6" , \n "id" : "e76315b7-09f4-4295-b6d8-1f7fec632159" , \n "moreInformationTr" : "HHS Åu anda hizmet veremiyor." , \n "errorCode" : "TR.OHVPS.Server.ServiceUnavailable" , \n "moreInformation" : "HHS is currently unavailable" , \n "httpCode" : 503 , \n "httpMessage" : "Service Unavailable" \n 3.19. Maskeleme Kuralları \n Maskeli olarak iletilmesi gereken verilerin maskeleme kuralları Åu Åekildedir: \n \n IBAN verileri Hesap Numarası : İlk 4 ve son 4 karakteri açık, diÄer karakterler maskeli olmalıdır. Ãrnek: TR54******************4812 \n Ad-Soyadı / Ticari Unvan : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet â â karakteri konumlandırılmalıdır.\nÃrneÄin: âFATİH SERKAN ERENâ ifadesi âFA *** SE**** ER****â Åeklinde gösterilmelidir. \n Tabela Unvanı : Her kelimenin ilk 2 karakteri açık, sonraki karakterler yerine 4 adet \' \' karakteri konumlandırılmalıdır. ÃrneÄin âBANKALARARASI KART MERKEZİ ANONİM ÅİRKETİâ ifadesi âBA *** KA**
16** ME**** AN**** Åİ****â Åeklinde gösterilmelidir. \n YÃSâten girilen alıcı unvan ve IBAN bilgileri ödeme emri rızası ve ödeme emri yanıtında açık dönülür, Kolas akıÅında ödeme emri rızası yanıtı ve ödeme emri istek ve yanıtında maskeli taÅınır. \n 3.20. Fonksiyonel Olmayan Gereksinimler \n \n \n HHSâlerin sunuyor oldukları servisleri en fazla 6000 ms içinde yanıt dönecek Åekilde tasarlamalıdır. \n \n \n HHS\'ler mevcut online iÅlem kanallarından sundukları eriÅilebilirlik ve performans kriterlerinden daha düÅük bir hizmet kalitesi sunmamalıdır. \n \n \n HHSâlerin sunuyor oldukları servislere sistemin güvenlik ve sürekliliÄini saÄlamak adına rate limit koyma ihtiyaçları olur ise, standartlar ve ihtiyaçlara uygun Åekilde bir konfigürasyon yapabilirler. \n \n \n HHS rate limit tanımı uyguluyor ise; YÃS\'ler arasında ayrım yapmadan, adil ve makul sınırlar dahilinde uygulamalıdır. \n \n \n YÃS tarafından kullanıcının baÅlatmadıÄı otomatik sorgu limitleri 3.21 Otomatik Sorgular bölümünde detaylandırılmıÅtır. HHS\'lerin bu servisler için minimumda cevap vermesi gereken sorgu sayıları belirlenmiÅtir. Bu sayıların üzerinde yapılan servis çaÄrısına yanıt dönmek HHS inisiyatifindedir. DiÄer taraftan kullanıcının baÅlattıÄı istekler için uygulanacak limitler, HHS\'nin online iÅlem kanallarından sunulan sorgu limitlerinden daha az olmamalıdır. \n \n \n HHS\'ler, çaÄrım limitlerini aÅan istekler için HTTP 429 - Too Many Request hatasını dönmelidir. Ãrnek hata mesajı 3.18 HTTP Durum Kodları bölümünde bulunmaktadır. Rate Limit özelinde tanımlanmıŠparametreler olan X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset alanları da 3.16 Yanıt BaÅlıÄı bölümünde açıklanmıÅtır. YÃS\'ler de HHS\'nin belirlediÄi rate limit kurallarına uymakla yükümlüdür. \n 3.21. Otomatik Sorgular \n YÃS uygulaması, ÃHK\'nın baÅlattıÄı iÅlemler neticesinde API çaÄrımı yapabileceÄi gibi, sistemsel bir Åekilde otomatik API çaÄrımı da yapabilir. \nHHS, API çaÄrımının ÃHK\'lı ya da ÃHK\'sız olduÄunu istek parametreleri içerisinde yer alan PSU-Initiated parametresi ile anlar. Bu parametre âEâ ise ÃHKâlı, âHâ ise sistemsel yapılmıŠbir sorgu anlamına gelmektedir. \n ÃHK YÃS uygulamasına giriÅ yaptıÄı andan çıkıŠyaptıÄı ana kadar yani ÃHK oturumu boyunca yapılan API çaÄrımlarında, PSU-Initiated deÄerinin "E" olması gerekmektedir. YÃS uygulamasında ÃHK oturumu boyunca, ÃHK\'nın bilgilerinden minimumda "bakiye" bilgisinin, uygulama arayüzlerinde güncel deÄeri ile online sorgularla gösterimi YÃS\'ün insiyatifindedir. \n ÃHKânın baÅlattıÄı sorgular için HHS tarafından belirlenen üst rate limitler dahilinde çaÄrım yapılabilir. \n YÃS, aÅaÄıdaki API\'leri sistemsel bir Åekilde çaÄırabilir. \nHHS\'lerin bu servisler için minimumda cevap vermesi gereken sorgu sayıları belirlenmiÅtir. Bu sayıların üzerinde yapılan servis çaÄrısına yanıt dönmek HHS inisiyatifindedir. \nHHS tarafından izin verilen sorgu sayısının üzerinde yapılan bir sorgu için HTTP 429 durum kodu (Too Many Requests) hatası dönülmelidir. Yanıt gövdesinde tekrar hata nesnesinin oluÅturulması HHS inisiyatifindedir. HHS yanıt headerı alanında iletilecek X-RateLimit-Reset (saniye cinsinden) deÄeri kadar süre sonunda\nYÃS\'ün tekrar sorgulama yapması beklenmektedir. \n \n \n \n No \n Kaynak \n HTTP iÅlemi \n EriÅim Adresi \n Otomatik Sorgu Sayısı \n \n \n \n \n 1 \n erisim-belirteci \n POST \n /erisim-belirteci \n --- \n \n \n 2 \n odeme-emri-rizasi \n GET \n /odeme-emri-rizasi/{rizaNo} \n Rıza bazında günde 4 \n \n \n 3 \n odeme-emri \n GET \n /odeme-emri/{odemeEmriNo} \n Rıza bazında günde 24 \n \n \n 4 \n ileri-tarihli-odeme-emri-rizasi \n GET \n /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n Rıza bazında günde 4 \n \n \n 5 \n ileri-tarihli-odeme-emri \n GET \n /ileri-tarihli-odeme-emri
16/{odemeEmriNo} \n Rıza bazında günde 24 \n \n \n 6 \n ileri-tarihli-odeme-emri-rizasi \n DELETE \n /ileri-tarihli-odeme-emri-rizasi/{rizaNo} \n --- \n \n \n 7 \n duzenli-odeme-emri-rizasi \n GET \n /duzenli-odeme-emri-rizasi/{rizaNo} \n Rıza bazında günde 4 \n \n \n 8 \n duzenli-odeme-emri \n GET \n /duzenli-odeme-emri/{talimatNo} \n Rıza bazında günde 24 \n \n \n 9 \n duzenli-odeme-emri-rizasi \n DELETE \n /duzenli-odeme-emri-rizasi/{rizaNo}} \n --- \n \n \n 10 \n hesap-bilgisi-rizasi \n GET \n /hesap-bilgisi-rizasi/{RizaNo} \n Rıza bazında günde 4 \n \n \n 11 \n duzenli-odeme-talimat-plani \n GET \n /duzenli-odeme-emri/{talimatNo}/odeme-plani \n Rıza bazında günde 24 \n \n \n 12 \n hesap-bilgisi-rizasi \n DELETE \n /hesap-bilgisi-rizasi/{RizaNo} \n --- \n \n \n 13 \n hesaplar \n GET \n /hesaplar \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 14 \n hesaplar \n GET \n /hesaplar/{hspRef} \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 15 \n bakiye \n GET \n /hesaplar/{hspRef}/bakiye \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 16 \n bakiye \n GET \n /bakiye \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 17 \n islemler \n GET \n /hesaplar/{hspRef}/iÅlemler \n Bireysel günde 4 Kurumsal ÃHK - saatte 12 \n \n \n 18 \n kartlar \n GET \n /kartlar \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 19 \n kartlar \n GET \n /kartlar/{kartRef} \n Bireysel günde 4 Kurumsal günde 4 \n \n \n 20 \n kart-detay \n GET \n /kartlar/{kartRef}/kart-detay \n Bireysel günde 24 Kurumsal ÃHK - günde 24 \n \n \n 21 \n kart-hareketleri \n GET \n /kartlar/{kartRef}/kart-hareketleri \n Bireysel günde 32 Kurumsal ÃHK - günde 32 \n \n \n \n YÃS ve HHS son 24 saat içerisindeki sorgu sayılarını toplayarak elde ettiÄi sonuçlarla limit kontrolü yapmalıdır (Pencere yöntemi). \n İÅlemler servisinin çaÄrım detaylarına ^Bölüm 7.8 üzerinden ulaÅılabilir. \n Hesap bilgisi rızasının YÃS tarafından otomatik bir Åekilde iptal edilmesi durumu ^Bölüm 9\'da açıklanmıÅtır. \n Kart hareketleri için sistemsel sorgu yapıldıÄı durumda aynı ekstre türü için dönem deÄeri deÄiÅtikçe limit düÅmeyecektir. Sayfalama yapıldıÄı durumlarda ise deÄiÅen sayfa numaraları özelinde de limit düÅmeyecektir. Aynı sayfa ve aynı dönem özelinde tekrar sorgu yapılması halinde limit düÅümü gerçekleÅecektir. \n Ekstre türü deÄiÅmesi durumunda da limit düÅümü olmalıdır. \n'},{frontmatter:{},regularPath:"/v2.0.1/deneyalani/hesap-bilgisi-api.html",relativePath:"v2.0.1/deneyalani/hesap-bilgisi-api.md",key:"v-43c4777d",path:"/v2.0.1/deneyalani/hesap-bilgisi-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.1/deneyalani/genel-bilgiler.html",relativePath:"v2.0.1/deneyalani/genel-bilgiler.md",key:"v-6cd49697",path:"/v2.0.1/deneyalani/genel-bilgiler.html",content:" GENEL BiLGİLER: \n ÃHVPS API İlke ve Kuralları dokümanına istinaden geliÅtirmelerini yapan/yapacak olan katılımcılar geliÅtirdikleri sürüme ait APIâlerin nasıl çalıÅtıklarını görmek istediklerinde âDeney Alanıâ üzerinden gözlem yapabilirler. Bu kapsamda, Deney Alanı katılımcılara tarayıcı üzerinden statik verilerle iÅlem baÅlatarak, dönen yanıtı inceleme imkanı sunar. \n Deney Alanı ile sunulan imkanlar Åu Åekildedir: \n \n Servisler durum bilgisi içermeyecek Åekilde (stateless) olarak sunulmaktadır. \n Güçlü Kimlik DoÄrulama akıÅlarında kurum özelinde oluÅturulan yetkilendirme kimlik bilgilerine ihtiyaç duyulmamaktadır. \n Yanıt veri kümesi statiktir. Servislere yapılan istekler, her zaman aynı yanıtı dönmektedir. \n Yeni oluÅturma, güncelleme, silme iÅlemleri kaynak veri üzerinde deÄiÅiklik yapmamaktadır. \n Deney alanı genelin kullanımına açıktır. Ãyelik kaydı olmaksızın Deney Alanı üzerinden API incelemeleri gerçekleÅtirilebilmektedir. \n API dokümanında yapılacak minor deÄiÅiklikler deney alanına yansıtılmayacaktır. \n \n Not: Deney Alanıânın kapsamı geniÅletilmiÅ versiyonu â âBKM ÃHVPS Simülatörâ uygulaması hem HHS hem de YÃS katılımcılarının; test uygulamalarını uçtan uca test edebilebileceÄi bir ortamdır. Simülatör uygulaması üzerinden dinamik veri giriÅi yaparak, geliÅtirilen servisler ile zorunlu senaryoların tümünün simülasyonu gerçekleÅtirilebilir. Simülatör ortamındaki APIâler, üretim ortamının bir kopyası olacak Åekilde oluÅturulmuÅtur ve kurumların üretim ortamına hazır hale gelmelerine aracılık eder. Bu uygulama, pürüzsüz bir üretim ortamı geçiÅi imkanı saÄlar ve ÃHVPS BKM Teknik Sertifikasyonu geçmek için koÅulması gereken sertifikasyon senaryoları BKM ÃHVPS Simülatörâü üzerinden sunulmaktadır. BKM Simülatör kullanımı için ayrı bir süreç iÅletilmekte olup daha fazla detaylı bilgi almak için [email protected] adresine taleplerinizi iletmeniz gerekmektedir. \n Ãdeme Emri BaÅlatma API Deney Alanı \n"},{frontmatter:{},regularPath:"/v2.0.1/deneyalani/ileri-tarihli-odeme-emri-api.html",relativePath:"v2.0.1/deneyalani/ileri-tarihli-odeme-emri-api.md",key:"v-3f5d6285",path:"/v2.0.1/deneyalani/ileri-tarihli-odeme-emri-api.html",content:" \n \
16n "},{frontmatter:{},regularPath:"/v2.0.1/deneyalani/odeme-emri-api.html",relativePath:"v2.0.1/deneyalani/odeme-emri-api.md",key:"v-09a8c185",path:"/v2.0.1/deneyalani/odeme-emri-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.1/deneyalani/hhs-yos-api.html",relativePath:"v2.0.1/deneyalani/hhs-yos-api.md",key:"v-512f5cfd",path:"/v2.0.1/deneyalani/hhs-yos-api.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.1/deneyalani/test.html",relativePath:"v2.0.1/deneyalani/test.md",key:"v-6b037b83",path:"/v2.0.1/deneyalani/test.html",content:" \n \n "},{frontmatter:{},regularPath:"/v2.0.1/deneyalani/olay-bildirim-api.html",relativePath:"v2.0.1/deneyalani/olay-bildirim-api.md",key:"v-49107346",path:"/v2.0.1/deneyalani/olay-bildirim-api.html",content:" \n \n "}],themeConfig:{searchMaxSuggestions:20,footer:'\n © <a href="https://github.com/Renovamen" target="_blank">Renovamen</a> 2018-2021\n <br>\n Powered by <a href="https://vuepress.vuejs.org" target="_blank">VuePress</a> &\n <a href="https://github.com/Renovamen/vuepress-theme-gungnir" target="_blank">Gungnir</a>\n ',sidebar:[{title:"SÃRÃM 2.0.1 - Taslak Sürüm",path:"/v2.0.1/contents/tanim-ve-kisitlamalar",children:[{title:"1. Tanımlar ve Kısıtlamalar",path:"/v2.0.1/contents/tanim-ve-kisitlamalar"},{title:"2. Kapsam ve Dayanak",path:"/v2.0.1/contents/kapsam-ve-dayanak"},{title:"3. Temel Prensipler",path:"/v2.0.1/contents/temel-prensipler"},{title:"4. Rıza Durumları",path:"/v2.0.1/contents/riza-durumlari"},{title:"5. Güçlü Kimlik DoÄrulama",path:"/v2.0.1/contents/gkd"},{title:"6. Ãdeme Emri BaÅlatma Hizmeti",path:"/v2.0.1/contents/odeme-emri-baslatma-hizmeti"},{title:"7. İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti",path:"/v2.0.1/contents/ileri-tarihli-odeme-emri-hizmeti"},{title:"8. Düzenli Ãdeme Emri BaÅlatma Hizmeti",path:"/v2.0.1/contents/duzenli-odeme-emri-hizmeti"},{title:"9. Hesap Bilgisi Hizmeti",path:"/v2.0.1/contents/hesap-bilgisi-hizmeti"},{title:"10. HHS, YÃS ve Temsilcilik API",path:"/v2.0.1/contents/hhs-yos-api"},{title:"11. Güçlü Kimlik DoÄrulama API",path:"/v2.0.1/contents/erisim-belirteci"},{title:"12. Olay Bildirim",path:"/v2.0.1/contents/olay-bildirim"},{title:"13. Ekler",path:"/v2.0.1/contents/ekler"},{title:"14. Deney Alanı",path:"/v2.0.1/deneyalani/genel-bilgiler",children:[{title:"1. Ãdeme Emri BaÅlatma API",path:"/v2.0.1/deneyalani/odeme-emri-api"},{title:"2. İleri Tarihli Ãdeme Emri BaÅlatma API",path:"/v2.0.1/deneyalani/ileri-tarihli-odeme-emri-api"},{title:"3. Düzenli Ãdeme Emri BaÅlatma API",path:"/v2.0.1/deneyalani/duzenli-odeme-emri-api"},{title:"4. Hesap Bilgisi API",path:"/v2.0.1/deneyalani/hesap-bilgisi-api"},{title:"5. HHS - YÃS API",path:"/v2.0.1/deneyalani/hhs-yos-api"},{title:"6. Olay Bildirim",path:"/v2.0.1/deneyalani/olay-bildirim-api"}]}]},{title:"SÃRÃM 2.0.0 - Aktif Sürüm",path:"/v2.0.0/contents/tanim-ve-kisitlamalar",children:[{title:"1. Tanımlar ve Kısıtlamalar",path:"/v2.0.0/contents/tanim-ve-kisitlamalar"},{title:"2. Kapsam ve Dayanak",path:"/v2.0.0/contents/kapsam-ve-dayanak"},{title:"3. Temel Prensipler",path:"/v2.0.0/contents/temel-prensipler"},{title:"4. Rıza Durumları",path:"/v2.0.0/contents/riza-durumlari"},{title:"5. Güçlü Kimlik DoÄrulama",path:"/v2.0.0/contents/gkd"},{title:"6. Ãdeme Emri BaÅlatma Hizmeti",path:"/v2.0.0/contents/odeme-emri-baslatma-hizmeti"},{title:"7. İleri Tarihli Ãdeme Emri BaÅlatma Hizmeti",path:"/v2.0.0/contents/ileri-tarihli-odeme-emri-hizmeti"},{title:"8. Düzenli Ãdeme Emri BaÅlatma Hizmeti",path:"/v2.0.0/contents/duzenli-odeme-emri-hizmeti"},{title:"9. Hesap Bilgisi Hizmeti",path:"/v2.0.0/contents/hesap-bilgisi-hizmeti"},{title:"10. HHS ve YÃS API",path:"/v2.0.0/contents/hhs-yos-api"},{title:"11. Güçlü Kimlik DoÄrulama API",path:"/v2.0.0/contents/erisim-belirteci"},{title:"12. Olay Bildirim",path:"/v2.0.0/contents/olay-bildirim"},{title:"13. Ekler",path:"/v2.0.0/contents/ekler"},{title:"14. Deney Alanı",path:"/v2.0.0/deneyalani/genel-bilgiler",children:[{title:"1. Ãdeme Emri BaÅlatma API",path:"/v2.0.0/deneyalani/odeme-emri-api"},{title:"2. İleri Tarihli Ãdeme Emri BaÅlatma API",path:"/v2.0.0/deneyalani/ileri-tarihli-odeme-emri-api"},{title:"3. Düzenli Ãdeme Emri BaÅlatma API",path:"/v2.0.0/deneyalani/duzenli-odeme-emri-api"},{title:"4. Hesap Bilgisi API",path:"/v2.0.0/deneyalani/hesap-bilgisi-api"},{title:"5. HHS - YÃS API",path:"/v2.0.0/deneyalani/hhs-yos-api"},{title:"6. Olay Bildirim",path:"/v2.0.0/deneyalani/olay-bildirim-api"}]}]},{title:"Dijital Cüzdanlardan TR Karekod ile Ãdeme",path:"/dijital-cuzdan"},{title:"Sürüm Yönetimi",path:"/surum-yonetimi"},{title:"SÃRÃM 1.0.1",path:"/v1.0.1/contents/tanim-ve-kisitlamalar",children:[{title:"1. Tanımlar ve Kısıtlamalar",path:"/v1.0.1/contents/tanim-ve-kisitlamalar"},{title:"2. Kapsam ve Dayanak",path:"/v1.0.1/contents/kapsam-ve-dayanak"},{title:"3. Temel Prensipler",path:"/v1.0.1/contents/temel-prensipler"},{title:"4. Rıza Durumları",path:"/v1.0.1/contents/riza-durumlari"},{title:"5. Güçlü Kimlik DoÄrulama",path:"/v1.0.1/contents/gkd"},{title:"6. Ãdeme Emri BaÅlatma Hizmeti",path:"/v1.0.1/contents/odeme-emri-baslatma-hizmeti"},{title:"7. Hesap Bilgisi Hizmeti",path:"/v1.0.1/contents/hesap-bilgisi-hizmeti"},{title:"8. HHS ve YÃS API",path:"/v1.0.1/contents/hhs-yos-api"},{title:"9. EriÅim Belirteci API",path:"/v1.0.1/contents/erisim-belirteci"},{title:"10. Ekler",path:"/v1.0.1/contents/ekler"}]},{title:"SÃRÃM 1.0.2",path:"/v1.0.2/contents/tanim-ve-kisitlamalar",children:[{title:"1. Tanımlar ve Kısıtlamalar",path:"/v1.0.2/contents/tanim-ve-kisitlamalar"},{title:"2. Kapsam ve Dayanak",path:"/v1.0.2/contents/kapsam-ve-dayanak"},{title:"3. Temel Prensipler",path:"/v1.0.2/contents/temel-prensipler"},{title:"4. Rıza Durumları",path:"/v1.0.2/contents/riza-durumlari"},{title:"5. Güçlü Kimlik DoÄrulama",path:"/v1.0.2/contents/gkd"},{title:"6. Ãdeme Emri BaÅlatma Hizmeti",path:"/v1.0.2/contents/odeme-emri-baslatma-hizmeti"},{title:"7. Hesap Bilgisi Hizmeti",path:"/v1.0.2/contents/hesap-bilgisi-hizmeti"},{title:"8. HHS ve YÃS API",path:"/v1.0.2/contents/hhs-yos-api"},{title:"9. EriÅim Belirteci API",path:"/v1.0.2/contents/erisim-belirteci"},{title:"10. Ekler",path:"/v1.0.2/contents/ekler"}]},{title:"SÃRÃM 1.1.0",path:"/v1.1.0/contents/tanim-ve-kisitlamalar",children:[{title:"1. Tanımlar ve Kısıtlamalar",path:"/v1.1.0/contents/tanim-ve-kisitlamalar"},{title:"2. Kapsam ve Dayanak",path:"/v1.1.0/contents/kapsam-ve-dayanak"},{title:"3. Temel Prensipler",path:"/v1.1.0/contents/temel-prensipler"},{title:"4. Rıza Durumları",path:"/v1.1.0/contents/riza-durumlari"},{title:"5. Güçlü Kimlik DoÄrulama",path:"/v1.1.0/contents/gkd"},{title:"6. Ãdeme Emri BaÅlatma Hizmeti",path:"/v1.1.0/contents/odeme-emri-baslatma-hizmeti"},{title:"7. Hesap Bilgisi Hizmeti",path:"/v1.1.0/contents/hesap-bilgisi-hizmeti"},{title:"8. HHS ve YÃS API",path:"/v1.1.0/contents/hhs-yos-api"},{title:"9. Güçlü Kimlik DoÄrulama API",path:"/v1.1.0/contents/erisim-belirteci"},{title:"10. Olay Bildirim",path:"/v1.1.0/contents/olay-bildirim"},{title:"11. Ekler",path:"/v1.1.0/contents/ekler"},{title:"12. Deney Alanı",path:"/v1.1.0/deneyalani/genel-bilgiler",children:[{title:"1. Ãdeme Emri BaÅlatma API",path:"/v1.1.0/deneyalani/odeme-emri-api"},{title:"2. Hesap Bilgisi API",path:"/v1.1.0/deneyalani/hesap-bilgisi-api"},{title:"3. HHS - YÃS API",path:"/v1.1.0/deneyalani/hhs-yos-api"},{title:"4. Olay Bildirim",path:"/v1.1.0/deneyalani/olay-bildirim-api"}]}]},{title:"ÃHVPS Sıkça Sorulan Sorular",path:"/sorulan-sorular"},{title:"ÃHVPS Uyum Tarihleri",path:"/uyum-tarihleri"}],logo:"/assets/TCMB_logo.svg.png"}};n(274);a.default.component("BodyBox",()=>Promise.all([n.e(0),n.e(1),n.e(2),n.e(6),n.e(42)]).then(n.bind(null,783))),a.default.component("DeleteBox",()=>Promise.all([n.e(0),n.e(53)]).then(n.bind(null,784))),a.default.component("DuzenliOdemeEmriAPIv20",()=>Promise.all([n.e(0),n.e(1),n.e(2),n.e(3),n.e(19)]).then(n.bind(null,771))),a.default.component("GetBox",()=>Promise.all([n.e(0),n.e(54)]).then(n.bind(null,785))),a.default.component("Gkd",()=>Promise.all([n.e(0),n.e(46)]).then(n.bind(null,786))),a.default.component("HesapBilgisiV11",()=>Promise.all([n.e(0),n.e(1),n.e(2),n.e(3),n.e(17)]).then(n.bind(null,772))),a.default.component("HesapBilgisiV20",()=>Promise.all([n.e(0),n.e(1),n.e(2),n.e(3),n.e(20)]).then(n.bind(null,773))),a.default.component("HhsYosAPIV11",()=>Promise.all([n.e(0),n.e(1),n.e(2),n.e(3),n.e(15)]).then(n.bind(null,774))),a.default.component("KeyValueGrid",()=>
16Promise.all([n.e(1),n.e(2),n.e(3),n.e(6),n.e(43)]).then(n.bind(null,787))),a.default.component("OdemeEmriAPIv11",()=>Promise.all([n.e(0),n.e(1),n.e(2),n.e(3),n.e(18)]).then(n.bind(null,775))),a.default.component("OlayDinlemeAPIV11",()=>Promise.all([n.e(0),n.e(1),n.e(2),n.e(3),n.e(16)]).then(n.bind(null,776))),a.default.component("PostBox",()=>Promise.all([n.e(0),n.e(55)]).then(n.bind(null,788))),a.default.component("ProcessButton",()=>Promise.all([n.e(1),n.e(63)]).then(n.bind(null,789))),a.default.component("ProcessTitle",()=>Promise.all([n.e(0),n.e(56)]).then(n.bind(null,790))),a.default.component("PutBox",()=>Promise.all([n.e(0),n.e(57)]).then(n.bind(null,791))),a.default.component("Request",()=>n.e(75).then(n.bind(null,395))),a.default.component("Response",()=>Promise.all([n.e(1),n.e(2),n.e(3),n.e(64)]).then(n.bind(null,792))),a.default.component("RizaOnay",()=>Promise.all([n.e(0),n.e(58)]).then(n.bind(null,793))),a.default.component("RizaOnayHesapBilgisi",()=>Promise.all([n.e(0),n.e(59)]).then(n.bind(null,794))),a.default.component("TitleBox",()=>Promise.all([n.e(0),n.e(60)]).then(n.bind(null,795))),a.default.component("ileriTarihliOdemeEmriAPIv20",()=>Promise.all([n.e(0),n.e(1),n.e(2),n.e(3),n.e(21)]).then(n.bind(null,777))),a.default.component("Badge",()=>Promise.all([n.e(0),n.e(9)]).then(n.bind(null,796))),a.default.component("CodeBlock",()=>Promise.all([n.e(0),n.e(10)]).then(n.bind(null,779))),a.default.component("CodeGroup",()=>Promise.all([n.e(0),n.e(11)]).then(n.bind(null,780)));n(275);var Di=[({Vue:e,options:i,router:n,siteData:a})=>{a.pages=a.pages.reverse().map(e=>(e.regularPath.includes("content")?e.title=`${e.title} -> ${e.regularPath.split("/")[1]}`:e.title=""+e.title,e))},{},({Vue:e})=>{e.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{}],Ii=[];class Ei extends class{constructor(){this.store=new a.default({data:{state:{}}})}$get(e){return this.store.state[e]}$set(e,i){a.default.set(this.store.state,e,i)}$emit(...e){this.store.$emit(...e)}$on(...e){this.store.$on(...e)}}{}Object.assign(Ei.prototype,{getPageAsyncComponent:mi,getLayoutAsyncComponent:si,getAsyncComponent:ui,getVueComponent:ki});var Zi={install(e){const i=new Ei;e.$vuepress=i,e.prototype.$vuepress=i}};function Gi(e,i){const n=i.toLowerCase();return e.options.routes.some(e=>e.path.toLowerCase()===n)}var Vi={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(e){const i=this.pageKey||this.$parent.$page.key;return yi("pageKey",i),a.default.component(i)||a.default.component(i,mi(i)),a.default.component(i)?e(i):e("")}},Ci={functional:!0,props:{slotKey:String,required:!0},render:(e,{props:i,slots:n})=>e("div",{class:["content__"+i.slotKey]},n()[i.slotKey])},Mi={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},Fi=(n(276),n(277),Object(Yi.a)(Mi,(function(){var e=this._self._c;return e("span",[e("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[e("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),e("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),e("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),_i={functional:!0,render(e,{parent:i,children:n}){if(i._isMounted)return n;i.$once("hook:mounted",()=>{i.$forceUpdate()})}};a.default.config.productionTip=!1,a.default.use(je),a.default.use(Zi),a.default.mixin(function(e,i,n=a.default){!function(e){e.locales&&Object.keys(e.locales).forEach(i=>{e.locales[i].path=i});Object.freeze(e)}(i),n.$vuepress.$set("siteData",i);const r=new(e(n.$vuepress.$get("siteData"))),l=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),t={};return Object.keys(l).reduce((e,i)=>(i.startsWith("$")&&(e[i]=l[i].get),e),t),{computed:t}}(e=>class{setPage(e){this.__page=e}get $site(){return e}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:e={}}=this.$site;let i,n;for(const a in e)"/"===a?n=e[a]:0===this.$page.path.indexOf(a)&&(i=e[a]);return i||n||{}}
16get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:e}=this.$page.frontmatter;return"string"==typeof e&&e}get $title(){const e=this.$page,{metaTitle:i}=this.$page.frontmatter;if("string"==typeof i)return i;const n=this.$siteTitle,a=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?a?a+" | "+n:n:a||"VuePress"}get $description(){const e=function(e){if(e){const i=e.filter(e=>"description"===e.name)[0];if(i)return i.content}}(this.$page.frontmatter.meta);return e||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(e,i){for(let n=0;n<e.length;n++){const a=e[n];if(a.path.toLowerCase()===i.toLowerCase())return a}return{path:"",frontmatter:{}}}(this.$site.pages,this.$route.path)}},Oi)),a.default.component("Content",Vi),a.default.component("ContentSlotsDistributor",Ci),a.default.component("OutboundLink",Fi),a.default.component("ClientOnly",_i),a.default.component("Layout",si("Layout")),a.default.component("NotFound",si("NotFound")),a.default.prototype.$withBase=function(e){const i=this.$site.base;return"/"===e.charAt(0)?i+e.slice(1):e},window.__VUEPRESS__={version:"1.9.10",hash:"bf9a320"},async function(e){const i="undefined"!=typeof window&&window.__VUEPRESS_ROUTER_BASE__?window.__VUEPRESS_ROUTER_BASE__:Oi.routerBase||Oi.base,n=new je({base:i,mode:"history",fallback:!1,routes:Pi,scrollBehavior:(e,i,n)=>n||(e.hash?!a.default.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(e.hash)}:{x:0,y:0})});!function(e){e.beforeEach((i,n,a)=>{if(Gi(e,i.path))a();else if(/(\/|\.html)$/.test(i.path))if(/\/$/.test(i.path)){const n=i.path.replace(/\/$/,"")+".html";Gi(e,n)?a(n):a()}else a();else{const n=i.path+"/",r=i.path+".html";Gi(e,r)?a(r):Gi(e,n)?a(n):a()}})}(n);const r={};try{await Promise.all(Di.filter(e=>"function"==typeof e).map(i=>i({Vue:a.default,options:r,router:n,siteData:Oi,isServer:e})))}catch(e){console.error(e)}return{app:new a.default(Object.assign(r,{router:n,render:e=>e("div",{attrs:{id:"app"}},[e("RouterView",{ref:"layout"}),e("div",{class:"global-ui"},Ii.map(i=>e(i)))])})),router:n}}(!1).then(({app:e,router:i})=>{i.onReady(()=>{e.$mount("#app")})})}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.