Processing payments with Adyen from containers, serverless, or cloud platforms? Adyen lets you restrict API credentials to specific IP addresses. Route all payment, payout, and management API calls through a dedicated static EU IP for secure, auditable payment processing.
import Adyen
import os
# Route through static EU IP
# HTTPS_PROXY=https://user:pass@eu-01.outboundgateway.com:8443
adyen = Adyen.Adyen()
adyen.payment.client.xapikey = os.environ["ADYEN_API_KEY"]
result = adyen.payment.authorise({
"amount": {"value": 2000, "currency": "EUR"},
"reference": "ORDER-123",
"merchantAccount": "YourMerchant",
})
Adyen lets you restrict API credentials to specific IP addresses — but your infrastructure IPs keep changing
Adyen's API credential settings let you add allowed IP ranges. Only requests from those IPs are permitted — but your containers and serverless functions get new IPs on every deploy.
Kubernetes pods, Lambda functions, and Docker containers rotate IPs constantly. Your Adyen API credentials stop working without warning — payments fail, captures miss, and refunds don't go through.
Payment security audits require stable, documented outbound IPs for all Adyen API interactions. Dynamic IPs create gaps in your PCI DSS network security documentation.
Adyen recommends separate API credentials for online, POS, and refund channels. Each credential needs its own IP whitelisting — unmanageable with rotating IPs across environments.
"All Adyen API credentials must be restricted to approved IP addresses. No unrestricted access to payment endpoints."
You need one stable IP to give them — not an IP that changes with every deployment.
Your Payment App
HTTPS Proxy
(Static EU IP)
Adyen API
Adyen sees your fixed EU IP addresses — every API call from payments and payouts to refunds and disputes. Two IPs for high availability.
HTTPS_PROXY as an environment variable — zero code changes required
Building payment flows with Adyen that need IP-restricted API credentials and stable outbound IPs for PCI DSS compliance
Running multi-channel payment platforms with Adyen — online, POS, and marketplace — each needing separate IP-whitelisted API credentials
Processing online payments with Adyen from cloud infrastructure that needs consistent IPs for fraud prevention and security
Ensuring PCI DSS and GDPR compliance for Adyen payment processing with auditable outbound IP trails and EU-only routing
Configure your Adyen SDK to use HTTPS_PROXY. All API calls route through your static EU IP.
Set HTTPS_PROXY and pass it to the Adyen SDK. Every API call routes through your static EU IP.
# .env or shell
HTTPS_PROXY=https://user:pass@eu-01.outboundgateway.com:8443
ADYEN_API_KEY=your_api_key
ADYEN_MERCHANT_ACCOUNT=YourMerchant
import os
import Adyen
import requests
adyen = Adyen.Adyen()
adyen.payment.client.xapikey = os.environ["ADYEN_API_KEY"]
adyen.payment.client.merchant_account = os.environ["ADYEN_MERCHANT_ACCOUNT"]
# Set proxy on the underlying HTTP session
adyen.payment.client.http_force_proxy = os.environ["HTTPS_PROXY"]
# All API calls now route through your static EU IP
result = adyen.payment.authorise({
"amount": {"value": 2000, "currency": "EUR"},
"reference": "ORDER-123",
"paymentMethod": {
"type": "scheme",
"number": "4111111111111111",
"expiryMonth": "03",
"expiryYear": "2030",
"holderName": "John Smith",
},
"returnUrl": "https://example.com/return",
})
print(result.message["pspReference"])
Pass HTTPS_PROXY to the Adyen Node.js SDK via https-proxy-agent.
// .env or shell
HTTPS_PROXY=https://user:pass@eu-01.outboundgateway.com:8443
ADYEN_API_KEY=your_api_key
ADYEN_MERCHANT_ACCOUNT=YourMerchant
const HttpsProxyAgent = require('https-proxy-agent');
const { Client, Checkout } = require('@adyen/api-library');
const client = new Client({
apiKey: process.env.ADYEN_API_KEY,
environment: 'LIVE',
httpAgent: new HttpsProxyAgent(process.env.HTTPS_PROXY),
});
const checkout = new Checkout(client);
// Every API call routes through your static EU IP
const paymentResponse = await checkout.payments({
amount: { currency: 'EUR', value: 2000 },
reference: 'ORDER-123',
paymentMethod: { type: 'scheme' },
merchantAccountCode: process.env.ADYEN_MERCHANT_ACCOUNT,
returnUrl: 'https://example.com/return',
});
console.log(paymentResponse.pspReference);
Set the env var in your platform config. Every environment works the same way.
# Docker Compose: reference a .env file (never hardcode secrets)
services:
app:
env_file:
- .env
# Kubernetes: use a Secret object
env:
- name: HTTPS_PROXY
valueFrom:
secretKeyRef:
name: outboundgateway-proxy
key: proxy-url
# AWS Lambda: set in function environment variables
HTTPS_PROXY=${OUTBOUNDGATEWAY_PROXY_URL}
Two Static IPs for High Availability
You get two static IP addresses (e.g. 51.xx.xx.10 and 51.xx.xx.11). Add both to your Adyen API credential "Allowed IP range" — if one proxy node goes down, traffic automatically fails over. No single point of failure for your payment flows.
📖 Complete Documentation: For detailed examples, error handling, and advanced configurations, see our Python SSL Proxy Guide, Node.js Guide, and all other language guides.
EU-hosted infrastructure designed for GDPR and PSD2 compliance for your Adyen payment integrations.
European data centers. Payment traffic routes through EU infrastructure — Adyen is EU-based (Netherlands), so your traffic stays within European borders.
TLS passthrough means we never see your payment data. Adyen API keys and cardholder data stay encrypted end-to-end. Stable IPs support PCI DSS network security documentation.
API traffic routes entirely within EU infrastructure. No detours through US servers that could complicate GDPR compliance for payment data.
Two static IPs provide a clear, auditable outbound identity for PCI DSS security reviews and Adyen API credential IP restrictions. Automatic failover keeps payments flowing.
Two fixed IPs for all Adyen API calls. Add both to your "Allowed IP range" in the Adyen Customer Area — automatic failover if one node goes down.
Set the HTTPS_PROXY env var. Adyen SDKs in Python, Node.js, Java, PHP, Ruby, and Go detect it. Your payment code works as-is.
European data centers. GDPR-conscious setup. Adyen is Netherlands-based — your traffic stays in the EU.
Checkout, Payments, Payouts, Recurring, Management API, Transfers, POS — one static IP covers every Adyen endpoint your application uses.
TLS passthrough means we can't see your traffic. Your API keys stay secure.
Starting from €29/month. Flexible plans for every scale. Cancel anytime.
Stop worrying about dynamic IPs breaking your Adyen API access. Start using a dedicated, EU-based static IP for secure, auditable payment processing.
€29/month starter plan • 7-day refund policy • Direct founder support
We're happy to help you determine if OutboundGateway is the right fit for your Adyen payment integrations.
Contact Our Founders →