{
	"info": {
		"_postman_id": "1979635f-d5c1-4be5-a504-147d22288dd4",
		"name": "Webhooks",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
		"_exporter_id": "31688623"
	},
	"item": [
		{
			"name": "Get Access Token",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"pm.environment.set(\"access_token\", pm.response.json().access_token);"
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "POST",
				"header": [
					{
						"key": "client_id",
						"value": "{{client_id}}"
					},
					{
						"key": "client_secret",
						"value": "{{client_secret}}"
					},
					{
						"key": "Ocp-Apim-Subscription-Key",
						"value": "{{Ocp-Apim-Subscription-Key}}",
						"type": "default"
					},
					{
						"key": "Merchant-Serial-Number",
						"value": "{{merchantSerialNumber}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Name",
						"value": "{{vipps_system_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Version",
						"value": "{{vipps_system_version}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Name",
						"value": "{{vipps_system_plugin_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Version",
						"value": "{{vipps_system_plugin_version}}",
						"type": "default"
					}
				],
				"body": {
					"mode": "raw",
					"raw": ""
				},
				"url": {
					"raw": "https://apitest.vipps.no/accessToken/get",
					"protocol": "https",
					"host": [
						"apitest",
						"vipps",
						"no"
					],
					"path": [
						"accessToken",
						"get"
					]
				}
			},
			"response": []
		},
		{
			"name": "Register",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"pm.test(\"Should pass\", () => {\r",
							"    pm.response.to.have.status(201)\r",
							"\r",
							"    const responseBody = pm.response.json()\r",
							"    pm.environment.set(\"webhook_id\", responseBody.id)\r",
							"})"
						],
						"type": "text/javascript",
						"packages": {}
					}
				},
				{
					"listen": "prerequest",
					"script": {
						"exec": [
							""
						],
						"type": "text/javascript",
						"packages": {}
					}
				}
			],
			"protocolProfileBehavior": {
				"tlsDisabledProtocols": []
			},
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{access_token}}",
							"type": "string"
						}
					]
				},
				"method": "POST",
				"header": [
					{
						"key": "Ocp-Apim-Subscription-Key",
						"value": "{{Ocp-Apim-Subscription-Key}}",
						"type": "default"
					},
					{
						"key": "Merchant-Serial-Number",
						"value": "{{merchantSerialNumber}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Name",
						"value": "{{vipps_system_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Version",
						"value": "{{vipps_system_version}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Name",
						"value": "{{vipps_system_plugin_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Version",
						"value": "{{vipps_system_plugin_version}}",
						"type": "default"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n    \"url\": \"{{callbackUrl}}\",\r\n    \"events\": [\"epayments.payment.created.v1\"]\r\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/webhooks/v1/webhooks",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"webhooks",
						"v1",
						"webhooks"
					]
				}
			},
			"response": []
		},
		{
			"name": "Delete",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"pm.test(\"Should pass\", () => {\r",
							"    pm.response.to.have.status(201)\r",
							"\r",
							"    const responseBody = pm.response.json()\r",
							"    pm.environment.set(\"webhook_id\", responseBody.id)\r",
							"})"
						],
						"type": "text/javascript",
						"packages": {}
					}
				},
				{
					"listen": "prerequest",
					"script": {
						"exec": [
							""
						],
						"type": "text/javascript",
						"packages": {}
					}
				}
			],
			"protocolProfileBehavior": {
				"tlsDisabledProtocols": []
			},
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{access_token}}",
							"type": "string"
						}
					]
				},
				"method": "DELETE",
				"header": [
					{
						"key": "Ocp-Apim-Subscription-Key",
						"value": "{{Ocp-Apim-Subscription-Key}}",
						"type": "default"
					},
					{
						"key": "Merchant-Serial-Number",
						"value": "{{merchantSerialNumber}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Name",
						"value": "{{vipps_system_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Version",
						"value": "{{vipps_system_version}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Name",
						"value": "{{vipps_system_plugin_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Version",
						"value": "{{vipps_system_plugin_version}}",
						"type": "default"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/webhooks/v1/webhooks/{{webhook_id}}",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"webhooks",
						"v1",
						"webhooks",
						"{{webhook_id}}"
					]
				}
			},
			"response": []
		},
		{
			"name": "Get All",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"pm.test(\"Should pass\", () => {\r",
							"    pm.response.to.have.status(200)\r",
							"})"
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{access_token}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [
					{
						"key": "Ocp-Apim-Subscription-Key",
						"value": "{{Ocp-Apim-Subscription-Key}}",
						"type": "default"
					},
					{
						"key": "Merchant-Serial-Number",
						"value": "{{merchantSerialNumber}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Name",
						"value": "{{vipps_system_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Version",
						"value": "{{vipps_system_version}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Name",
						"value": "{{vipps_system_plugin_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Version",
						"value": "{{vipps_system_plugin_version}}",
						"type": "default"
					}
				],
				"url": {
					"raw": "{{base_url}}/webhooks/v1/webhooks",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"webhooks",
						"v1",
						"webhooks"
					]
				}
			},
			"response": []
		},
		{
			"name": "Create payment - Web redirect",
			"event": [
				{
					"listen": "prerequest",
					"script": {
						"exec": [
							"var uuid = require('uuid')\r",
							"pm.environment.set(\"idempotency_key\", uuid.v4())\r",
							"pm.environment.set('reference',pm.environment.get('merchantSerialNumber') + (new Date()).getTime());"
						],
						"type": "text/javascript",
						"packages": {}
					}
				},
				{
					"listen": "test",
					"script": {
						"exec": [
							"if(pm.response.code === 200) { \r",
							"    var jsonData = pm.response.json();\r",
							"    pm.environment.set('LandingPageURL', jsonData.url);\r",
							"    var str = jsonData.url\r",
							"    var str2 = str.split('=', 3)[2]\r",
							"    pm.environment.set('payment_token', str2);\r",
							"}"
						],
						"type": "text/javascript",
						"packages": {}
					}
				}
			],
			"request": {
				"auth": {
					"type": "noauth"
				},
				"method": "POST",
				"header": [
					{
						"key": "Authorization",
						"value": "Bearer {{access_token}}",
						"type": "default"
					},
					{
						"key": "Ocp-Apim-Subscription-Key",
						"value": "{{Ocp-Apim-Subscription-Key}}",
						"description": "(Required) APIM Subscription Key"
					},
					{
						"key": "Content-Type",
						"value": "application/json"
					},
					{
						"key": "Idempotency-Key",
						"value": "{{idempotency_key}}",
						"description": "(Required) Idempotency key for the request, ensures idempotent actions."
					},
					{
						"key": "Merchant-Serial-Number",
						"value": "{{merchantSerialNumber}}",
						"description": "(Required) The Sales unit's MSN: The unique identifier for the sales unit."
					},
					{
						"key": "Vipps-System-Name",
						"value": "{{vipps_system_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Version",
						"value": "{{vipps_system_version}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Name",
						"value": "{{vipps_system_plugin_name}}",
						"type": "default"
					},
					{
						"key": "Vipps-System-Plugin-Version",
						"value": "{{vipps_system_plugin_version}}",
						"type": "default"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"amount\": {\n    \"value\": {{amount}},\n    \"currency\": \"{{currency}}\"\n  },\n  \"paymentMethod\": {\n    \"type\": \"WALLET\"\n  },\n  \"customer\": {\n    \"phoneNumber\": {{internationalMobileNumber}}\n  },\n  \"reference\": {{reference}},\n  \"userFlow\": \"WEB_REDIRECT\",\n  \"returnUrl\": \"https://developer.vippsmobilepay.com/docs/example-pages/result-page\",\n  \"paymentDescription\": \"Purchase of socks\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_url}}/epayment/v1/payments",
					"host": [
						"{{base_url}}"
					],
					"path": [
						"epayment",
						"v1",
						"payments"
					]
				},
				"description": "Create a new payment"
			},
			"response": []
		}
	]
}