当我使用我的 paypal 帐户进行沙盒 Paypal 付款时,效果很好!...我在沙盒中收到付款通知。因此,如果我查看沙箱支付事件,我可以读取以下请求路径:POST /v2/checkout/orders/0KX86606R2956702X/capture。处理贝宝帐户付款时,一切正常。 我面临的问题是,当我尝试在不使用 paypal 帐户的情况下进行付款,而是通过使用 paypal 信用卡生成器使用虚拟信用卡号时:https://developer.paypal.com/tools/sandbox/卡测试/#link-testcardnumbers。 虽然我从应用程序中获得了成功的交易,但我在沙箱通知面板中找不到该交易的痕迹。此外,如果我查看沙箱支付事件,我可以读取以下请求路径:POST /v2/checkout/orders ...所以在处理 paypal 时,该请求与前一个请求相比似乎有所不同付款。 所以我迷失了,我无法理解当贝宝付款有效时信用卡付款会发生什么!...这两种付款解决方案有什么区别?有人有办法恢复这些东西吗?我指出我的贝宝个人资料是专业的,然后让我允许在我的帐户中接收所有付款之王。非常感谢大家的好主意! ;-)
我已经尝试使用贝宝帐户进行贝宝沙箱付款:它有效! 我尝试直接使用 paypal 提供的虚拟信用卡生成器进行付款:没有任何效果 我想了解两种支付解决方案之间有什么区别以及为什么交易结果在我的沙箱通知面板中不可见?怎么找回东西?
我想说,这是一个非常简单的 SDK 集成示例。以下是我的“pay.php”代码:
use PayPalCheckoutSdk\Core\PayPalHttpClient;
use PayPalCheckoutSdk\Core\SandboxEnvironment;
use PayPalCheckoutSdk\Orders\OrdersCreateRequest;
require __DIR__ . "/vendor/autoload.php";
if (isset($_POST['amount'])) {
$amount = floatval($_POST['amount']);
// Creating an environment
$clientId = PAYPAL_ID;
$clientSecret = PAYPAL_SECRET;
$environment = new SandboxEnvironment($clientId, $clientSecret);
$client = new PayPalHttpClient($environment);
// Construct a request object and set desired parameters
// Here, OrdersCreateRequest() creates a POST request to /v2/checkout/orders
$request = new OrdersCreateRequest();
$request->prefer('return=representation');
$request->body = [
"intent" => "CAPTURE",
"purchase_units" => [[
"reference_id" => "test_ref_id1",
"amount" => [
"value" => $amount,
"currency_code" => "EUR"
]
]],
"application_context" => [
"cancel_url" => "http://localhost/paypal-checkout-sdk/fail.php",
"return_url" => "http://localhost/paypal-checkout-sdk/success.php"
]
];
try {
// Call API with your client and get a response for your call
$response = $client->execute($request);
// If call returns body in response, you can get the deserialized version from the result attribute of the response
//print_r($response);
// echo '<pre>';
// var_dump($response);
// echo '</pre>';
// die();
$ct = 0;
foreach ($response->result->links as $links) {
$meinlinks[$ct] = $links -> href;
$ct++;
}
// echo '<pre>';
// var_dump($meinlinks);
// echo '</pre>';
header('location:' . $meinlinks[1]); exit;
} catch (HttpException $ex) {
echo $ex->statusCode;
print_r($ex->getMessage());
}
}
不知道您是否发现我的代码有问题?但仅在处理 paypal 帐户时效果很好。这就是为什么我问自己,直接处理信用卡有什么区别?...我有一个专业的paypal账户,因此我拥有与付款方式接受相关的完整授权。非常感谢您的所有宝贵想法!