{"files":{"SKILL.md":"---\nname: adyen-stored-value-api\ndescription: \"Adyen Stored Value API skill. Use when working with Adyen Stored Value for changeStatus, checkBalance, issue. Covers 6 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Adyen Stored Value API\nAPI version: 46\n\n## Auth\nApiKey X-API-Key in header | Bearer basic\n\n## Base URL\nhttps://pal-test.adyen.com/pal/servlet/StoredValue/v46\n\n## Setup\n1. Set Authorization header with Bearer token\n2. Verify API access with a test request\n3. POST /changeStatus -- create first changeStatus\n\n## Endpoints\n6 endpoints across 6 groups. See references/api-spec.lap for full details.\n\n### ChangeStatus\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /changeStatus | Changes the status of the payment method. |\n\n### CheckBalance\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /checkBalance | Checks the balance. |\n\n### Issue\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /issue | Issues a new card. |\n\n### Load\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /load | Loads the payment method. |\n\n### MergeBalance\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /mergeBalance | Merge the balance of two cards. |\n\n### VoidTransaction\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /voidTransaction | Voids a transaction. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a changeStatus?\" -> POST /changeStatus\n- \"Create a checkBalance?\" -> POST /checkBalance\n- \"Create a issue?\" -> POST /issue\n- \"Create a load?\" -> POST /load\n- \"Create a mergeBalance?\" -> POST /mergeBalance\n- \"Create a voidTransaction?\" -> POST /voidTransaction\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Adyen Stored Value API\n@base https://pal-test.adyen.com/pal/servlet/StoredValue/v46\n@version 46\n@auth ApiKey X-API-Key in header | Bearer basic\n@common_fields {merchantAccount: str # The merchant account identifier, with which you want to process the transaction., reference: str # The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters., store: str # The physical store, for which this payment is processed.}\n@endpoints 6\n@toc changeStatus(1), checkBalance(1), issue(1), load(1), mergeBalance(1), voidTransaction(1)\n\n@group changeStatus\n@endpoint POST /changeStatus\n@desc Changes the status of the payment method.\n@required {paymentMethod: map # The collection that contains the type of the payment method and its specific information if available, status: str(active/inactive) # The status you want to change to}\n@optional {amount: map{currency!: str, value!: int(int64)}, recurringDetailReference: str, shopperInteraction: str(Ecommerce/ContAuth/Moto/POS) # Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.  This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal., shopperReference: str}\n@returns(200) {authCode: str, currentBalance: map{currency: str, value: int(int64)}, pspReference: str, refusalReason: str, resultCode: str, thirdPartyRefusalReason: str} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 500: Internal Server Error - the server could not process the request.}\n\n@endgroup\n\n@group checkBalance\n@endpoint POST /checkBalance\n@desc Checks the balance.\n@required {paymentMethod: map # The collection that contains the type of the payment method and its specific information if available}\n@optional {amount: map{currency!: str, value!: int(int64)}, recurringDetailReference: str, shopperInteraction: str(Ecommerce/ContAuth/Moto/POS) # Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.  This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal., shopperReference: str}\n@returns(200) {currentBalance: map{currency: str, value: int(int64)}, pspReference: str, refusalReason: str, resultCode: str, thirdPartyRefusalReason: str} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 500: Internal Server Error - the server could not process the request.}\n\n@endgroup\n\n@group issue\n@endpoint POST /issue\n@desc Issues a new card.\n@required {paymentMethod: map # The collection that contains the type of the payment method and its specific information if available}\n@optional {amount: map{currency!: str, value!: int(int64)}, recurringDetailReference: str, shopperInteraction: str(Ecommerce/ContAuth/Moto/POS) # Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.  This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal., shopperReference: str}\n@returns(200) {authCode: str, currentBalance: map{currency: str, value: int(int64)}, paymentMethod: map, pspReference: str, refusalReason: str, resultCode: str, thirdPartyRefusalReason: str} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 500: Internal Server Error - the server could not process the request.}\n\n@endgroup\n\n@group load\n@endpoint POST /load\n@desc Loads the payment method.\n@required {amount: map{currency!: str, value!: int(int64)}, paymentMethod: map # The collection that contains the type of the payment method and its specific information if available}\n@optional {loadType: str(merchandiseReturn/load) # The type of load you are trying to do, when absent we default to 'Load', recurringDetailReference: str, shopperInteraction: str(Ecommerce/ContAuth/Moto/POS) # Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.  This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal., shopperReference: str}\n@returns(200) {authCode: str, currentBalance: map{currency: str, value: int(int64)}, pspReference: str, refusalReason: str, resultCode: str, thirdPartyRefusalReason: str} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 500: Internal Server Error - the server could not process the request.}\n\n@endgroup\n\n@group mergeBalance\n@endpoint POST /mergeBalance\n@desc Merge the balance of two cards.\n@required {paymentMethod: map # The collection that contains the type of the payment method and its specific information if available, sourcePaymentMethod: map # The collection that contains the source payment method and its specific information if available. Note that type should not be included since it is inferred from the (target) payment method}\n@optional {amount: map{currency!: str, value!: int(int64)}, recurringDetailReference: str, shopperInteraction: str(Ecommerce/ContAuth/Moto/POS) # Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.  This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal., shopperReference: str}\n@returns(200) {authCode: str, currentBalance: map{currency: str, value: int(int64)}, pspReference: str, refusalReason: str, resultCode: str, thirdPartyRefusalReason: str} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 500: Internal Server Error - the server could not process the request.}\n\n@endgroup\n\n@group voidTransaction\n@endpoint POST /voidTransaction\n@desc Voids a transaction.\n@required {originalReference: str # The original pspReference of the payment to modify.}\n@optional {tenderReference: str # The reference of the tender., uniqueTerminalId: str # The unique ID of a POS terminal.}\n@returns(200) {currentBalance: map{currency: str, value: int(int64)}, pspReference: str, refusalReason: str, resultCode: str, thirdPartyRefusalReason: str} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 500: Internal Server Error - the server could not process the request.}\n\n@endgroup\n\n@end\n"}}