2014-10-07 221 views
0

我使用Paypal REST,PHP SDK master。 这个问题涉及付款。Paypal我如何使用信用卡付款方式获取PayerID

我需要知道如何使用“credit_card”付款方式在 上获得PayerID。

如果您在PHP SDK下的samples/payments 下查看,您将看到两个示例文件CreatePayment.php和 ExecutePayment.php。这些样品独立运行。

这是我想要做的。 在CreatePayment.php我想调用ExecutePayment.php。 在CreatePaymet.php文件的底部,我会有 这样的一行。

header("Location: ExecutePayment.php?success=true&PayerID=ABC12345678 

问题是,我在哪里得到PayerID?

现在,我有这个工作使用付款方式paypal。 (在SDK看到CreatePaymentUsingPayPal) 的,工程方式是你给它重定向的URL为 回报和取消(你不提供approval_ur)
然后向下在文件的底部有 这段代码在那里循环通过付款对象的链接, 并获得approval_url。

foreach($payment->getLinks() as $link) { 
    if($link->getRel() == 'approval_url') { 
     $redirectUrl = $link->getHref(); 
     break; 
    } 
} 

if(isset($redirectUrl)) { 
    header("Location: $redirectUrl"); 
    exit; 

}

的$的redirectUrl(approval_url)是这样的, 和控制将转移到那里。

< https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-12345678AB5432123>

当控制返回到你的网站,你会 看到您所指定的返回URL,
现在有PayerID和令牌追加到它的结束。 换句话说,贝宝服务为您提供 PayerID,并自动将其附加到您的 返回网址。

这是如何使用PayPal的付款方式。 现在,问题是,如何使用 信用卡付款方式获得PayerID?

回答

3

无论何时您使用PayPal付款,在购买者在PayPal结账页面上批准付款后您将获得付款人ID是两个步骤,那么您将使用该ID来为其PayPal帐户收费。

但信用卡付款是一个步骤,您将通过信用卡和其他信息将创建请求提交给PayPal,交易将同时完成。因此,信用卡付款不涉及“执行”步骤。

+0

这是一个非常好的答案,它回答了我的问题。 – 2014-10-08 21:20:11

+0

当我调用 - > create()方法时,交易成功,但商家账户资金保持不变。可能是什么问题 ? – d123546 2017-06-07 01:27:23

相关问题