Stripe Search API 400 Bad Request

156 views Asked by At

I am trying to execute cURL in PHP to do a Stripe Subscription Search. But I am getting 400 Bad Request.

Here is my PHP script:

$ch = curl_init();
$created = 'created<' . strtotime('tomorrow');
$next_page=isset($_REQUEST['next_page'])==true?'page='.$_REQUEST['next_page']:'';
$limit = 20;
$curl_url = "https://api.stripe.com/v1/subscriptions/search?".$next_page."&expand[]=total_count&limit=".$limit."&query=status:'active' AND metadata['order_id']:'6735'".'AND '.$created;
//"https://api.stripe.com/v1/subscriptions/search?&expand[]=total_count&limit=20&query=status:'active' AND metadata['order_id']:'6735'AND created<1672272000"
curl_setopt($ch, CURLOPT_URL, $curl_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headr = array();
$headr[] = 'Stripe-Version: 2022-11-15';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headr);   
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, 'XXXX-secret_key_test-XXX');

$response = curl_exec($ch);

curl_close($ch);
1

There are 1 answers

0
sridharnetha On

I have solved the problem by encoding the query parameter values like

$curl_url = "https://api.stripe.com/v1/subscriptions/search?".$next_page."&expand[]=total_count&limit=".$limit
."&query=".urlencode($status.' AND '.$created)`