{
	"info": {
		"_postman_id": "laravel-eupago-collection",
		"name": "Laravel EuPago",
		"description": "Coleccao Postman para testar a API do EuPago atraves do pacote Laravel EuPago (digitaldev-lx/laravel-eupago).\n\nConfiguracao:\n1. Edite as variaveis da coleccao com as suas credenciais\n2. base_url: use https://sandbox.eupago.pt para testes ou https://clientes.eupago.pt para producao\n3. api_key: a sua chave de API EuPago",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"variable": [
		{
			"key": "base_url",
			"value": "https://sandbox.eupago.pt",
			"type": "string"
		},
		{
			"key": "api_key",
			"value": "your-api-key",
			"type": "string"
		},
		{
			"key": "bearer_token",
			"value": "your-bearer-token",
			"type": "string"
		},
		{
			"key": "subscription_id",
			"value": "your-subscription-id",
			"type": "string"
		}
	],
	"item": [
		{
			"name": "Multibanco",
			"description": "Criar referencias Multibanco para pagamento por ATM ou homebanking.",
			"item": [
				{
					"name": "Create MB Reference",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/x-www-form-urlencoded"
							}
						],
						"body": {
							"mode": "urlencoded",
							"urlencoded": [
								{
									"key": "chave",
									"value": "{{api_key}}",
									"description": "Chave de API EuPago"
								},
								{
									"key": "valor",
									"value": "25.00",
									"description": "Valor do pagamento"
								},
								{
									"key": "id",
									"value": "order-001",
									"description": "Identificador externo (ex: ID da encomenda)"
								},
								{
									"key": "data_inicio",
									"value": "2026-04-07",
									"description": "Data de inicio da validade (yyyy-mm-dd)"
								},
								{
									"key": "data_fim",
									"value": "2026-04-30",
									"description": "Data limite de pagamento (yyyy-mm-dd)"
								},
								{
									"key": "valor_minimo",
									"value": "25.00",
									"description": "Valor minimo aceite"
								},
								{
									"key": "valor_maximo",
									"value": "25.00",
									"description": "Valor maximo aceite"
								},
								{
									"key": "per_dup",
									"value": "0",
									"description": "Permitir pagamentos duplicados (0 = nao, 1 = sim)"
								}
							]
						},
						"url": {
							"raw": "{{base_url}}/clientes/rest_api/multibanco/create",
							"host": ["{{base_url}}"],
							"path": ["clientes", "rest_api", "multibanco", "create"]
						},
						"description": "Cria uma referencia Multibanco. Retorna entidade, referencia, valor e datas."
					},
					"response": []
				}
			]
		},
		{
			"name": "MB Way",
			"description": "Pagamento movel instantaneo via MB Way.",
			"item": [
				{
					"name": "Create MBWay Reference",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/x-www-form-urlencoded"
							}
						],
						"body": {
							"mode": "urlencoded",
							"urlencoded": [
								{
									"key": "chave",
									"value": "{{api_key}}",
									"description": "Chave de API EuPago"
								},
								{
									"key": "valor",
									"value": "15.50",
									"description": "Valor do pagamento"
								},
								{
									"key": "id",
									"value": "1001",
									"description": "Identificador externo (inteiro)"
								},
								{
									"key": "alias",
									"value": "351912345678",
									"description": "Numero de telefone do cliente (com indicativo)"
								},
								{
									"key": "descricao",
									"value": "Pagamento encomenda #1001",
									"description": "Descricao do pagamento (opcional)"
								}
							]
						},
						"url": {
							"raw": "{{base_url}}/clientes/rest_api/mbway/create",
							"host": ["{{base_url}}"],
							"path": ["clientes", "rest_api", "mbway", "create"]
						},
						"description": "Cria um pedido de pagamento MB Way. O cliente recebe a notificacao na app MB Way."
					},
					"response": []
				}
			]
		},
		{
			"name": "Credit Card",
			"description": "Pagamentos por cartao de credito: pagamento unico e subscricoes recorrentes.",
			"item": [
				{
					"name": "Create Single Payment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "ApiKey",
								"value": "{{api_key}}",
								"description": "Chave de API EuPago"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"payment\": {\n    \"identifier\": \"order-001\",\n    \"amount\": {\n      \"value\": 49.99,\n      \"currency\": \"EUR\"\n    },\n    \"successUrl\": \"https://example.com/payment/success\",\n    \"failUrl\": \"https://example.com/payment/fail\",\n    \"backUrl\": \"https://example.com/payment/back\",\n    \"lang\": \"PT\"\n  },\n  \"customer\": {\n    \"notify\": true,\n    \"email\": \"cliente@example.com\"\n  }\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						},
						"url": {
							"raw": "{{base_url}}/api/v1.02/creditcard/create",
							"host": ["{{base_url}}"],
							"path": ["api", "v1.02", "creditcard", "create"]
						},
						"description": "Cria um pagamento unico por cartao de credito. Limite maximo: 3.999 EUR. Retorna redirect_url para o formulario de pagamento."
					},
					"response": []
				},
				{
					"name": "Create Subscription (Authorization)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "ApiKey",
								"value": "{{api_key}}",
								"description": "Chave de API EuPago"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"payment\": {\n    \"identifier\": \"subscription-001\"\n  }\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						},
						"url": {
							"raw": "{{base_url}}/api/v1.02/creditcard/subscription",
							"host": ["{{base_url}}"],
							"path": ["api", "v1.02", "creditcard", "subscription"]
						},
						"description": "Cria uma autorizacao de subscricao recorrente. O cliente autoriza cobranças futuras. Retorna subscription_id e redirect_url."
					},
					"response": []
				},
				{
					"name": "Execute Recurring Payment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "ApiKey",
								"value": "{{api_key}}",
								"description": "Chave de API EuPago"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"payment\": {\n    \"identifier\": \"payment-001\",\n    \"amount\": {\n      \"value\": 29.99,\n      \"currency\": \"EUR\"\n    }\n  },\n  \"customer\": {\n    \"notify\": true,\n    \"email\": \"cliente@example.com\"\n  }\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						},
						"url": {
							"raw": "{{base_url}}/api/v1.02/creditcard/payment/{{subscription_id}}",
							"host": ["{{base_url}}"],
							"path": ["api", "v1.02", "creditcard", "payment", "{{subscription_id}}"]
						},
						"description": "Executa um pagamento recorrente numa subscricao ja autorizada. O subscription_id vem da autorizacao anterior."
					},
					"response": []
				}
			]
		},
		{
			"name": "Google Pay",
			"description": "Pagamentos via Google Pay.",
			"item": [
				{
					"name": "Create Google Pay Payment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "ApiKey",
								"value": "{{api_key}}",
								"description": "Chave de API EuPago"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"payment\": {\n    \"identifier\": \"order-001\",\n    \"amount\": {\n      \"value\": 35.00,\n      \"currency\": \"EUR\"\n    },\n    \"successUrl\": \"https://example.com/payment/success\",\n    \"failUrl\": \"https://example.com/payment/fail\",\n    \"backUrl\": \"https://example.com/payment/back\",\n    \"lang\": \"PT\"\n  },\n  \"customer\": {\n    \"notify\": true,\n    \"email\": \"cliente@example.com\",\n    \"firstName\": \"Joao\",\n    \"lastName\": \"Silva\",\n    \"countryCode\": \"PT\"\n  }\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						},
						"url": {
							"raw": "{{base_url}}/api/v1.02/googlepay/create",
							"host": ["{{base_url}}"],
							"path": ["api", "v1.02", "googlepay", "create"]
						},
						"description": "Cria um pagamento Google Pay. Limite maximo: 99.999 EUR. Retorna redirect_url."
					},
					"response": []
				}
			]
		},
		{
			"name": "Apple Pay",
			"description": "Pagamentos via Apple Pay.",
			"item": [
				{
					"name": "Create Apple Pay Payment",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "ApiKey",
								"value": "{{api_key}}",
								"description": "Chave de API EuPago"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"payment\": {\n    \"identifier\": \"order-001\",\n    \"amount\": {\n      \"value\": 35.00,\n      \"currency\": \"EUR\"\n    },\n    \"successUrl\": \"https://example.com/payment/success\",\n    \"failUrl\": \"https://example.com/payment/fail\",\n    \"backUrl\": \"https://example.com/payment/back\",\n    \"lang\": \"PT\"\n  },\n  \"customer\": {\n    \"notify\": true,\n    \"email\": \"cliente@example.com\",\n    \"firstName\": \"Joao\",\n    \"lastName\": \"Silva\",\n    \"countryCode\": \"PT\"\n  }\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						},
						"url": {
							"raw": "{{base_url}}/api/v1.02/euapplepay/create",
							"host": ["{{base_url}}"],
							"path": ["api", "v1.02", "euapplepay", "create"]
						},
						"description": "Cria um pagamento Apple Pay. Retorna redirect_url."
					},
					"response": []
				}
			]
		},
		{
			"name": "Payouts",
			"description": "Consulta de pagamentos recebidos e transacoes. Requer Bearer Token (diferente da API Key).",
			"item": [
				{
					"name": "List Payouts",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{bearer_token}}",
								"description": "Bearer token para gestao de payouts"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/management/v1.02/payouts?start_date=2026-01-01&end_date=2026-04-07",
							"host": ["{{base_url}}"],
							"path": ["api", "management", "v1.02", "payouts"],
							"query": [
								{
									"key": "start_date",
									"value": "2026-01-01",
									"description": "Data de inicio (yyyy-mm-dd)"
								},
								{
									"key": "end_date",
									"value": "2026-04-07",
									"description": "Data de fim (yyyy-mm-dd)"
								}
							]
						},
						"description": "Lista payouts (desembolsos) num intervalo de datas."
					},
					"response": []
				},
				{
					"name": "List Payout Transactions",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{bearer_token}}",
								"description": "Bearer token para gestao de payouts"
							},
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/management/v1.02/payouts/transactions?start_date=2026-01-01&end_date=2026-04-07",
							"host": ["{{base_url}}"],
							"path": ["api", "management", "v1.02", "payouts", "transactions"],
							"query": [
								{
									"key": "start_date",
									"value": "2026-01-01",
									"description": "Data de inicio (yyyy-mm-dd)"
								},
								{
									"key": "end_date",
									"value": "2026-04-07",
									"description": "Data de fim (yyyy-mm-dd)"
								}
							]
						},
						"description": "Lista transacoes individuais dos payouts num intervalo de datas."
					},
					"response": []
				}
			]
		}
	]
}