# Payments ## Payment callback call - [POST /PaymentCallback](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentcallback.md): This method should be called when receiving a callback from the payment provider. The paymentParameters should be populated with received parameters. This method creates the order. If order should be created on report from payment service provider then use PaymentCallback2. See Payments for more information about the checkout process. ## Payment callback call (v2) - [POST /PaymentCallback2](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentcallback2.md): This method should be called when receiveing a callback from the payment provider. The paymentParameters should be populated with received parameters. This method does not create the order. The report from the payment service provider must be handled with PaymentComplete to create the order. See Payments for more information about the checkout process. ## Cancel a payment - [POST /PaymentCancel](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentcancel.md): This method should be called when receiving a callback from the payment provider when the payment has been cancelled in some way. ## Payment complete call - [POST /PaymentComplete](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentcomplete.md): This method should be called when receiving a http-report from the payment service provider. The paymentParameters should be populated with received parameters. This method creates the order. PSPs calls the API directly and this method should never be called directly from the application. ## Payment callback for form based payments - [POST /PaymentFormCallback](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentformcallback.md): PaymentFormCallback is called from applications using forms based checkouts with support for callbacks. Applications gets called when the end-user gets routed back to a 'Thanks for you order page' and the applications should make this call to the API before routing. See Checkout Form Payments for more information about the checkout process. ## Payment complete call for form based payments - [POST /PaymentFormComplete](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentformcomplete.md): PaymentFormComplete is called directly from any PSP supporting forms based checkouts with support for completes. Applications should never make this call directly. ## Reserve amount on gift card - [POST /PaymentGiftCardReserve](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentgiftcardreserve.md): Reserve an amount on a gift card. ## Cancel gift card reservation. Used internally. - [POST /PaymentGiftCardRollback](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentgiftcardrollback.md) ## Validate a payment - [POST /PaymentValidate](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentvalidate.md): This method gets called from PSPs supporting validation callbacks. Storm API makes a preliminary validation by validating the checkout. Checks are for basket status and valid promotions plus all other validations with regard to customer information. No result is returned if validation passes and an exception with both Exceptions below aggregated will be raised if any validation fails. ## Validate a payment (v2) - [POST /PaymentValidate2](https://docs.norce.io/api-reference/services/shoppingservice/openapi/payments/paymentvalidate2.md): This method gets called from PSPs supporting validation callbacks. Storm API makes a preliminary validation by validating the checkout. Checks are for basket status and valid promotions plus all other validations with regard to customer information. No result is returned if validation passes and an exception with both Exceptions below aggregated will be raised if any validation fails.