"Adyen Stored Value API skill. Use when working with Adyen Stored Value for changeStatus, checkBalance, issue. Covers 6 endpoints."
Resources
1Install
npx skillscat add lap-platform/claude-marketplace/adyen-stored-value-api Install via the SkillsCat registry.
SKILL.md
Adyen Stored Value API
API version: 46
Auth
ApiKey X-API-Key in header | Bearer basic
Base URL
https://pal-test.adyen.com/pal/servlet/StoredValue/v46
Setup
- Set Authorization header with your Bearer token
- POST /changeStatus -- create first changeStatus
Endpoints
6 endpoints across 6 groups. See references/api-spec.lap for full details.
changeStatus
| Method | Path | Description |
|---|---|---|
| POST | /changeStatus | Changes the status of the payment method. |
checkBalance
| Method | Path | Description |
|---|---|---|
| POST | /checkBalance | Checks the balance. |
issue
| Method | Path | Description |
|---|---|---|
| POST | /issue | Issues a new card. |
load
| Method | Path | Description |
|---|---|---|
| POST | /load | Loads the payment method. |
mergeBalance
| Method | Path | Description |
|---|---|---|
| POST | /mergeBalance | Merge the balance of two cards. |
voidTransaction
| Method | Path | Description |
|---|---|---|
| POST | /voidTransaction | Voids a transaction. |
Enhanced Skill Content
Question Mapping
- "How do I check the balance on a gift card?" -> POST /checkBalance
- "How do I activate or deactivate a stored value card?" -> POST /changeStatus
- "How do I issue a new gift card?" -> POST /issue
- "How do I load funds onto a prepaid card?" -> POST /load
- "How do I process a merchandise return to a gift card?" -> POST /load (with loadType: merchandiseReturn)
- "How do I merge two gift card balances into one?" -> POST /mergeBalance
- "How do I cancel a stored value transaction?" -> POST /voidTransaction
- "How do I set up a recurring stored value payment?" -> POST /load (with shopperReference + recurringDetailReference)
- "How do I check balance before processing a payment?" -> POST /checkBalance, then conditional logic
- "How do I transfer balance from one card to another?" -> POST /mergeBalance (sourcePaymentMethod -> paymentMethod)
- "How do I deactivate a lost or stolen gift card?" -> POST /changeStatus (status: inactive)
- "How do I reactivate a previously disabled card?" -> POST /changeStatus (status: active)
- "How do I issue a gift card for a specific amount?" -> POST /issue (with amount)
- "How do I void a load that was done in error?" -> POST /voidTransaction (with originalReference from load response)
Response Tips
- All endpoints: Check
resultCodefirst -- values like "Success", "Refused", or "Error" determine outcome. A 200 status does NOT guarantee success; the operation may be refused at the payment method level. - Balance responses:
currentBalanceis a map withcurrency(ISO 4217) andvaluein minor units (e.g., 1000 = 10.00 EUR). Always divide by 100 for display currencies with two decimal places. - Refusals: When
resultCodeindicates refusal, check bothrefusalReason(Adyen's reason) andthirdPartyRefusalReason(issuer/processor reason) for diagnostics. - Transaction references: Save
pspReferencefrom every response -- it is required for void operations and useful for reconciliation. - Errors: 400 = malformed request (check required fields), 401/403 = API key or permission issue, 500 = retry with idempotency via
reference.
Anomaly Flags
- Refused resultCode on 200: Surface immediately -- the HTTP call succeeded but the operation was denied. Display both
refusalReasonandthirdPartyRefusalReason. - Zero or negative currentBalance: Flag after a load or issue operation -- may indicate the operation did not apply as expected.
- Missing authCode: Some successful responses omit
authCode. If present, store it; if absent on a successful result, note it as processor-dependent. - Currency mismatch: If the
currentBalance.currencyin the response differs from theamount.currencysent in the request, flag for review. - 500 errors without pspReference: Indicates the request may not have reached the payment platform -- advise retry with the same
referencefor idempotency. - Repeated refusals on changeStatus: May indicate the card is permanently blocked at issuer level, not just inactive in Adyen.
Playbook
Issue a Gift Card and Load Initial Balance
- Call POST /issue with
paymentMethod(card details) andmerchantAccount - Confirm
resultCodeis successful and note thepspReference - Call POST /load with the same
paymentMethod, desiredamount, andmerchantAccount - Verify
currentBalancein the response matches the loaded amount - Store the
pspReferencefrom both calls for reconciliation
Process a Merchandise Return to Gift Card
- Call POST /checkBalance with the gift card
paymentMethodto confirm the card is active - Call POST /load with
loadType: "merchandiseReturn", the returnamount, and the card'spaymentMethod - Verify
resultCodeis successful andcurrentBalancereflects the added return amount - Store the
pspReferencefor the return transaction audit trail
Deactivate a Lost Card and Transfer Balance
- Call POST /checkBalance on the lost card's
paymentMethodto capture remaining balance - Call POST /changeStatus with
status: "inactive"to disable the lost card - Confirm
resultCodeis successful on deactivation - Call POST /issue to create a replacement card
- Call POST /mergeBalance with the lost card as
sourcePaymentMethodand the new card aspaymentMethod(if balance transfer is supported while inactive; otherwise load the captured amount onto the new card)
Void an Erroneous Transaction
- Locate the
pspReferencefrom the original transaction response (load, issue, etc.) - Call POST /voidTransaction with
originalReferenceset to thatpspReference - Check
resultCodefor success confirmation - Verify
currentBalancereflects the reversal
Check Balance Before a POS Transaction
- Call POST /checkBalance with the card's
paymentMethodandshopperInteraction: "POS" - Read
currentBalance.valueandcurrentBalance.currencyfrom the response - If balance is sufficient, proceed with the payment flow
- If balance is insufficient, calculate the remaining amount for a split-tender scenario
Response Tips
- Check response schemas in references/api-spec.lap for field details
- Create/update endpoints typically return the created/updated object
References
- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas
Generated from the official API spec by LAP