代码之家  ›  专栏  ›  技术社区  ›  Chud37

PayPal PHP API SDK -设置个人购买电子邮件地址

  •  1
  • Chud37  · 技术社区  · 8 年前

    我想为购买产品的人设置电子邮件地址。这是我目前为止得到的(根据文档):

    $payer = new \PayPal\Api\Payer();
    $payer  ->setPaymentMethod('paypal');
    
    $amount = new \PayPal\Api\Amount();
    $amount->setTotal($order['totals']['grand']);
    $amount->setCurrency('GBP');
    
    $itemList = new \PayPal\Api\ItemList();
    
    $shipping_address = new \PayPal\Api\ShippingAddress();
    $shipping_address->setRecipientName($order['shipping']['name']);
    $shipping_address->setLine1($order['billing']['add1']);
    $shipping_address->setLine2($order['billing']['add2']);
    $shipping_address->setCity($order['shipping']['add3']);
    $shipping_address->setPostalCode($order['shipping']['postcode']);
    $shipping_address->setCountryCode(countryData($order['shipping']['countryID'],"code"));
    $shipping_address->setPhone($order['shipping']['telephone']);
    $itemList->setShippingAddress($shipping_address);
    
    $transaction = new \PayPal\Api\Transaction();
    $transaction->setAmount($amount)->setItemList($itemList);
    
    $redirectUrls = new \PayPal\Api\RedirectUrls();
    $redirectUrls   ->setReturnUrl("https://example.com/shop/thank-you/")
                    ->setCancelUrl("https://example.com/shop/cancelled/");
    
    $payment = new \PayPal\Api\Payment();
    $payment->setIntent('sale')
            ->setPayer($payer)
            ->setTransactions(array($transaction))
            ->setRedirectUrls($redirectUrls);  
    
    try {
        $payment->create($apiContext);
        predump(json_decode($payment));
    
        echo "\n\n<a href='".$payment->getApprovalLink()."'>Redirect user to approval_url</a>\n";
    }
    catch (\PayPal\Exception\PayPalConnectionException $ex) {
        // This will print the detailed information on the exception.
        //REALLY HELPFUL FOR DEBUGGING
        echo $ex->getData();
    }
    

    我可以从Paypal推出的文档的集锦中收集,并且从Google的许多不同的页面中,我想在PayRe[()中设置电子邮件地址( $payer )我该怎么做?

    请帮忙。

    1 回复  |  直到 8 年前
        1
  •  2
  •   LS_    8 年前

    我想你在找 PayerInfo ,这应该有效:

    $payerInfo = new \PayPal\Api\PayerInfo();
    $payerInfo ->setEmail('example@email.com');
    
    $payer = new \PayPal\Api\Payer();
    $payer  ->setPaymentMethod('paypal');
    $payer ->setPayerInfo($payerInfo);