Receive Stripe platform billing events
curl --request POST \
--url https://api.creditor.younegotiate.com/webhooks/stripe/platform \
--header 'Content-Type: application/json' \
--header 'Stripe-Signature: <stripe-signature>' \
--data '{}'import requests
url = "https://api.creditor.younegotiate.com/webhooks/stripe/platform"
payload = {}
headers = {
"Stripe-Signature": "<stripe-signature>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Stripe-Signature': '<stripe-signature>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.creditor.younegotiate.com/webhooks/stripe/platform', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.creditor.younegotiate.com/webhooks/stripe/platform",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Stripe-Signature: <stripe-signature>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.creditor.younegotiate.com/webhooks/stripe/platform"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Stripe-Signature", "<stripe-signature>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.creditor.younegotiate.com/webhooks/stripe/platform")
.header("Stripe-Signature", "<stripe-signature>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creditor.younegotiate.com/webhooks/stripe/platform")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Stripe-Signature"] = '<stripe-signature>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_bodyReceive Stripe platform billing events
Receive signature-verified Stripe PaymentIntent lifecycle events for membership activation, renewals, plan changes, over-limit charges, weekly platform billing, and EcoLetter charges. Events are stored by Stripe event ID for idempotent processing, and the backend retrieves the canonical PaymentIntent before changing membership or billing transaction state.
POST
/
webhooks
/
stripe
/
platform
Receive Stripe platform billing events
curl --request POST \
--url https://api.creditor.younegotiate.com/webhooks/stripe/platform \
--header 'Content-Type: application/json' \
--header 'Stripe-Signature: <stripe-signature>' \
--data '{}'import requests
url = "https://api.creditor.younegotiate.com/webhooks/stripe/platform"
payload = {}
headers = {
"Stripe-Signature": "<stripe-signature>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Stripe-Signature': '<stripe-signature>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.creditor.younegotiate.com/webhooks/stripe/platform', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.creditor.younegotiate.com/webhooks/stripe/platform",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Stripe-Signature: <stripe-signature>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.creditor.younegotiate.com/webhooks/stripe/platform"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Stripe-Signature", "<stripe-signature>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.creditor.younegotiate.com/webhooks/stripe/platform")
.header("Stripe-Signature", "<stripe-signature>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.creditor.younegotiate.com/webhooks/stripe/platform")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Stripe-Signature"] = '<stripe-signature>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_bodyHeaders
Signature generated by Stripe for the exact raw request body.
Body
application/json
The body is of type object.
Response
Event accepted or already processed.
Last modified on July 27, 2026
Was this page helpful?
⌘I

