Skip to main content

Add metadata

View as Markdown (opens in a new tab)
Install AI tools

Give your assistant up-to-date guidance for our APIs, with our plugin or without it.

The plugin is still under development. See the AI tools page for details.

Run both commands, in order.

claude plugin marketplace add vippsas/agent-toolkit
claude plugin install vipps-developer@agent-toolkit

For troubleshooting, see the full instructions.

Add custom metadata to your payment transactions to facilitate tracking, reconciliation, and integration with your existing systems. We’ll store it as provided and return it in the GetPaymentResponse of GET:/epayment/v1/payments/{reference}.

This feature allows you to attach additional information to each payment, making it easier to integrate with your other systems.

Authorization​

All ePayment API requests must include a valid Bearer token in the Authorization header. See Authorization for how to obtain one.

Create a payment with metadata​

Call POST:/epayment/v1/payments with metadata.

For example:

curl -X POST https://apitest.vipps.no/epayment/v1/payments \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR-ACCESS-TOKEN" \
-H "Ocp-Apim-Subscription-Key: YOUR-SUBSCRIPTION-KEY" \
-H "Merchant-Serial-Number: YOUR-MSN" \
-H "Idempotency-Key: YOUR-IDEMPOTENCY-KEY" \
-H "Vipps-System-Name: acme" \
-H "Vipps-System-Version: 3.1.2" \
-H "Vipps-System-Plugin-Name: acme-webshop" \
-H "Vipps-System-Plugin-Version: 4.5.6" \
-d '{
"metadata" : {
"location" : "Q-Park Magasin du Nord",
"date" : "2026-01-05 12:00 - 14:34 "
},
"amount": {
"value": 15000,
"currency": "DKK"
},
"paymentMethod": {
"type": "WALLET"
},
"customer": {
"phoneNumber": "4512345678"
},
"reference": "21203831704360461822",
"userFlow": "PUSH_MESSAGE",
"paymentDescription": "QPark",
"receiptUrl":"https://example.com/link/to/my.pdf"
}'

Get payment details​

When you include metadata in the Create payment request, you’ll find the same metadata returned in the GET:/epayment/v1/payments/{reference} response.

For example (truncated):

{
"metadata" : {
"key1" : "value1",
"key2" : 12345
}
}