Ich bin neu bei Web Dev und experimentiere mit Braintree Webhooks. Ich benutze ihren create submerchant Beispielcode, um ein submerchant zu erstellen und dann soll angeblich eine Benachrichtigung meinen Server erreichen, der sagt, ob es erfolgreich war oder nicht.Print_r gibt nichts zurück; var_dump zeigt NULL
Meine Methode: ich aktualisieren Sie die submerchant.php Seite (Ich bin mit Wordpress auf einem Server Namecheap), die dann echo
‚s‚Erfolg!‘. Dann gehe ich zur webhooks.php Seite und aktualisiere sie. Aber die var_dump
's einzige Rückkehr NULL NULL
und die print_r
' s geben nichts zurück. Warum zeigt print_r
nichts?
submerchant.php - das schafft die submerchant wenn ich $one = 1
gesetzt und einen neuen id
für die submerchant
<?php
require_once(__DIR__ . '/../braintree/lib/Braintree.php');
Braintree_Configuration::environment('sandbox');
Braintree_Configuration::merchantId('A');
Braintree_Configuration::publicKey('B');
Braintree_Configuration::privateKey('C');
function fd_create_sm() {
$one;
$one = 1;
if($one=1) {
$merchantAccountParams = [
'individual' => [
'firstName' => 'Janez',
'lastName' => 'Doe',
'email' => '[email protected]',
'phone' => '5553334444',
'dateOfBirth' => '1981-11-19',
'ssn' => '456-45-4567',
'address' => [
'streetAddress' => '111 Main St',
'locality' => 'Chicago',
'region' => 'IL',
'postalCode' => '60622'
]
],
'business' => [
'legalName' => 'Jane\'s Ladders',
'dbaName' => 'Jane\'s Ladders',
'taxId' => '98-7654321',
'address' => [
'streetAddress' => '111 Main St',
'locality' => 'Chicago',
'region' => 'IL',
'postalCode' => '60622'
]
],
'funding' => [
'descriptor' => 'Red Ladders',
'destination' => Braintree_MerchantAccount::FUNDING_DESTINATION_BANK,
'email' => '[email protected]',
'mobilePhone' => '5555555555',
'accountNumber' => '1123581321',
'routingNumber' => '071101307'
],
'tosAccepted' => true,
'masterMerchantAccountId' => "na",
'id' => "green_ladders"
];
$result = Braintree_MerchantAccount::create($merchantAccountParams);
$result->success;
if($result->success) {
echo 'Success!';
} else {
print_r($result->errors);
$errordata;
echo '***********';
$BT_Errors = new Braintree_Error_ErrorCollection($errordata);
echo '***********';
$BT_Errors->deepAll();
echo '***********';
$BT_Errors->onHtmlField("transaction[amount]");
}
$result->merchantAccount->status;
$result->merchantAccount->id;
// "blue_ladders_store"
$result->merchantAccount->masterMerchantAccount->id;
// "14ladders_marketplace"
$result->merchantAccount->masterMerchantAccount->status;
// "active"
} else {
return;
}
}
fd_create_sm();
?>
webhooks.php
<?php
var_dump($_POST['bt_signature']);
var_dump($_POST['bt_payload']);
print_r($_POST['bt_signature']);
print_r($_POST['bt_payload']);
?>
'print_r()' verhält sich wie 'echo', und so druckt der Nullwert nichts, während' var_dump() 'ihn vollständig inspiziert, um seinen Wert anzuzeigen (wenn es einen hat) und type - und sie sind null. Nun, warum sind sie null anstatt bevölkert? Das hängt davon ab, wann Sie es auffrischen. Die '$ _POST'-Werte würden nur in dem Moment vorhanden sein, in dem die Anfrage empfangen wird. Ich kenne Braintree nicht, also kann ich nicht darüber spekulieren, was es erwartet, aber Ihre Verwendung des Begriffs "Aktualisieren" auf dem Webhooks-Skript macht mich verdächtig, dass Sie es irgendwie manuell laden, wobei die POST-Werte nicht wären Geschenk. –
@MichaelBerkowski Ich denke, ich sehe, was Sie über die manuelle Aktualisierung sagen. Es ist fast so, als ob die Variable zum Zeitpunkt des Auffrischens ausgeblendet wird. Haben Sie irgendwelche Tipps, wie ich diesen Webhook testen und genau sagen kann, was zurückgegeben wird? – whatwhatwhat
Ist [das, woran Sie arbeiten] (https://developers.braintreepayments.com/guides/webhooks/create/php)? Sie werden nicht in der Lage sein, das Skript webhooks.php zu besuchen und eine tolle Ausgabe von in zu erhalten, weil braintree das ist, was es anruft. Die Post-Daten von BT werden nie angezeigt, da HTTP-Anfragen statusfrei sind. Wenn Sie ein Formular mit den Eingaben bt_payload und bt_signature erstellen und es an webhooks.php posten, würden Sie die von Ihnen gesendeten Werte sehen. Lediglich die Besichtigung dieses Skripts wird Ihnen keine hilfreiche Antwort geben. –