📍 Bolt Help / Products / Checkout / Bolt Checkout Direct API Integration Guide / How to Apply Discounts How to Apply Discounts How to call the Merchant Callback API and verify discount codes submitted by a shopper. Page Contents Click to expand. Use the Merchant Callback API to handle shopper’s coupons, promo codes, or other discounts added to their carts. How to Use the Discounts API The discounts.code.apply endpoint is called when a shopper enters a discount code; it is recalled whenever the cart or chosen shipping option is updated. Implement the discount Merchant Callback API on your server. Respond to Bolt’s discount.code.apply POST request via your Merchant Callback API. Verify the authenticity of the request by confirming that it originated from Bolt. PHP Example <?php require(dirname(__FILE__) . '/init_example.php'); $hmacHeader = @$_SERVER['HTTP_X_BOLT_HMAC_SHA256']; $signatureVerifier = new \BoltPay\SignatureVerifier( \BoltPay\Bolt::$signingSecret ); $requestJson = file_get_contents('php://input'); if (!$signatureVerifier->verifySignature($requestJson, $hmacHeader)) { throw new Exception("Failed HMAC Authentication"); } $requestData = json_decode($requestJson); header('Content-Type: application/json'); if (@$requestData->type == 'discounts.code.apply') { $couponCode = @$requestData->discount_code; if ($couponCode == \BoltPay\Example\Data::VALID_COUPON) { $response = [ 'status' => 'success', 'discount_code' => $couponCode, 'discount_amount' => 1000, 'description' => 'Discount (BOLT-DEMO)', 'discount_type' => 'fixed_amount' ]; http_response_code(200); } else { $error = new Exception("Coupon code is invalid"); $response = [ 'status' => 'failure', 'error' => [ 'code' => $error->getCode(), 'message' => $error->getMessage(), ], ]; http_response_code($error->getCode()); } } echo json_encode($response); WARNING Applying a discount amount that is more than the total order amount will result in an error. It is recommended you calculate a max allowable discount amount using the formula line item totals + tax + shipping = max allowable discount. How to Test To ensure this step is complete, precisely follow the instructions below. Open Bolt Checkout and enter a discount code. Bolt should hit your discount merchant API. If the discount is valid, check that Bolt applies the correct discount amount to the cart. Repeat the test with an invalid discount too ensure that Bolt: Does not apply any discount amount. Correctly alerts the user. Handling Errors To respond with specific errors in merchant api responses visit the error codes reference article.