Я получаю ключ оплаты от IOS SDK, мне нужно проверить статус транзакции с этим ключом оплаты.
Я использовал PayPal Merchant SDK для PHP. в котором я могу получить детали транзакции из идентификатора транзакции, но не из платежного ключа.
Я тоже проверяю это Paypal Адаптивный платеж Проверка ключа оплаты, полученная от IOS Но вариант IPN, но это не полезно в моем случае.
Но мое требование заключается в том, что у меня есть приложение ios, в котором пользователь вносит сумму в PayPal. затем для серверной части мне нужно проверить статус транзакции и затем выполнить дальнейшие операции.
Но я не могу найти детали транзакции с помощью ключа оплаты.
Кто-нибудь сделал это ?? Благодарю.
Наконец-то нашёл способ получить детали транзакции из платежного ключа
Сначала получите токен доступа, используя ваш clientId и ClientSecret
$ch = curl_init();
$clientId = PAYPAL_CLIENT_ID; //client Id
$secret = PAYPAL_CLIENT_SECRET; client secrete key
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $clientId . ":" . $secret);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
$result = curl_exec($ch);
$accessToken = null;
if (empty($result))
die('invalid access token');
else {
$json = json_decode($result);
$accessToken = $json->access_token;
}
curl_close($ch);
После получения токена доступа я получаю детали транзакции, используя следующий код
$curl = curl_init("https://api.sandbox.paypal.com/v1/payments/payment/<paykey>");
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $accessToken,
'Accept: application/json',
'Content-Type: application/json'
));
$response = curl_exec($curl);
$result = json_decode($response);
С этим мы можем подтвердить транзакцию.
удалить работу с песочницей из URL, когда вы используете ее для прямой трансляции.
Других решений пока нет …