Как мне остановить аутентификацию моей учетной записи PayPal с помощью адаптивных платежей? - PullRequest
1 голос
/ 25 сентября 2011

Используя Adaptive Payments с методом Pay, мне удалось заставить работать скрипт, где пользователь может вносить деньги со своего счета на свой счет через php, но я должен ввести свой пароль, хотя он использует мои учетные данные API. Как я могу помешать ему каждый раз спрашивать мой пароль? Это мой код:

<?php

require_once '../../../lib/AdaptivePayments.php';
require_once 'web_constants.php';

session_start();

            try {


                   $serverName = $_SERVER['SERVER_NAME'];
                   $serverPort = $_SERVER['SERVER_PORT'];
                                                                            $url=dirname('http://'.$serverName.':'.$serverPort.$_SERVER['REQUEST_URI']);

                   $returnURL = $url."/PaymentDetails.php";
                   $cancelURL = $url. "/SetPay.php" ;
                   $currencyCode="USD";  //$_REQUEST['currencyCode'];
                   $email="qwom_1315508825_biz@btinternet.com";
                   $preapprovalKey = '';    
                   $requested='';
                   $receiverEmail='';
                   $amount='';
                   $count= count($_POST['receiveremail']);


                    //pay details//
                    $payRequest = new PayRequest();
                    $payRequest->actionType = "PAY";
                    $payRequest->currencyCode = "USD";

                    $receiver1 = new receiver();
                    $receiver1->email = "cam_1315509411_per@btinternet.com";
                    $receiver1->amount = "5.00";
                    $payRequest->receiverList = new ReceiverList();
                    $payRequest->receiverList = array($receiver1);

                    $payRequest->returnUrl = $returnURL;
                    $payRequest->senderEmail = "qwom_1315508825_biz@btinternet.com";
                    $payRequest->feesPayer = "SENDER";
                    $payRequest->cancelUrl = $cancelURL;

                    $payRequest->requestEnvelope = new RequestEnvelope();
                    $payRequest->requestEnvelope->errorLanguage = "en_US";
                    $payRequest->requestEnvelope->detailLevel = "ReturnAll";
                    //end pay details//



                   $ap = new AdaptivePayments();
                   $response=$ap->Pay($payRequest);

                   if(strtoupper($ap->isSuccess) == 'FAILURE')
                    {
                        $_SESSION['FAULTMSG']=$ap->getLastError();
                        $location = "APIError.php";
                        header("Location: $location");

                    }
                    else
                    {
                        $_SESSION['payKey'] = $response->payKey;
                        if($response->paymentExecStatus == "COMPLETED")
                        {
                            $location = "PaymentDetails.php";
                            header("Location: $location");
                        }
                        else
                        {
                            /*$token = $response->payKey;
                            $payPalURL = PAYPAL_REDIRECT_URL.'_ap-payment&paykey='.$token;
                            header("Location: ".$payPalURL);*/
                            echo $response->paymentExecStatus;
                        }
                    }
            }
            catch(Exception $ex) {

                $fault = new FaultMessage();
                $errorData = new ErrorData();
                $errorData->errorId = $ex->getFile() ;
                $errorData->message = $ex->getMessage();
                $fault->error = $errorData;
                $_SESSION['FAULTMSG']=$fault;
                $location = "APIError.php";
                header("Location: $location");
            }

?>

Используется API адаптивных платежей. Учетные данные находятся во включенных файлах.

1 Ответ

0 голосов
/ 26 сентября 2011

Это предполагаемая функциональность.Поскольку вы используете метод Pay, он, естественно, предполагает, что это обычная транзакция, а не «депозит».

Вместо этого вы можете обратиться к API PayPal MassPay.
См. https://www.x.com/developers/paypal/products/mass-pay, а также https://www.x.com/developers/paypal/documentation-tools/api/masspay-api-nvp для документации по API NVP.

Также есть пример кода на https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_code (пример php здесь)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...