0
我使用SetExpressCheckout的方法,成功獲取令牌後,釋放鏈接,用戶可以進行支付:PayPal API(支付成功,但卡上的錢不會被收取)
https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=<? echo $token[1]; ?>
查詢代碼:
$paypal_create_token = post('https://api-3t.paypal.com/nvp',
array(
'params' => array(
'USER' => $paypal_config['user'],
'PWD' => $paypal_config['password'],
'SIGNATURE' => $paypal_config['sign'],
'METHOD' => 'SetExpressCheckout',
'VERSION' => $paypal_config['version'],
'REQCONFIRMSHIPPING' => 0,
'NOSHIPPING' => 1,
'SOLUTIONTYPE' => 'Sole',
'LANDINGPAGE' => 'Billing',
'LOGOIMG' => $protocol.'://'.$host.'/images/logo197x40.png?'.$time,
'HDRIMG' => $protocol.'://'.$host.'/images/logo.png?'.$time,
'BRANDNAME' => mb_strtoupper($host),
'PAYMENTREQUEST_0_AMT' => $amount,
'PAYMENTREQUEST_0_ITEMAMT' => $amount,
'L_PAYMENTREQUEST_0_AMT0' => $amount,
'L_PAYMENTREQUEST_0_NAME0' => $description,
'PAYMENTREQUEST_0_INVNUM' => $order_id,
'L_PAYMENTREQUEST_0_NUMBER0' => $order_id,
'PAYMENTREQUEST_0_PAYMENTACTION' => 'SALE',
'PAYMENTREQUEST_0_CURRENCYCODE' => 'RUB',
'EMAIL' => $orders_info['email'],
'RETURNURL' => $paypal_config['success_url'].'?order_id='.$order_id.'&order_hash='.$order_hash,
'CANCELURL' => $paypal_config['fail_url'].'?order_id='.$order_id.'&order_hash='.$order_hash,
)
)
);
$paypal_create_token_content = $paypal_create_token['content'];
preg_match('/TOKEN\=(.*?)\&/', $paypal_create_token_content, $token); // get token
其結果是,所有這些是必要的,有一個頁面的帳戶付款方式:
而當我點擊繼續,那麼一切順利,但是如果設置了測試模式但沒有使用沙箱鏈接,您的卡將不會被充電。爲了好玩,我決定將您的PayPal賬戶與我的API數據連接到相同的付款服務,付款時從卡中扣除。
然而,有時銀行要求SMS代碼確認付款,但仍然沒有任何記錄。天下奇聞。
什麼問題?我不使用沙箱鏈接,但仍然有這個麻煩。我懷疑在參數中傳遞了某些不正確的東西。