📊 Check Your Credit Report in 2 Minutes Check Now →

wp-json razorpay v1 create-order

				
					<?php

add_action('rest_api_init', function () {

    register_rest_route('razorpay/v1', '/create-order', array(
        'methods'  => 'POST',
        'callback' => 'create_razorpay_order',
        'permission_callback' => '__return_true',
    ));

});

function create_razorpay_order(WP_REST_Request $request)
{

    $key_id     = "rzp_test_TJCuJlETlSLdhh";
    $key_secret = "dQFUAXlHIfzQkOTninmjhYmq";

    $amount = $request->get_param('amount');

    if (!$amount) {
        $amount = 1200;
    }

    $payload = array(
        "amount" => intval($amount),
        "currency" => "INR",
        "receipt" => "receipt_" . time(),
        "payment_capture" => 1
    );

    $response = wp_remote_post(
        "https://api.razorpay.com/v1/orders",
        array(
            "headers" => array(
                "Authorization" => "Basic " . base64_encode($key_id . ":" . $key_secret),
                "Content-Type"  => "application/json"
            ),
            "body" => json_encode($payload)
        )
    );

    if (is_wp_error($response)) {
        return new WP_Error(
            'razorpay_error',
            $response->get_error_message(),
            array('status' => 500)
        );
    }

    return json_decode(
        wp_remote_retrieve_body($response),
        true
    );
}