curl --request POST \
--url https://app.base44.com/api/payment-webhooks/wix-paymentsimport requests
url = "https://app.base44.com/api/payment-webhooks/wix-payments"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://app.base44.com/api/payment-webhooks/wix-payments', 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://app.base44.com/api/payment-webhooks/wix-payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/payment-webhooks/wix-payments"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.base44.com/api/payment-webhooks/wix-payments")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/payment-webhooks/wix-payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"status": "processed",
"reason": "unknown_event_type",
"action": "payment_tracked"
}Receive Wix Payments event
Receives Wix Payments and Payments by Wix transaction and refund events for a connected app.
Base44 verifies the Digest header as an HMAC-SHA256 of the raw body before reading it, and rejects the request when the header is missing, the signature doesn’t match, or the body isn’t valid JSON.
Verified events record revenue and refunds for payment analytics. Base44 routes the event by the base44AppId the provider echoes back, so an event without one comes back as ignored. Only a transaction that becomes APPROVED for the first time, for a non-zero amount, is recorded; anything else is acknowledged without being tracked. A verified event Base44 can’t process returns an error instead of an acknowledgement, and the provider retries the delivery.
curl --request POST \
--url https://app.base44.com/api/payment-webhooks/wix-paymentsimport requests
url = "https://app.base44.com/api/payment-webhooks/wix-payments"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://app.base44.com/api/payment-webhooks/wix-payments', 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://app.base44.com/api/payment-webhooks/wix-payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/payment-webhooks/wix-payments"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.base44.com/api/payment-webhooks/wix-payments")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/payment-webhooks/wix-payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"status": "processed",
"reason": "unknown_event_type",
"action": "payment_tracked"
}Headers
Required on every request. HMAC-SHA256 of the raw request body, hex-encoded. A request that omits it is rejected with a 400, as is one whose signature doesn't verify.
Response
How Base44 handled the event.
What Base44 did with an inbound payment webhook event.
How Base44 handled the event. processed means it updated app state or recorded revenue, acknowledged means the event was valid but needed no action, and ignored means it was skipped. The Stripe endpoints also return logged, for an event recorded for reporting only.
"processed"
Why the event needed no action. Present when status is ignored, and on the acknowledged responses that skip an event, such as a transaction that was already approved or one for a zero amount.
"unknown_event_type"
What Base44 recorded. Present on most processed responses.
"payment_tracked"
Was this page helpful?