Статус на PayPal все еще УТВЕРЖДЕН - PullRequest
0 голосов
/ 05 августа 2020

У меня проблема с интеграцией платежа с PayPal. Я использую REST API, и это мой код для создания заказа:

    $curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.sandbox.paypal.com/v2/checkout/orders",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => '{
  "intent": "CAPTURE",
  "purchase_units": [
    {
      "reference_id": "PUHF",
      "amount": {
        "currency_code": "PLN",
        "value": "100.00"
      }
    }
  ],
  "application_context": {
    "return_url": "http://www.mywebside.com",
    "cancel_url": ""
  }
}',
  CURLOPT_HTTPHEADER => array(
    'accept: application/json',
    'accept-language: en_US',
    'authorization: Bearer '.$access_token.'',
    'content-type: application/json'
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Я работаю в среде песочницы. Я go на страницу оплаты и переводим виртуальные деньги. Когда он перенаправляет меня на мой сайт, я проверяю статус заказа. Статус имеет значение = "УТВЕРЖДЕНО", а не "ЗАВЕРШЕНО", и деньги также не зачисляются на счет. От чего это зависит?

1 Ответ

1 голос
/ 05 августа 2020

Вам потребуется два вызова API, один для «Настроить транзакцию» и создать заказ, а затем один для «Захват транзакции» после утверждения, как описано здесь: https://developer.paypal.com/docs/checkout/reference/server-integration/

Если вы не захватите заказ, он останется в утвержденном состоянии.

Для удобства пользователей не используйте перенаправления. Вообще. Держите ваш сайт загруженным в фоновом режиме и представьте пользователю на утверждение современный контекстный логин. Вот пользовательский интерфейс для этого: https://developer.paypal.com/demo/checkout/# / шаблон / сервер

...