Quickstart
Onboard a venue and take your first payment against the sandbox in five minutes.
PreviewThe Payments API is in a design-partner preview and not yet publicly callable — endpoints and shapes may change. Request access to join the program. Building a venue integration today? Use the live Venue API.
1. Get your API keys
Yusker Payments is currently onboarding partners directly. Request API accessand you'll receive sandbox credentials: an API key (a username:secret pair) and an Application ID. All requests use HTTP Basic auth — see Authentication.
export YUSKER_KEY="USxxxxxxxx:secret"
export YUSKER_BASE="https://api.sandbox.yusker.com/v1"2. Create a merchant
A venue is a Merchant, provisioned from an Identity that carries its KYB.
curl -u "$YUSKER_KEY" "$YUSKER_BASE/identities" \
-H "Content-Type: application/json" \
-d '{
"entity": {
"business_name": "Hawg'\''s Breath Saloon",
"business_type": "INDIVIDUAL_SOLE_PROPRIETORSHIP",
"email": "owner@hawgsbreath.ca",
"country": "CAN"
}
}'Then provision the merchant:
curl -u "$YUSKER_KEY" "$YUSKER_BASE/identities/IDxxxx/merchants" \
-H "Content-Type: application/json" -d '{}'
# -> { "id": "MUxxxx", "onboarding_state": "APPROVED", "processing_enabled": true }3. Tokenize a card
In production the diner's card is tokenized in the browser by yusker.js — no card data touches your servers. In the sandbox you can create a Payment Instrument from a test card directly.
curl -u "$YUSKER_KEY" "$YUSKER_BASE/payment_instruments" \
-H "Content-Type: application/json" \
-d '{
"type": "PAYMENT_CARD",
"number": "4895142232120006",
"expiration_month": 12, "expiration_year": 2029,
"security_code": "123",
"identity": "IDbuyer"
}'
# -> { "id": "PIxxxx", ... }4. Create a transfer
A Transfer debits the card and settles to the merchant, keeping your platform fee. Amounts are in the smallest currency unit (cents).
curl -u "$YUSKER_KEY" "$YUSKER_BASE/transfers" \
-H "Content-Type: application/json" \
-d '{
"merchant": "MUxxxx",
"source": "PIxxxx",
"amount": 5000,
"fee": 175,
"currency": "CAD"
}'
# -> { "id": "TRxxxx", "state": "SUCCEEDED", "amount": 5000, "fee": 175 }That's a payment.
A
SUCCEEDED transfer means the diner was charged $50.00, the venue is owed $48.25, and Yusker earned a $1.75 platform fee — all settled and ready to reconcile. Wire up Webhooks to receive the settlement asynchronously.