我是网络开发人员的新手,我正在尝试使用Braintree webhooks。我正在使用他们的create submerchant示例代码创建一个submerchant然后据说通知应该到达我的服务器,说明它是否成功。
我的方法:我刷新了submerchant.php页面(我在NameCheap服务器上使用Wordpress),然后echo
的“成功!”。然后我转到webhooks.php页面并刷新它。但是,var_dump
只返回NULL NULL
而print_r
不会返回任何内容。为什么print_r
没有显示任何内容?
submerchant.php - 当我设置$one = 1
并为潜水员设置新的id
时,这会创建潜水员
<?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' => 'jane@14ladders.com',
'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' => 'funding@blueladders.com',
'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']);
?>
答案 0 :(得分:0)
最有可能的是,输出的数据存储在某个输出缓冲区中。如果您非常确定要调试代码此方式,请在使用wp_die();
输出数据后立即尝试添加print_r
调用。那应该有帮助!
还有一件事:由于更复杂的数据流,有时一些代码(不是这种特殊情况)实际上从未输出。对于这种情况,使用一些第三方调试工具可能是一个好主意,或者,如果您正在寻找更简单的解决方案,您可以将一些输出写入某个日志文件,然后检查该文件。
祝你好运!
答案 1 :(得分:0)
在die;
的最后一行之后添加print_r()