{"openapi":"3.0.4","info":{"title":"Norce Checkout - Nonpsp Adapter API","description":"Build 2026-10-12 13:46:08\n\nThe Nonpsp Checkout Adapter API is used to create and manage a Nonpsp payment.","version":"1.0.0"},"servers":[{"url":"https://checkout-nonpsp-adapter.test.norce.tech","description":"Test server"}],"paths":{"/api/checkout/v1/orders/{order_id}/payments":{"post":{"tags":["Payments"],"summary":"Create a new Nonpsp payment","description":"Requires an existing Norce order.","operationId":"CreateNonpspPayment","parameters":[{"name":"x-merchant","in":"header","description":"Merchant identifier.","required":true,"schema":{"type":"string","example":"norce"},"example":"norce"},{"name":"x-channel","in":"header","description":"Channel identifier","required":true,"schema":{"type":"string","example":"1"},"example":"1"},{"name":"order_id","in":"path","description":"Order identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NonpspPayment"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"Bearer":[]}]}},"/api/checkout/v1/orders/{order_id}/payments/{payment_id}":{"get":{"tags":["Payments"],"summary":"Get an existing Nonpsp payment","description":"Get available payments.","operationId":"GetNonpspPayment","parameters":[{"name":"x-merchant","in":"header","description":"Merchant identifier.","required":true,"schema":{"type":"string","example":"norce"},"example":"norce"},{"name":"x-channel","in":"header","description":"Channel identifier","required":true,"schema":{"type":"string","example":"1"},"example":"1"},{"name":"order_id","in":"path","description":"Order identifier","required":true,"schema":{"type":"string"}},{"name":"payment_id","in":"path","description":"Payment identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NonpspPayment"}}}},"404":{"description":"Not Found","content":{"application/json":{}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Payments"],"summary":"Update Nonpsp Payment","description":"Requires an existing Norce order.","operationId":"UpdateNonpspPayment","parameters":[{"name":"x-merchant","in":"header","description":"Merchant identifier.","required":true,"schema":{"type":"string","example":"norce"},"example":"norce"},{"name":"x-channel","in":"header","description":"Channel identifier","required":true,"schema":{"type":"string","example":"1"},"example":"1"},{"name":"order_id","in":"path","description":"Order identifier","required":true,"schema":{"type":"string"}},{"name":"payment_id","in":"path","description":"Payment identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/NonpspPayment"}]}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NonpspPayment"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{}}}},"security":[{"Bearer":[]}]}},"/api/checkout/v1/orders/{order_id}/payments/{payment_id}/complete":{"post":{"tags":["Payments"],"summary":"Complete Nonpsp Payment","description":"Requires an existing Norce order. Will validate payment and change state to completed.","operationId":"CompleteNonpspPayment","parameters":[{"name":"x-merchant","in":"header","description":"Merchant identifier.","required":true,"schema":{"type":"string","example":"norce"},"example":"norce"},{"name":"x-channel","in":"header","description":"Channel identifier","required":true,"schema":{"type":"string","example":"1"},"example":"1"},{"name":"order_id","in":"path","description":"Order identifier","required":true,"schema":{"type":"string"}},{"name":"payment_id","in":"path","description":"Payment identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{}}}},"security":[{"Bearer":[]}]}},"/api/checkout/v1/orders/{order_id}/payments/{payment_id}/remove":{"post":{"tags":["Payments"],"summary":"Remove a Nonpsp Payment","description":"Requires an existing Norce order. Will do soft delete on any payments by setting state to removed. Will delete any hooks added when creating a Nonpsp Payment.","operationId":"RemoveNonpspPayment","parameters":[{"name":"x-merchant","in":"header","description":"Merchant identifier.","required":true,"schema":{"type":"string","example":"norce"},"example":"norce"},{"name":"x-channel","in":"header","description":"Channel identifier","required":true,"schema":{"type":"string","example":"1"},"example":"1"},{"name":"order_id","in":"path","description":"Order identifier","required":true,"schema":{"type":"string"}},{"name":"payment_id","in":"path","description":"Payment identifier","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found","content":{"application/json":{}}}},"security":[{"Bearer":[]}]}},"/api/checkout/v1/callback/orders/{order_id}/payments/{payment_id}/update-payment":{"post":{"tags":["Callbacks"],"summary":"Called internally by Norce Checkout to recalculate amount to cover.","description":"Cart changed.","operationId":"CartChanged","parameters":[{"name":"x-merchant","in":"header","description":"Merchant identifier.","required":true,"schema":{"type":"string","example":"norce"},"example":"norce"},{"name":"x-channel","in":"header","description":"Channel identifier","required":true,"schema":{"type":"string","example":"1"},"example":"1"},{"name":"order_id","in":"path","description":"Order identifier","required":true,"schema":{"type":"string"}},{"name":"payment_id","in":"path","description":"Payment identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated order","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Order"}]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PatchOperation"}}}}},"404":{"description":"Not Found","content":{"application/json":{}}}},"security":[{"Bearer":[]}]}},"/api/checkout/v1/callback/orders/{order_id}/payments/{payment_id}/state-changed":{"post":{"tags":["Callbacks"],"summary":"Handle State changed","description":"State changed.","operationId":"StateChanged","parameters":[{"name":"x-merchant","in":"header","description":"Merchant identifier.","required":true,"schema":{"type":"string","example":"norce"},"example":"norce"},{"name":"x-channel","in":"header","description":"Channel identifier","required":true,"schema":{"type":"string","example":"1"},"example":"1"},{"name":"order_id","in":"path","description":"Order identifier","required":true,"schema":{"type":"string"}},{"name":"payment_id","in":"path","description":"Payment identifier","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Updated order","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Order"}]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PatchOperation"}}}}},"400":{"description":"Bad Request","content":{"application/json":{}}},"404":{"description":"Not Found","content":{"application/json":{}}}},"security":[{"Bearer":[]}]}}},"components":{"schemas":{"Addon":{"type":"object","properties":{"reference":{"type":"string"},"price":{"type":"number","format":"double"}},"additionalProperties":false},"Address":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/CustomerType"}]},"givenName":{"type":"string"},"familyName":{"type":"string"},"careOf":{"type":"string"},"reference":{"type":"string"},"organizationName":{"type":"string"},"streetAddress":{"type":"string"},"streetAddress2":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"country":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string"},"nationalIdentificationNumber":{"type":"string"},"organizationIdentificationNumber":{"type":"string"},"attributes":{"type":"object","additionalProperties":{"nullable":true}}},"additionalProperties":false},"Cart":{"type":"object","properties":{"reference":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Item"}},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/Discount"}},"total":{"allOf":[{"$ref":"#/components/schemas/Price"}]},"attributes":{"type":"object","additionalProperties":{"nullable":true}}},"additionalProperties":false},"Consent":{"type":"object","properties":{"id":{"type":"string"},"checked":{"type":"boolean"},"text":{"type":"string"},"required":{"type":"boolean"}},"additionalProperties":false},"Customer":{"type":"object","properties":{"billing":{"allOf":[{"$ref":"#/components/schemas/Address"}]},"shipping":{"allOf":[{"$ref":"#/components/schemas/Address"}]},"type":{"allOf":[{"$ref":"#/components/schemas/CustomerType"}]},"attributes":{"type":"object","additionalProperties":{"nullable":true}}},"additionalProperties":false},"CustomerType":{"enum":["person","organization"],"type":"string"},"DeliveryDetails":{"type":"object","properties":{"carrier":{"type":"string"},"class":{"type":"string"},"product":{"allOf":[{"$ref":"#/components/schemas/Product"}]},"pickupLocation":{"allOf":[{"$ref":"#/components/schemas/PickupLocation"}]}},"additionalProperties":false},"Discount":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/DiscountType"}]},"name":{"type":"string"},"code":{"type":"string"},"value":{"allOf":[{"$ref":"#/components/schemas/Price"}]},"attributes":{"type":"object","additionalProperties":{"nullable":true}}},"additionalProperties":false},"DiscountType":{"enum":["item","shipping"],"type":"string"},"Error":{"type":"object","properties":{"code":{"enum":["internal-server-error","unauthorized","configuration-error","configuration-not-found","order-not-found","order-error","order-bad-request","order-conflict","order-validation","order-unknown-validation-error","shipping-not-found","shipping-error","payment-not-found","payment-error","payment-conflict","nonpsp-error","nonpsp-bad-request","nonpsp-validation","nonpsp-order-not-found","translation-not-found"],"type":"string","description":"Error code","example":"cart-not-found"},"message":{"type":"string","description":"Detailed error information","example":"Cart with id:{id} not found."}},"additionalProperties":false},"Hook":{"type":"object","properties":{"id":{"type":"string"},"adapterId":{"type":"string"},"subscribeTo":{"type":"string"},"target":{"type":"string"},"invoke":{"type":"string"}},"additionalProperties":false},"Item":{"type":"object","properties":{"id":{"type":"string"},"reference":{"type":"string"},"name":{"type":"string"},"sku":{"type":"string"},"url":{"type":"string"},"imageUrl":{"type":"string"},"quantity":{"type":"integer","format":"int32"},"unit":{"type":"string"},"price":{"allOf":[{"$ref":"#/components/schemas/Price"}]},"total":{"allOf":[{"$ref":"#/components/schemas/Price"}]},"originalTotal":{"allOf":[{"$ref":"#/components/schemas/Price"}]},"vatRate":{"type":"number","format":"double"},"discounts":{"type":"array","items":{"$ref":"#/components/schemas/Discount"}},"attributes":{"type":"object","additionalProperties":{"nullable":true}}},"additionalProperties":false},"NonpspPayment":{"type":"object","properties":{"paymentId":{"type":"string","description":"Norce Payment Id","readOnly":true},"paymentMethods":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethod"},"description":"Available Payment Methods","readOnly":true},"selectedPaymentMethod":{"type":"string","description":"Selected Payment Method Identifier"}},"additionalProperties":false},"Order":{"type":"object","properties":{"id":{"type":"string"},"merchant":{"type":"string"},"channel":{"type":"string"},"reference":{"type":"string"},"created":{"type":"string","format":"date-time"},"lastModified":{"type":"string","format":"date-time"},"state":{"allOf":[{"$ref":"#/components/schemas/State"}]},"culture":{"type":"string"},"currency":{"type":"string"},"country":{"type":"string"},"cart":{"allOf":[{"$ref":"#/components/schemas/Cart"}]},"shippings":{"type":"array","items":{"$ref":"#/components/schemas/Shipping"}},"payments":{"type":"array","items":{"$ref":"#/components/schemas/Payment"}},"customer":{"allOf":[{"$ref":"#/components/schemas/Customer"}]},"consents":{"type":"array","items":{"$ref":"#/components/schemas/Consent"}},"hooks":{"type":"array","items":{"$ref":"#/components/schemas/Hook"}},"total":{"allOf":[{"$ref":"#/components/schemas/Price"}]},"attributes":{"type":"object","additionalProperties":{"nullable":true}}},"additionalProperties":false},"OrderStatus":{"enum":["checkout","processing","accepted","completed","declined","removed"],"type":"string"},"PatchOperation":{"type":"object","properties":{"op":{"type":"string"},"path":{"type":"string"},"value":{}},"additionalProperties":false},"Payment":{"type":"object","properties":{"id":{"type":"string"},"adapterId":{"type":"string"},"name":{"type":"string"},"merchant":{"type":"string"},"channel":{"type":"string"},"currency":{"type":"string"},"type":{"allOf":[{"$ref":"#/components/schemas/PaymentType"}]},"orderId":{"type":"string"},"amount":{"type":"number","format":"double"},"upperLimitAmount":{"type":"number","format":"double"},"state":{"allOf":[{"$ref":"#/components/schemas/PaymentState"}]},"reference":{"type":"string"},"attributes":{"type":"object","additionalProperties":{"nullable":true}},"actions":{"type":"array","items":{"$ref":"#/components/schemas/PaymentAction"}}},"additionalProperties":false},"PaymentAction":{"type":"object","properties":{"id":{"type":"string"},"adapterId":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false},"PaymentMethod":{"type":"object","properties":{"identifier":{"type":"string","description":"Payment Method Identifier"}},"additionalProperties":false},"PaymentState":{"enum":["intent","removed","processing","failed","confirmed","pending","declined","reserved","credited","captured","cancelled","refunded"],"type":"string"},"PaymentType":{"enum":["default","prepaid","voucher"],"type":"string"},"PickupLocation":{"type":"object","properties":{"reference":{"type":"string"},"name":{"type":"string"},"address":{"allOf":[{"$ref":"#/components/schemas/PickupLocationAddress"}]}},"additionalProperties":false},"PickupLocationAddress":{"type":"object","properties":{"streetAddress":{"type":"string"},"city":{"type":"string"},"postalCode":{"type":"string"},"country":{"type":"string"}},"additionalProperties":false},"Price":{"type":"object","properties":{"includingVat":{"type":"number","format":"double"},"excludingVat":{"type":"number","format":"double"}},"additionalProperties":false},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer","format":"int32"},"detail":{"type":"string"},"instance":{"type":"string"}},"additionalProperties":{}},"Product":{"type":"object","properties":{"reference":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"Shipping":{"type":"object","properties":{"id":{"type":"string"},"merchant":{"type":"string"},"channel":{"type":"string"},"state":{"allOf":[{"$ref":"#/components/schemas/ShippingState"}]},"reference":{"type":"string"},"tmsReference":{"type":"string"},"orderId":{"type":"string"},"adapterId":{"type":"string"},"name":{"type":"string"},"total":{"allOf":[{"$ref":"#/components/schemas/Price"}]},"vatRate":{"type":"number","format":"double"},"deliveryDetails":{"allOf":[{"$ref":"#/components/schemas/DeliveryDetails"}]},"addons":{"type":"array","items":{"$ref":"#/components/schemas/Addon"}},"attributes":{"type":"object","additionalProperties":{"nullable":true}}},"additionalProperties":false},"ShippingState":{"enum":["intent","removed","processing","failed","confirmed"],"type":"string"},"State":{"type":"object","properties":{"currentStatus":{"allOf":[{"$ref":"#/components/schemas/OrderStatus"}]},"transitions":{"type":"array","items":{"$ref":"#/components/schemas/Transition"}}},"additionalProperties":false},"Transition":{"type":"object","properties":{"status":{"allOf":[{"$ref":"#/components/schemas/OrderStatus"}]},"timeStamp":{"type":"string","format":"date-time"}},"additionalProperties":false}},"securitySchemes":{"Bearer":{"type":"apiKey","description":"Authorization header using the bearer scheme. Example: 'Bearer a3bcdABCaB12abc3AbCDAB5AbcABCaBcABC5ab3c5A0='","name":"Authorization","in":"header"}}}}