Download OpenAPI specification:
Changelog — every change to this API, by date.
Onboarding is asynchronous. add-merchant answers 202 as soon as the request is
accepted and the work continues in the background, so the outcome is read from
the status endpoint rather than from the response body.
1. GET company-registry-information/{nationalId} [optional]
Skip it if you already know the national id and that the
merchant is not onboarded yet.
404 ................. not in the register, nothing to onboard
200 isOnboarded=true already a merchant, jump to step 6
200 isOnboarded=false continue
2. GET signatory-combinations/{nationalId}
[[A,B],[A,C]] ....... pick ONE combination, send all of its people
[] .................. sole trader: send the owner with
isBeneficialOwner=true instead
3. GET pricelists .......... pick a priceListId [optional]
Skip it if you have the pricelist ids stored already.
4. POST add-merchant ........ signatories + terminals + stores
202 ................. accepted, onboarding is now running
400 ................. fix the request and send it again
5. GET status/{nationalId} . poll until it settles
Pending ............. still working through the steps
Active .............. done
6. GET merchant-information/{nationalId}
the roles, the stores and their terminals. The store ids here are
the ones PATCH store accepts.
7. POST store/{nationalId} add another store
PATCH store/{nationalId}/{storeId} change one store, partially
PATCH {nationalId}/contact-info change email and/or phone
Url: https://api.paytrim.com/Sandbox/
The sandbox answers from fixed in-memory companies, so the same request always
gives the same answer and nothing you send is stored. A store you add or patch
will not show up in merchant-information afterwards.
Only companies registered in your own country resolve. A Swedish organisation number called with Finnish credentials answers 404, exactly as it would in production.
Every market has the same five companies, so you can learn the flow once and repeat it per country.
| What it is for | SE | FI | DK | NO |
|---|---|---|---|---|
| Onboarded and running | 5560729146 | 27481932 | 37120456 | 918834729 |
| Onboarded, still mid-process | 5591283402 | 16350275 | 25894316 | 984520190 |
| Ready to be onboarded | 5020786157 | 30817468 | 41068728 | 829103656 |
| Sole trader, no signing combination | 8904062380 | 19274052 | 18936577 | 916502834 |
| Not in the register | 5564831971 | 23369257 | 20443189 | 992741686 |
| Endpoint | Running | Mid-process | Ready | Sole trader | Not in register |
|---|---|---|---|---|---|
company-registry-information |
200, isOnboarded true | 200, true | 200, false | 200, false | 404 |
signatory-combinations |
200, two combinations | 200, one | 200, one | 200, empty list | 404 |
status |
200, Active | 200, Pending | 404 not onboarded | 404 not onboarded | 404 |
merchant-information |
200, two stores with terminals | 200, one store, no terminals | 404 not onboarded | 404 not onboarded | 404 |
add-merchant |
400 already exists | 400 already exists | 202 with a full combination | 202 with isBeneficialOwner | 404 |
POST store |
200 | 200 | 400 not onboarded | 400 not onboarded | 404 |
PATCH store |
200 | 200 | 404 no store | 404 no store | 404 |
PATCH contact-info |
204 | 204 | 400 not onboarded | 400 not onboarded | 404 |
| Send this | Get back |
|---|---|
| Only half of a two-person combination | 400 Signatories are not a valid combination |
| A person who is in no combination | 400 Unknown signatories |
| A sole trader without isBeneficialOwner | 400 Sole trader without beneficial owner |
| An empty or missing terminals list | 400 At least one payment terminal must be supplied |
| Verifone or Seitatech outside SE | 400 Terminal not available in this country |
| A store id that does not belong to the merchant | 404 Store not found |
| A patch with no fields set | 400 Nothing to update |
nationalId, because those
registers do not supply one. The compositeKey is then the only thing that
identifies the person, and it is what you send back in signatories.GET Sandbox/Merchant/sandbox-cases returns all of the above for your own
country, generated from the fixtures themselves.
That surface has its own companies: 5560572850, 8904062380, 5566808134 and 5590672613.
We use Azure Entra as Authentication provider, use provided credentials to retrieve token from Azure.
Check out our Authentication guide https://docs.paytrim.com/auth
Include the token in the header as 'Bearer
Controller for onboard new customers. There are endpoints for onboard new merchant and see status on onboarding. The Pricelist endpoint is used to fetch active pricelists.
This initiates the onboarding process for a new merchant along with their stores. If the request is accepted, an HTTP 202 (Accepted) response is returned. Since the onboarding process is asynchronous, the onboarding status can be verified through the status endpoint.
| nationalId required | string non-empty The national id of the company using the format 555555xxxx or 934344334 |
| email required | string <email> non-empty Email to the customer |
| phone required | string non-empty Phone number to the customer |
required | Array of objects (Person) Signing Combinations, provide answers to which combinations of individuals, individually or in combination that has sign the contract |
| externalAgreementNumber required | string non-empty Agreement number for the sign contract |
| signedDate required | string <date-time> Signing date for the contract |
| priceListId required | string <uuid> The Guid of a pricelistId, Fetch from pricelist endpoint |
| feeBillingType required | string (FeeBillingType) Enum: "Daily" "Monthly" |
| bindingDate | string or null <date-time> If dynamic pricelist the pricelist is bound to selected day and can't be changed automatic depended on volume |
| terminals required | Array of strings (PaymentTerminalBrand) non-empty Items Enum: "Verifone" "WestPay" "Seitatech" "SoftPay" The payment terminal(s) the merchant will use. Verifone and Seitatech are only available for Swedish merchants - WestPay and SoftPay are available everywhere |
required | Array of objects (AddStore) List of Store connected to Merchant |
{- "nationalId": "string",
- "email": "user@example.com",
- "phone": "string",
- "signatories": [
- {
- "nationalId": "string",
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "isBeneficialOwner": true,
- "citizenships": [
- "SE"
], - "compositeKey": "string"
}
], - "externalAgreementNumber": "string",
- "signedDate": "2019-08-24T14:15:22Z",
- "priceListId": "19ba5d98-cd5e-43ca-bca6-332c7d2ccedc",
- "feeBillingType": "Daily",
- "bindingDate": "2019-08-24T14:15:22Z",
- "terminals": [
- "Verifone"
], - "stores": [
- {
- "name": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": 2147483647,
- "averageMonthlyRevenue": 2147483647,
- "mcc": "Veterinary_Services"
}
]
}{- "type": "string",
- "title": "string",
- "detail": "string",
- "status": 0,
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "traceId": "string"
}This returns the status of each onboarding step required for activating a merchant. It includes statuses for: the overall condition of the legal entity, bank account, and beneficial owner. If status is Approved the onboarding is complete and merchant is ready to make transactions
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
{- "name": "string",
- "status": "Pending",
- "onboardingStatus": "Manual_Handling",
- "bankAccountStatus": "Pending",
- "beneficialOwners": [
- {
- "name": "string",
- "status": "Pending"
}
]
}This returns a list of active pricelist object, Use this to get the pricelistUniqueId for the onboarding endpoint
{- "list": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "pricelistName": "string",
- "description": "string",
- "priceListType": "Standard",
- "status": "Active"
}
]
}Looks up the company as it appears in the national business register, plus whether it is already onboarded
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
{- "nationalId": "string",
- "countryCode": "SE",
- "name": "string",
- "address": "string",
- "city": "string",
- "zipCode": "string",
- "isOnboarded": true
}Returns the valid signatory combinations for a company, fetched from the company register. Use one of these combinations when onboarding the merchant.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
[- [
- {
- "nationalId": "string",
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "isBeneficialOwner": true,
- "citizenships": [
- "SE"
], - "compositeKey": "string"
}
]
]Returns the merchant, its active roles, and its stores with their terminals.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
{- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "nationalId": "string",
- "countryCode": "SE",
- "name": "string",
- "email": "string",
- "phone": "string",
- "status": "Pending",
- "mctKey": "string",
- "vatNumber": "string",
- "roles": [
- {
- "roleType": "Unknown",
- "fullName": "string",
- "email": "string",
- "phone": "string",
- "status": "Pending"
}
], - "stores": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "merchantId": "string",
- "status": "Pending",
- "mcc": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": "string",
- "averageMonthlyRevenue": "string",
- "terminals": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "terminalId": "string",
- "status": "Active"
}
]
}
]
}Adds a store to an already-onboarded merchant. A payout account for the store is created automatically.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
| name required | string non-empty Name of the Store. Can't be changed after creation |
required | object (Address) |
required | Array of objects (OpeningHours) Opening hours of the Store. All seven days are required, each exactly once. Set isOpen to false for a day the store is closed |
| seasonalVariation required | boolean Is the store close more then 3 month in a row on the year |
| eCommerce required | boolean Is the store using E-commerce |
| averageValuePerTransaction required | integer <int32> [ 0 .. 2147483647 ] Average value per transaction, as an amount in the merchant's local currency |
| averageMonthlyRevenue required | integer <int32> [ 0 .. 2147483647 ] Average monthly revenue, as an amount in the merchant's local currency |
| mcc required | string (MccCode) Enum: "Veterinary_Services" "General_Rent_a_Car" "Taxicabs_and_Limousines" "Motor_Freight_Carriers_Moving_and_Storage_Companies_Trucking_Local_Long_Distance_Delivery_Services_Local" "Transportation_Services_Not_elsewhere_classified" "Telecommunications_Equipment_including_telephone_sales" "Electric_Gas_Sanitary_and_Water_Utilities" "Motor_vehicle_supplies_and_new_parts" "Construction_Materials_Not_Elsewhere_Classified" "Computers_Computer_Peripheral_Equipment_Software" "Medical_Dental_Ophthalmic_Hospital_Equipment_and_Supplies" "Hardware_Equipment_and_Supplies" "Industrial_Supplies_Not_Elsewhere_Classified" "Precious_Stones_and_Metals_Watches_and_Jewelry" "Durable_Goods_Not_Elsewhere_Classified" "Stationery_Office_Supplies_Printing_and_Writing_Paper" "Books_Periodicals_and_Newspapers" "Florists_Supplies_Nursery_Stock_and_Flowers" "Non_durable_Goods_Not_Elsewhere_Classified" "Department_Stores" "Grocery_stores_Supermarkets" "Meat_Provisioners_Freezer_and_Locker" "Candy_Nut_and_Confectionery_Stores" "Dairy_Products_Stores" "Bakeries" "Misc_Food_stores_Convenient_stores_and_Specialty_Markets" "Car_and_Truck_Dealers_New_and_Used_Sales_Service_Repairs_Parts_and_Leasing" "Car_and_Truck_Dealers_Used_Sales_Service_Repairs_Parts_and_Leasing" "Automobile_Supply_Stores" "Automotive_Tire_Stores" "Automotive_Parts_Accessories_Stores" "Service_Stations_with_or_without_ancillary_services" "Merchants_classified_with_this_MCC_sell_electricity_for_the_purpose_of_fueling_an_automobile" "Mens_and_Boys_Clothing_and_Accessories_Stores" "Family_Clothing_Stores" "Shoe_Stores" "Mens_and_Womens_Clothing_Stores" "Tailors_Seamstress_Mending_and_Alterations" "Miscellaneous_Apparel_and_Accessory_Shops" "Furniture_Home_Furnishings_and_Equipment_Stores_ExceptAppliances" "Miscellaneous_Home_Furnishing_Specialty_Stores" "Electronic_Sales" "Music_Stores_Musical_Instruments_Piano_Sheet_Music" "Record_Shops" "Caterers" "Eating_places_and_Restaurants" "Drinking_Places_Alcoholic_Beverages_Bars_Taverns_Cocktail_lounges_Nightclubs_and_Discotheques" "Fast_Food_Restaurants" "Used_Merchandise_and_Secondhand_Stores" "Antique_Shops" "Wrecking_and_Salvage_Yards" "Bicycle_Shops_Sales_and_Service" "Sporting_Goods_Stores" "Book_Stores" "Stationery_Stores_Office_and_School_Supply_Stores" "Watch_Clock_Jewelry_and_Silverware_Stores" "Card_Shops_Gift_Novelty_and_Souvenir_Shops" "Luggage_Or_Leather_Goods_Stores" "Sewing_Needle_Fabric_and_Price_Goods_Stores" "Glassware_Crystal_Stores" "Artists_Supply_and_Craft_Shops" "Art_Dealers_and_Galleries" "Cosmetic_Stores" "Florists" "Cigar_Stores_and_Stands" "Pet_Shops_Pet_Foods_and_Supplies_Stores" "Tent_and_Awning_Shops" "Miscellaneous_and_Specialty_Retail_Stores" "Lodging_Hotel_Motels_and_Resorts" "Sporting_and_Recreational_Camps" "Trailer_Parks_and_Camp_Grounds" "Laundry_Cleaning_and_Garment_Services" "Dry_Cleaners" "Photographic_Studios" "Barber_and_Beauty_shops" "Shop_Repair_Shops_and_Shoe_Shine_Parlors_and_Hat_Cleaning_Shops" "Funeral_Service_and_Crematories" "Massage_Parlors" "Health_and_Beauty_Shops" "Miscellaneous_Personal_Services_not_elsewhere_classifies" "Commercial_Photography_Art_and_Graphics" "Protective_and_Security_Services_Including_Armored_Cars_and_Guard_Dogs" "Business_Services_Not_Elsewhere_Classified" "Automobile_Parking_Lots_and_Garages" "Automotive_Body_Repair_Shops" "Tire_Re_treading_and_Repair_Shops" "Automotive_Service_Shops" "Car_Washes" "Electrical_And_Small_Appliance_Repair_Shops" "Furniture_Furniture_Repair_and_Furniture_Refinishing" "Repair_Shops_and_Related_Services_Miscellaneous" "Bands_Orchestras_and_Miscellaneous_Entertainers_Not_Elsewhere_Classified" "Billiard_and_Pool_Establishments" "Bowling_Alleys" "Commercial_Sports_Athletic_Fields_Professional_Sport_Clubs_and_Sport_Promoters" "Golf_Courses_Public" "Video_Game_Arcades_Establishments" "Amusement_Parks_Carnivals_Circuses_Fortune_Tellers" "Memberchips_clubs_Sports_Recreation_Athletic_Country_clubs_and_Private_golf_courses" "Recreation_Services_Not_Elsewhere_Classified" "Doctors_and_Physicians_Not_Elsewhere_Classified" "Dentists_and_Orthodontists" "Optometrists_and_Ophthalmologists" "Opticians_Opticians_Goods_and_Eyeglasses" "Medical_Services_and_Health_Practitioners_Not_Elsewhere_Classified" "Legal_Services_and_Attorneys" "Schools_and_Educational_Services_Not_Elsewhere_Classified" "Automobile_Associations" "Membership_Organizations_Not_Elsewhere_Classified" "Professional_Services_Not_Elsewhere_Defined" |
{- "name": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": 2147483647,
- "averageMonthlyRevenue": 2147483647,
- "mcc": "Veterinary_Services"
}{- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "merchantId": "string",
- "status": "Pending",
- "mcc": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": "string",
- "averageMonthlyRevenue": "string",
- "terminals": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "terminalId": "string",
- "status": "Active"
}
]
}Updates a store on an already-onboarded merchant. Only the fields you send are changed; anything left out keeps its current value. For opening hours, only the days you send are updated. Name and MCC can't be changed after creation.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
| storeUniqueId required | string <uuid> |
object (AddressPatch) | |
Array of objects or null (OpeningHours) Opening hours to change. Only the days you send are updated, the rest of the week is left as it is | |
| seasonalVariation | boolean or null Is the store close more then 3 month in a row on the year |
| eCommerce | boolean or null Is the store using E-commerce |
| averageValuePerTransaction | integer or null <int32> [ 0 .. 2147483647 ] Average value per transaction, as an amount in the merchant's local currency |
| averageMonthlyRevenue | integer or null <int32> [ 0 .. 2147483647 ] Average monthly revenue, as an amount in the merchant's local currency |
{- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": 2147483647,
- "averageMonthlyRevenue": 2147483647
}{- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "merchantId": "string",
- "status": "Pending",
- "mcc": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": "string",
- "averageMonthlyRevenue": "string",
- "terminals": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "terminalId": "string",
- "status": "Active"
}
]
}Updates the email and/or phone number of an already-onboarded merchant. Send only the field you want to change.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
string or null <email> Email to the customer. Leave out to keep the current one | |
| phone | string or null Phone number to the customer. Leave out to keep the current one |
{- "email": "user@example.com",
- "phone": "string"
}SANDBOX. Mirrors the Merchant controller against fixed in-memory companies in SE, FI, DK and NO. Nothing is stored, so the same request always gives the same answer. Start at GET sandbox-cases to see which national ids produce which outcome.
Every company the sandbox knows in your country, what each one is for, and what each endpoint answers for it. Read this first: the other endpoints only recognise these national ids.
{- "country": "SE",
- "currency": "string",
- "countryNotes": [
- "string"
], - "companies": [
- {
- "nationalId": "string",
- "name": "string",
- "purpose": "string",
- "isOnboarded": true,
- "storeUniqueIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "compositeKeys": [
- "string"
], - "expectations": [
- {
- "endpoint": "string",
- "expect": "string"
}
]
}
]
}Initiates onboarding for a new merchant along with their stores, and answers 202 when the request is accepted. Onboarding is asynchronous in production, so the outcome is read from the status endpoint.
In the sandbox the answer depends on which company you send: the ReadyToOnboard one is accepted when the signatories form a valid combination, the sole trader is accepted only when a signatory carries isBeneficialOwner, and the already-onboarded ones are rejected. See GET sandbox-cases.
| nationalId required | string non-empty The national id of the company using the format 555555xxxx or 934344334 |
| email required | string <email> non-empty Email to the customer |
| phone required | string non-empty Phone number to the customer |
required | Array of objects (Person) Signing Combinations, provide answers to which combinations of individuals, individually or in combination that has sign the contract |
| externalAgreementNumber required | string non-empty Agreement number for the sign contract |
| signedDate required | string <date-time> Signing date for the contract |
| priceListId required | string <uuid> The Guid of a pricelistId, Fetch from pricelist endpoint |
| feeBillingType required | string (FeeBillingType) Enum: "Daily" "Monthly" |
| bindingDate | string or null <date-time> If dynamic pricelist the pricelist is bound to selected day and can't be changed automatic depended on volume |
| terminals required | Array of strings (PaymentTerminalBrand) non-empty Items Enum: "Verifone" "WestPay" "Seitatech" "SoftPay" The payment terminal(s) the merchant will use. Verifone and Seitatech are only available for Swedish merchants - WestPay and SoftPay are available everywhere |
required | Array of objects (AddStore) List of Store connected to Merchant |
{- "nationalId": "string",
- "email": "user@example.com",
- "phone": "string",
- "signatories": [
- {
- "nationalId": "string",
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "isBeneficialOwner": true,
- "citizenships": [
- "SE"
], - "compositeKey": "string"
}
], - "externalAgreementNumber": "string",
- "signedDate": "2019-08-24T14:15:22Z",
- "priceListId": "19ba5d98-cd5e-43ca-bca6-332c7d2ccedc",
- "feeBillingType": "Daily",
- "bindingDate": "2019-08-24T14:15:22Z",
- "terminals": [
- "Verifone"
], - "stores": [
- {
- "name": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": 2147483647,
- "averageMonthlyRevenue": 2147483647,
- "mcc": "Veterinary_Services"
}
]
}{- "type": "string",
- "title": "string",
- "detail": "string",
- "status": 0,
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "traceId": "string"
}Returns the status of each onboarding step required to activate a merchant: the legal entity itself, the bank account, and the beneficial owners.
Only onboarded companies have a status. One that exists in the register but has not been onboarded answers 404, same as production.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
{- "name": "string",
- "status": "Pending",
- "onboardingStatus": "Manual_Handling",
- "bankAccountStatus": "Pending",
- "beneficialOwners": [
- {
- "name": "string",
- "status": "Pending"
}
]
}Returns the price lists available to you. The sandbox always returns the same three.
{- "list": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "pricelistName": "string",
- "description": "string",
- "priceListType": "Standard",
- "status": "Active"
}
]
}Looks up the company as it appears in the national business register, plus whether it is already onboarded.
Every sandbox company answers here, onboarded or not — use isOnboarded to tell them apart before calling add-merchant.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
{- "nationalId": "string",
- "countryCode": "SE",
- "name": "string",
- "address": "string",
- "city": "string",
- "zipCode": "string",
- "isOnboarded": true
}Returns the valid signatory combinations for a company, as the company register gives them. Send the people from one combination in signatories when onboarding.
Two cases worth handling: a sole trader has no combinations and answers 200 with an empty list, and in FI and DK the people come back without a nationalId because those registers do not supply one — the compositeKey is what you send back.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
[- [
- {
- "nationalId": "string",
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "isBeneficialOwner": true,
- "citizenships": [
- "SE"
], - "compositeKey": "string"
}
]
]Returns the merchant, its active roles, and its stores with their terminals. The store ids here are the ones PATCH store accepts.
No personal identity numbers are included, by design.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
{- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "nationalId": "string",
- "countryCode": "SE",
- "name": "string",
- "email": "string",
- "phone": "string",
- "status": "Pending",
- "mctKey": "string",
- "vatNumber": "string",
- "roles": [
- {
- "roleType": "Unknown",
- "fullName": "string",
- "email": "string",
- "phone": "string",
- "status": "Pending"
}
], - "stores": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "merchantId": "string",
- "status": "Pending",
- "mcc": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": "string",
- "averageMonthlyRevenue": "string",
- "terminals": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "terminalId": "string",
- "status": "Active"
}
]
}
]
}Adds a store to an already-onboarded merchant. A payout account for the store is created automatically.
The sandbox returns the store production would have created, including the interval your averages fall into — bucketed by the same rules, so the same number means something different in SEK and in EUR. Nothing is stored, so the store will not show up in merchant-information afterwards.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
| name required | string non-empty Name of the Store. Can't be changed after creation |
required | object (Address) |
required | Array of objects (OpeningHours) Opening hours of the Store. All seven days are required, each exactly once. Set isOpen to false for a day the store is closed |
| seasonalVariation required | boolean Is the store close more then 3 month in a row on the year |
| eCommerce required | boolean Is the store using E-commerce |
| averageValuePerTransaction required | integer <int32> [ 0 .. 2147483647 ] Average value per transaction, as an amount in the merchant's local currency |
| averageMonthlyRevenue required | integer <int32> [ 0 .. 2147483647 ] Average monthly revenue, as an amount in the merchant's local currency |
| mcc required | string (MccCode) Enum: "Veterinary_Services" "General_Rent_a_Car" "Taxicabs_and_Limousines" "Motor_Freight_Carriers_Moving_and_Storage_Companies_Trucking_Local_Long_Distance_Delivery_Services_Local" "Transportation_Services_Not_elsewhere_classified" "Telecommunications_Equipment_including_telephone_sales" "Electric_Gas_Sanitary_and_Water_Utilities" "Motor_vehicle_supplies_and_new_parts" "Construction_Materials_Not_Elsewhere_Classified" "Computers_Computer_Peripheral_Equipment_Software" "Medical_Dental_Ophthalmic_Hospital_Equipment_and_Supplies" "Hardware_Equipment_and_Supplies" "Industrial_Supplies_Not_Elsewhere_Classified" "Precious_Stones_and_Metals_Watches_and_Jewelry" "Durable_Goods_Not_Elsewhere_Classified" "Stationery_Office_Supplies_Printing_and_Writing_Paper" "Books_Periodicals_and_Newspapers" "Florists_Supplies_Nursery_Stock_and_Flowers" "Non_durable_Goods_Not_Elsewhere_Classified" "Department_Stores" "Grocery_stores_Supermarkets" "Meat_Provisioners_Freezer_and_Locker" "Candy_Nut_and_Confectionery_Stores" "Dairy_Products_Stores" "Bakeries" "Misc_Food_stores_Convenient_stores_and_Specialty_Markets" "Car_and_Truck_Dealers_New_and_Used_Sales_Service_Repairs_Parts_and_Leasing" "Car_and_Truck_Dealers_Used_Sales_Service_Repairs_Parts_and_Leasing" "Automobile_Supply_Stores" "Automotive_Tire_Stores" "Automotive_Parts_Accessories_Stores" "Service_Stations_with_or_without_ancillary_services" "Merchants_classified_with_this_MCC_sell_electricity_for_the_purpose_of_fueling_an_automobile" "Mens_and_Boys_Clothing_and_Accessories_Stores" "Family_Clothing_Stores" "Shoe_Stores" "Mens_and_Womens_Clothing_Stores" "Tailors_Seamstress_Mending_and_Alterations" "Miscellaneous_Apparel_and_Accessory_Shops" "Furniture_Home_Furnishings_and_Equipment_Stores_ExceptAppliances" "Miscellaneous_Home_Furnishing_Specialty_Stores" "Electronic_Sales" "Music_Stores_Musical_Instruments_Piano_Sheet_Music" "Record_Shops" "Caterers" "Eating_places_and_Restaurants" "Drinking_Places_Alcoholic_Beverages_Bars_Taverns_Cocktail_lounges_Nightclubs_and_Discotheques" "Fast_Food_Restaurants" "Used_Merchandise_and_Secondhand_Stores" "Antique_Shops" "Wrecking_and_Salvage_Yards" "Bicycle_Shops_Sales_and_Service" "Sporting_Goods_Stores" "Book_Stores" "Stationery_Stores_Office_and_School_Supply_Stores" "Watch_Clock_Jewelry_and_Silverware_Stores" "Card_Shops_Gift_Novelty_and_Souvenir_Shops" "Luggage_Or_Leather_Goods_Stores" "Sewing_Needle_Fabric_and_Price_Goods_Stores" "Glassware_Crystal_Stores" "Artists_Supply_and_Craft_Shops" "Art_Dealers_and_Galleries" "Cosmetic_Stores" "Florists" "Cigar_Stores_and_Stands" "Pet_Shops_Pet_Foods_and_Supplies_Stores" "Tent_and_Awning_Shops" "Miscellaneous_and_Specialty_Retail_Stores" "Lodging_Hotel_Motels_and_Resorts" "Sporting_and_Recreational_Camps" "Trailer_Parks_and_Camp_Grounds" "Laundry_Cleaning_and_Garment_Services" "Dry_Cleaners" "Photographic_Studios" "Barber_and_Beauty_shops" "Shop_Repair_Shops_and_Shoe_Shine_Parlors_and_Hat_Cleaning_Shops" "Funeral_Service_and_Crematories" "Massage_Parlors" "Health_and_Beauty_Shops" "Miscellaneous_Personal_Services_not_elsewhere_classifies" "Commercial_Photography_Art_and_Graphics" "Protective_and_Security_Services_Including_Armored_Cars_and_Guard_Dogs" "Business_Services_Not_Elsewhere_Classified" "Automobile_Parking_Lots_and_Garages" "Automotive_Body_Repair_Shops" "Tire_Re_treading_and_Repair_Shops" "Automotive_Service_Shops" "Car_Washes" "Electrical_And_Small_Appliance_Repair_Shops" "Furniture_Furniture_Repair_and_Furniture_Refinishing" "Repair_Shops_and_Related_Services_Miscellaneous" "Bands_Orchestras_and_Miscellaneous_Entertainers_Not_Elsewhere_Classified" "Billiard_and_Pool_Establishments" "Bowling_Alleys" "Commercial_Sports_Athletic_Fields_Professional_Sport_Clubs_and_Sport_Promoters" "Golf_Courses_Public" "Video_Game_Arcades_Establishments" "Amusement_Parks_Carnivals_Circuses_Fortune_Tellers" "Memberchips_clubs_Sports_Recreation_Athletic_Country_clubs_and_Private_golf_courses" "Recreation_Services_Not_Elsewhere_Classified" "Doctors_and_Physicians_Not_Elsewhere_Classified" "Dentists_and_Orthodontists" "Optometrists_and_Ophthalmologists" "Opticians_Opticians_Goods_and_Eyeglasses" "Medical_Services_and_Health_Practitioners_Not_Elsewhere_Classified" "Legal_Services_and_Attorneys" "Schools_and_Educational_Services_Not_Elsewhere_Classified" "Automobile_Associations" "Membership_Organizations_Not_Elsewhere_Classified" "Professional_Services_Not_Elsewhere_Defined" |
{- "name": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": 2147483647,
- "averageMonthlyRevenue": 2147483647,
- "mcc": "Veterinary_Services"
}{- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "merchantId": "string",
- "status": "Pending",
- "mcc": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": "string",
- "averageMonthlyRevenue": "string",
- "terminals": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "terminalId": "string",
- "status": "Active"
}
]
}Updates a store on an already-onboarded merchant. Only the fields you send are changed; anything left out keeps its current value. For opening hours, only the days you send are updated. Name and MCC can't be changed after creation.
Use a store id from merchant-information. The response is the merge applied to the fixture, so you can see exactly which fields your patch touched.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
| storeUniqueId required | string <uuid> |
object (AddressPatch) | |
Array of objects or null (OpeningHours) Opening hours to change. Only the days you send are updated, the rest of the week is left as it is | |
| seasonalVariation | boolean or null Is the store close more then 3 month in a row on the year |
| eCommerce | boolean or null Is the store using E-commerce |
| averageValuePerTransaction | integer or null <int32> [ 0 .. 2147483647 ] Average value per transaction, as an amount in the merchant's local currency |
| averageMonthlyRevenue | integer or null <int32> [ 0 .. 2147483647 ] Average monthly revenue, as an amount in the merchant's local currency |
{- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": 2147483647,
- "averageMonthlyRevenue": 2147483647
}{- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "merchantId": "string",
- "status": "Pending",
- "mcc": "string",
- "address": {
- "street": "string",
- "city": "string",
- "zipCode": "string"
}, - "openingHours": [
- {
- "day": "Sunday",
- "isOpen": true,
- "open": "15:00:00",
- "close": "15:00:00"
}
], - "seasonalVariation": true,
- "eCommerce": true,
- "averageValuePerTransaction": "string",
- "averageMonthlyRevenue": "string",
- "terminals": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "name": "string",
- "terminalId": "string",
- "status": "Active"
}
]
}Updates the email and/or phone number of an already-onboarded merchant. Send only the field you want to change; 204 comes back on success.
| nationalId required | string The national id of the company using the format 555555xxxx or 934344334 |
string or null <email> Email to the customer. Leave out to keep the current one | |
| phone | string or null Phone number to the customer. Leave out to keep the current one |
{- "email": "user@example.com",
- "phone": "string"
}Returns detailed information about a merchant. Like name, address, stores, terminals, account etc. Use CompanyIds 5560572850, 8904062380, 5566808134
| companyId required | string The company id. Must be 10 digits. Example: '5560572850' |
{- "legalEntityUniqueId": "6654f596-6584-4f1c-ad52-cf2619db6aec",
- "legalEntityName": "string",
- "legalEntityNationalId": "string",
- "stores": [
- {
- "storeUniqueId": "c2b6def9-3430-408d-a279-0974ab15d713",
- "storeName": "string",
- "storeMerchantId": "string",
- "storeAccountId": "99a95013-e9db-47e7-b335-0a4feb67ca21",
- "storeStatus": "Active",
- "terminals": [
- {
- "terminalUniqueId": "7447b625-2fdd-44c3-bf73-0c6751573c91",
- "terminalName": "string",
- "terminalId": "string",
- "terminalStatus": "Unknown",
- "additionalProperties": null
}
], - "mcc": "string",
- "serviceFees": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "feePeriod": "Monthly",
- "feeType": "MinimumFeeWithdrawn",
- "amount": 0,
- "partnerUniqueId": "903c934d-b8d9-4a7b-9af8-490fdf88fbda",
- "description": "string",
- "additionalProperties": null
}
], - "additionalProperties": null
}
], - "mctKey": "string",
- "legalEntityNameTag": "string",
- "additionalProperties": null
}Returns a list of a merchant's card transactions between two dates. Card transactions are the transactions that are made at the merchant's card terminals. For example purchases, refunds, etc. Use CompanyIds 5560572850, 8904062380, 5566808134
| companyId required | string The company id. Must be 10 digits. Example: '5560572850' |
| fromDateTime required | string The start date formatted like: '2021-01-01 +01:00' or '2021-01-01 00:00:00 +01:00' Max range is 24h |
| toDateTime required | string The end date formatted like: '2021-01-01 +01:00' or '2021-01-01 00:00:00 +01:00' Max range is 24h |
{- "cardTransactions": [
- {
- "cardTransactionUniqueId": "bbfd5c41-4234-4458-a987-ba274620e5fe",
- "inputType": "IC",
- "processStatus": "AUTHORIZED",
- "lastProcessDateAndTime": "2019-08-24T14:15:22Z",
- "booked": true,
- "bookedFee": true,
- "cardTransactionTypeName": "Purchase",
- "amountFactor": 0,
- "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
- "storeMerchantId": "string",
- "storeUniqueId": "c2b6def9-3430-408d-a279-0974ab15d713",
- "terminalId": "string",
- "retrievalReferenceNumber": "string",
- "transactionDate": "2019-08-24T14:15:22Z",
- "netAmount": 0,
- "interchangeFeeAmount": 0,
- "networkTotalFeeAmount": 0,
- "paytrimTotalFeeAmount": 0,
- "processorFeeAmount": 0,
- "grossAmount": 0,
- "token": "b5507016-7da2-4777-a161-1e8042a6a377",
- "paymentAccountReference": "string"
}
]
}Returns a list of a merchant's account transactions between two dates. Account transactions are the transactions that are made on the merchant's account. For example aggregated purchases, refunds, daily fees, monthly fees, etc. Use CompanyIds 5560572850, 8904062380, 5566808134
| companyId required | string The company id. Must be 10 digits. Example: '5560572850' |
| fromDateTime required | string The start date formatted like: '2021-01-01 +01:00' or '2021-01-01 00:00:00 +01:00' Max range is 24h |
| toDateTime required | string The end date formatted like: '2021-01-01 +01:00' or '2021-01-01 00:00:00 +01:00' Max range is 24h |
{- "accountTransactions": [
- {
- "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
- "accountingType": "Transaction",
- "accountTransactionUniqueId": "4c5dcbe3-8d7a-4d39-9734-d1026f8adaa9",
- "amount": 0,
- "created": "2019-08-24T14:15:22Z",
- "payoutCreated": "2019-08-24T14:15:22Z",
- "payoutReference": "string"
}
]
}Returns detailed information about a merchant. Like name, address, stores, terminals, account etc.
| companyId required | string The company id. Must be 10 digits. Example: '5555551111' |
{- "legalEntityUniqueId": "6654f596-6584-4f1c-ad52-cf2619db6aec",
- "legalEntityName": "string",
- "legalEntityNationalId": "string",
- "stores": [
- {
- "storeUniqueId": "c2b6def9-3430-408d-a279-0974ab15d713",
- "storeName": "string",
- "storeMerchantId": "string",
- "storeAccountId": "99a95013-e9db-47e7-b335-0a4feb67ca21",
- "storeStatus": "Active",
- "terminals": [
- {
- "terminalUniqueId": "7447b625-2fdd-44c3-bf73-0c6751573c91",
- "terminalName": "string",
- "terminalId": "string",
- "terminalStatus": "Unknown",
- "additionalProperties": null
}
], - "mcc": "string",
- "serviceFees": [
- {
- "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "feePeriod": "Monthly",
- "feeType": "MinimumFeeWithdrawn",
- "amount": 0,
- "partnerUniqueId": "903c934d-b8d9-4a7b-9af8-490fdf88fbda",
- "description": "string",
- "additionalProperties": null
}
], - "additionalProperties": null
}
], - "mctKey": "string",
- "legalEntityNameTag": "string",
- "additionalProperties": null
}Returns a list of a merchant's card transactions between two dates. Card transactions are the transactions that are made at the merchant's card terminals. For example purchases, refunds, etc.
| companyId required | string The company id. Must be 10 digits. Example: '5555551111' |
| fromDateTime required | string The start date formatted like: '2021-01-01 +01:00' or '2021-01-01 00:00:00 +01:00' Max range is 24h |
| toDateTime required | string The end date formatted like: '2021-01-01 +01:00' or '2021-01-01 00:00:00 +01:00' Max range is 24h |
{- "cardTransactions": [
- {
- "cardTransactionUniqueId": "bbfd5c41-4234-4458-a987-ba274620e5fe",
- "inputType": "IC",
- "processStatus": "AUTHORIZED",
- "lastProcessDateAndTime": "2019-08-24T14:15:22Z",
- "booked": true,
- "bookedFee": true,
- "cardTransactionTypeName": "Purchase",
- "amountFactor": 0,
- "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
- "storeMerchantId": "string",
- "storeUniqueId": "c2b6def9-3430-408d-a279-0974ab15d713",
- "terminalId": "string",
- "retrievalReferenceNumber": "string",
- "transactionDate": "2019-08-24T14:15:22Z",
- "netAmount": 0,
- "interchangeFeeAmount": 0,
- "networkTotalFeeAmount": 0,
- "paytrimTotalFeeAmount": 0,
- "processorFeeAmount": 0,
- "grossAmount": 0,
- "token": "b5507016-7da2-4777-a161-1e8042a6a377",
- "paymentAccountReference": "string"
}
]
}Returns a list of a merchant's account transactions between two dates. Account transactions are the transactions that are made on the merchant's account. For example aggregated purchases, refunds, daily fees, monthly fees, etc.
| companyId required | string The company id. Must be 10 digits. Example: '5555551111' |
| fromDateTime required | string The start date formatted like: '2021-01-01 +01:00' or '2021-01-01 00:00:00 +01:00' Max range is 32 days |
| toDateTime required | string The end date formatted like: '2021-01-01 +01:00' or '2021-01-01 00:00:00 +01:00' Max range is 32 days |
{- "accountTransactions": [
- {
- "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
- "accountingType": "Transaction",
- "accountTransactionUniqueId": "4c5dcbe3-8d7a-4d39-9734-d1026f8adaa9",
- "amount": 0,
- "created": "2019-08-24T14:15:22Z",
- "payoutCreated": "2019-08-24T14:15:22Z",
- "payoutReference": "string"
}
]
}