1"use strict";(self.webpackChunk_amzn_startup_guide=self.webpackChunk_amzn_startup_guide||[]).push([[5940],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>d});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},s=Object.keys(e);for(r=0;r<s.length;r++)a=s[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)a=s[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var l=r.createContext({}),c=function(e){var t=r.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,s=e.originalType,l=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),m=c(a),d=n,h=m["".concat(l,".").concat(d)]||m[d]||p[d]||s;return a?r.createElement(h,i(i({ref:t},u),{},{components:a})):r.createElement(h,i({ref:t},u))}));function d(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=a.length,i=new Array(s);i[0]=m;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var c=2;c<s;c++)i[c]=a[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},5162:(e,t,a)=>{a.d(t,{Z:()=>i});var r=a(7294),n=a(6010);const s="tabItem_Ymn6";function i(e){let{children:t,hidden:a,className:i}=e;return r.createElement("div",{role:"tabpanel",className:(0,n.Z)(s,i),hidden:a},t)}},4866:(e,t,a)=>{a.d(t,{Z:()=>C});var r=a(7462),n=a(7294),s=a(6010),i=a(2466),o=a(6775),l=a(1980),c=a(7392),u=a(12);function p(e){return function(e){return n.Children.map(e,(e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:t,label:a,attributes:r,default:n}}=e;return{value:t,label:a,attributes:r,default:n}}))}function m(e){const{values:t,children:a}=e;return(0,n.useMemo)((()=>{const e=t??p(a);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,a])}function d(e){let{value:t,tabValues:a}=e;return a.some((e=>e.value===t))}function h(e){let{queryString:t=!1,groupId:a}=e;const r=(0,o.k6)(),s=function(e){let{queryString:t=!1,groupId:a}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!a)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:t,groupId:a});return[(0,l._X)(s),(0,n.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})}),[s,r])]}function g(e){const{defaultValue:t,queryString:a=!1,groupId:r}
1=e,s=m(e),[i,o]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!d({value:t,tabValues:a}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=a.find((e=>e.default))??a[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:s}))),[l,c]=h({queryString:a,groupId:r}),[p,g]=function(e){let{groupId:t}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,s]=(0,u.Nk)(a);return[r,(0,n.useCallback)((e=>{a&&s.set(e)}),[a,s])]}({groupId:r}),k=(()=>{const e=l??p;return d({value:e,tabValues:s})?e:null})();(0,n.useLayoutEffect)((()=>{k&&o(k)}),[k]);return{selectedValue:i,selectValue:(0,n.useCallback)((e=>{if(!d({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),c(e),g(e)}),[c,g,s]),tabValues:s}}var k=a(2389);const f="tabList__CuJ",b="tabItem_LNqP";function y(e){let{className:t,block:a,selectedValue:o,selectValue:l,tabValues:c}=e;const u=[],{blockElementScrollPositionUntilNextRender:p}=(0,i.o5)(),m=e=>{const t=e.currentTarget,a=u.indexOf(t),r=c[a].value;r!==o&&(p(t),l(r))},d=e=>{let t=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":{const a=u.indexOf(e.currentTarget)+1;t=u[a]??u[0];break}case"ArrowLeft":{const a=u.indexOf(e.currentTarget)-1;t=u[a]??u[u.length-1];break}}t?.focus()};return n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":a},t)},c.map((e=>{let{value:t,label:a,attributes:i}=e;return n.createElement("li",(0,r.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:e=>u.push(e),onKeyDown:d,onClick:m},i,{className:(0,s.Z)("tabs__item",b,i?.className,{"tabs__item--active":o===t})}),a??t)})))}function v(e){let{lazy:t,children:a,selectedValue:r}=e;const s=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===r));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return n.createElement("div",{className:"margin-top--md"},s.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==r}))))}function P(e){const t=g(e);return n.createElement("div",{className:(0,s.Z)("tabs-container",f)},n.createElement(y,(0,r.Z)({},e,t)),n.createElement(v,(0,r.Z)({},e,t)))}function C(e){const t=(0,k.Z)();return n.createElement(P,(0,r.Z)({key:String(t)},e))}},58:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var r=a(7462),n=(a(7294),a(3905)),s=a(4866),i=a(5162);const o={sidebar_position:2,slug:"/specification/api/charge-permission"},l="Charge Permission",c={unversionedId:"specification/api/charge-permission",id:"specification/api/charge-permission",title:"Charge Permission",description:"Session initiated",source:"@site/i18n/en/docusaurus-plugin-content-docs/current/specification/api/charge-permission.md",sourceDirName:"specification/api",slug:"/specification/api/charge-permission",permalink:"/en/specification/api/charge-permission",draft:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,slug:"/specification/api/charge-permission"},sidebar:"tutorialSidebar",previous:{title:"Checkout Session",permalink:"/en/specification/api/checkout-session"},next:{title:"Charge",permalink:"/en/specification/api/charge"}},u={},p=[{value:"Get Charge Permission",id:"get-charge-permission",level:2},{value:"Update Charge Permission",id:"update-charge-permission",level:2},{value:"Close Charge Permission",id:"close-charge-permission",level:2}],m={toc:p};function d(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"charge-permission"},"Charge Permission"),(0,n.kt)("admonition",{type:"diagram"},(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"radius_box_s box_status justify"},"Session initiated"),(0,n.kt)("div",{class:"radius_box_s"})),(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"radius_box_s box_status justify"},"Order confirmation"),(0,n.kt)("div",{class:"radius_box_s"})),(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"radius_box_s box_status justify"},"Authorization/Settlement"),(0,n.kt)("div",{class:"radius_box_s"})),(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"radius_box_s box_status justify"},"Refund"),(0,n.kt)("div",{class:"radius_box_s"}))),(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"radius_box_s box_green bold"},"Checkout Session",(0,n.kt)("br",null),"(checkoutSessionId)"),(0,n.kt)("div",{class:""},(0,n.kt)("div",{class:"text_api"},"API"),(0,n.kt)("div",{class:"radius_box_s box_lightgrey bold"},"Get Checkout Session"),(0,n.kt)("div",{class:"radius_box_s box_lightgrey bold"},"Update Checkout Session"),(0,n.kt)("div",{class:"radius_box_s box_lightgrey bold"},"Complete Checkout Session"))),(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"radius_box_s box_green bold"},"Charge Permission",(0,n.kt)("br",null),"(chargePermissionId)"),(0,n.kt)("div",{class:"box_red_focus"},(0,n.kt)("div",{class:"text_api"},"API"),(0,n.kt)("div",{class:"radius_box_s box_lightgrey bold"},"Get Charge Permission"),(0,n.kt)("div",{class:"radius_box_s box_lightgrey bold"},"Update Charge Permission"),(0,n.kt)("div",{class:"radius_box_s box_lightgrey bold"},"Close Charge Permission"))),(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"radius_box_s box_green bold"},"Charge",(0,n.kt)("br",null),"(chargeId)"),(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",null,(0,n.kt)("div",{class:"text_api"},"API"),(0,n.kt)("div",{class:"radius_box_s box_lightgrey"},(0,n.kt)("span",{class:"bold"},"Create Charge")),(0,n.kt)("div",{class:"radius_box_s box_lightgrey"},(0,n.kt)("span",{class:"bold"},"Get Charge")),(0,n.kt)("div",{class:"radius_box_s box_lightgrey"},(0,n.kt)("span",{class:"bold"},"Cancel Charge")),(0,n.kt)("div",{class:"radius_box_s box_lightgrey"},(0,n.kt)("span",{class:"bold"},"Capture Charge")),(0,n.kt)("div",{class:"radius_box_s"})))),(0,n.kt)("div",{class:"flex_container"},(0,n.kt)("div",{class:"radius_box_s box_green bold"},"Refund",(0,n.kt)("br",null),"(refundId)"),(0,n.kt)("div",null,(0,n.kt)("div",{class:"text_api"},"API"),(0,n.kt)("div",{class:"radius_box_s box_lightgrey"},(0,n.kt)("span",{class:"bold"},"Create Refund")),(0,n.kt)("div",{class:"radius_box_s box_lightgrey"},(0,n.kt)("span",{class:"bold"},"Get Refund")),(0,n.kt)("div",{class:"radius_box_s"}),(0,n.kt)("div",{class:"radius_box_s"}))))),(0,n.kt)("br",null),(0,n.kt)("h2",{id:"get-charge-permission"},"Get Charge Permission"),(0,n.kt)(s.Z,{mdxType:"Tabs"},(0,n.kt)(i.Z,{value:"JP",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#get-charge-permission"},(0,n.kt)("strong",{parentName:"a"},"Get Charge Permission")," - GET https://pay-api.amazon.jp/:environment/:version/chargePermissions/:chargePermissionId"))),(0,n.kt)(i.Z,{value:"US",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#get-charge-permission"},(0,n.kt)("strong",{parentName:"a"}
1,"Get Charge Permission")," - GET https://pay-api.amazon.com/:environment/:version/chargePermissions/:chargePermissionId"))),(0,n.kt)(i.Z,{value:"EU/UK",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#get-charge-permission"},(0,n.kt)("strong",{parentName:"a"},"Get Charge Permission")," - GET https://pay-api.amazon.eu/:environment/:version/chargePermissions/:chargePermissionId")))),(0,n.kt)("admonition",{type:"merchant"},(0,n.kt)("p",{parentName:"admonition"},"When do I use Get Charge Permission?")),(0,n.kt)("p",null,"Once Checkout Session is complete, you cannot get order detail (such as shipping address, payment instrument, order amount etc) from Get Checkout Session API. Instead, ",(0,n.kt)("strong",{parentName:"p"},"call Get Charge Permission API to get order detail")),(0,n.kt)("p",null,"In case of Recurring, ",(0,n.kt)("span",{class:"underline"},"the buyer can close Charge Permission from ",(0,n.kt)("a",{parentName:"p",href:"https://payments.amazon.co.jp/jr/your-account/"},"Amazon Pay site")," by themselves"),". In this case, ",(0,n.kt)("span",{class:"underline"},"Amazon Pay Charge Permission is closed, but your recurring order (at your site) is kept Open"),".\nIf you call ",(0,n.kt)("a",{parentName:"p",href:"/specification/api/charge/#create-charge"},"Create Charge API")," (obtaining Authorization) under this situation, you receive error. In that case, ",(0,n.kt)("strong",{parentName:"p"},"you need to call Get Charge Permission API to check it's status and reason"),"."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"As explained in ",(0,n.kt)("a",{parentName:"li",href:"/specification/object/#object-relationship"},"Object relationship"),", Charge is linked to Charge Permission. So if ",(0,n.kt)("a",{parentName:"li",href:"/specification/api/charge/#create-charge"},"Create Charge API")," returns error, you need to check Charge Permission status."),(0,n.kt)("li",{parentName:"ul"},"You can only get details from Charge Permission for 30 days after the time that the Charge Permission was created."))),(0,n.kt)("p",null,"Especially in case delivery of product is included in your recurring agreement, you may find the fact that Charge Permission is closed by the buyer, and cannot Charge to the buyer only after product is shipped if you deliver product to the buyer without calling ",(0,n.kt)("a",{parentName:"p",href:"/specification/api/charge/#create-charge"},"Create Charge API")," in advance. Make sure to consider appropriate processing assuming such situation."),(0,n.kt)("p",null,"See ",(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#get-charge-permission"},"Integration Guide - Get Charge Permission")),(0,n.kt)("br",null),(0,n.kt)("h2",{id:"update-charge-permission"},"Update Charge Permission"),(0,n.kt)(s.Z,{mdxType:"Tabs"},(0,n.kt)(i.Z,{value:"JP",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#update-charge-permission"},(0,n.kt)("strong",{parentName:"a"},"Update Charge Permission")," - PATCH https://pay-api.amazon.jp/:environment/:version/chargePermissions/:chargePermissionId"))),(0,n.kt)(i.Z,{value:"US",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#update-charge-permission"},(0,n.kt)("strong",{parentName:"a"},"Update Charge Permission")," - PATCH https://pay-api.amazon.com/:environment/:version/chargePermissions/:chargePermissionId"))),(0,n.kt)(i.Z,{value:"EU/UK",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#update-charge-permission"},(0,n.kt)("strong",{parentName:"a"},"Update Charge Permission")," - PATCH https://pay-api.amazon.eu/:environment/:version/chargePermissions/:chargePermissionId")))),(0,n.kt)("admonition",{type:"merchant"},(0,n.kt)("p",{parentName:"admonition"},"When do I use Update Charge Permission?")),(0,n.kt)("p",null,"If you issue Order ID (your site's order information ID) only after checkout session completion, and
1you want to save such Order ID to Charge Permission post checkout, then ",(0,n.kt)("strong",{parentName:"p"},"call Update Charge Permission API to reflect your Order ID to Charge Permission object"),"."),(0,n.kt)("p",null,"See ",(0,n.kt)("a",{parentName:"p",href:"https://www.amazonpay-faq.jp/faq/QA-497"},"FAQ - OneTime\uff08\u90fd\u5ea6\u652f\u6255\u3044\uff09\u3067\u3001\u6ce8\u6587\u6642\u306eAmazon Pay API\u51e6\u7406\u30d5\u30ed\u30fc\uff08\u901a\u5e38\uff0f\u8907\u6570\u30aa\u30fc\u30bd\u30ea\uff0fDynamic Authorization\uff09\u3092\u77e5\u308a\u305f\u3044\u3067\u3059\u3002 ")),(0,n.kt)("br",null),(0,n.kt)("p",null,"Also you use this API espeially with Recurring case. For example, you may want to change recurring frequency and amount post checkout. In such case, ",(0,n.kt)("strong",{parentName:"p"},"call Update Charge Permission API to update recurring frequency and amount to Charge Permission object"),". ",(0,n.kt)("br",null)),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Note that Charge Permission is updated with new recurring frequency and amount immediately, but ",(0,n.kt)("u",null,"it's expirationTimeStamp is only updated after new Charge is created against updated Charge Permission"),".")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("strong",{parentName:"p"},"Why do I have to update Charge Permission? Does Amazon initiate Authorization at given frequency if I do?")),(0,n.kt)("p",{parentName:"admonition"},"Authorization post checkout always need to be initiated by merchants. Amazon does not initaite Authorization on-behalf of merchants.",(0,n.kt)("br",null),"\nAlso note that the buyer can see recurring frequency and amount set in the Charge Permission on ",(0,n.kt)("a",{parentName:"p",href:"https://payments.amazon.co.jp/jr/your-account/"},"Amazon Pay site"),". You need to update frequency ane amount to Charge Permission for buyer to avoid confusion.")),(0,n.kt)("br",null),(0,n.kt)("p",null,"See"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#update-charge-permission"},"Integration Guide - Update Charge Permission")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://developer.amazon.com/docs/amazon-pay-checkout/update-info-post-checkout.html"},"Integration Guide - Update Info Post Checkout"))),(0,n.kt)("br",null),(0,n.kt)("h2",{id:"close-charge-permission"},"Close Charge Permission"),(0,n.kt)(s.Z,{mdxType:"Tabs"},(0,n.kt)(i.Z,{value:"JP",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#close-charge-permission"},(0,n.kt)("strong",{parentName:"a"},"Close Charge Permission")," - DELETE https://pay-api.amazon.jp/:environment/:version/chargePermissions/:chargePermissionId/close"))),(0,n.kt)(i.Z,{value:"US",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#close-charge-permission"},(0,n.kt)("strong",{parentName:"a"},"Close Charge Permission")," - DELETE https://pay-api.amazon.com/:environment/:version/chargePermissions/:chargePermissionId/close"))),(0,n.kt)(i.Z,{value:"EU/UK",mdxType:"TabItem"},(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#close-charge-permission"},(0,n.kt)("strong",{parentName:"a"},"Close Charge Permission")," - DELETE https://pay-api.amazon.eu/:environment/:version/chargePermissions/:chargePermissionId/close")))),(0,n.kt)("admonition",{type:"merchant"},(0,n.kt)("p",{parentName:"admonition"},"When do I use Close Charge Permission?")),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"In case of OneTime payment")),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"When canceling Authorization before Settlement"),".\nIn such case, you need to close respective Charge Permission and Charge by performing either of followings;",(0,n.kt)("br",null)),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Call Close Charge Permission API with cancelPendingCharges parameter set as true",(0,n.kt)("br",null),"\n(If you do this, Amazon Pay closes both Charge Permission and uncaptured Charge at the same time)."),(0,n.kt)("li",{parentName:"ul"},"Call ",(0,n.kt)("a",{parentName:"li",href:"/specification/api/charge/#cancel-charge"},"Cancel Charge API")," and Close Charge Permission API")),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"In case of Recurring payment")),(0,n.kt)("p",null,"In case Recurring agreement is terminated between you and buyer, ",(0,n.kt)("strong",{parentName:"p"},"call Close Charge Permission API to close respective Charge Permission"),"."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("strong",{parentName:"p"},"Why do I have to close Charge Permission?")),(0,n.kt)("p",{parentName:"admonition"},"Even if you don't Close Charge Permission intentionally, Amazon Pay will close Charge Permission upon expirationTimeStamp if it's no longer used. On the other hand, the buyer can see Charge Permission status on ",(0,n.kt)("a",{parentName:"p",href:"https://payments.amazon.co.jp/jr/your-account/"},"Amazon Pay site"),', and if it\'s not "closed" as expected, the buyer may feel uneasy, and contact you for clarification. In order to reduce unnecessary inquiry from buyers, you need to Close Charge Permission.'),(0,n.kt)("p",{parentName:"admonition"},"In case of temporary Recurring suspension (not Recurring agreement termination, but short-term suspension), you don't need to Close Charge Permission.")),(0,n.kt)("br",null),(0,n.kt)("p",null,"See ",(0,n.kt)("a",{parentName:"p",href:"https://developer.amazon.com/docs/amazon-pay-api-v2/charge-permission.html#close-charge-permission"},"Integration Guide - Close Charge Permission")))}d.isMDXComponent=!0}}]);
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.