我有信用卡用户的网站, 当必须使用用户信用时,他可以将它们转换成真钱,
例如: 我是用户,我有500个学分, 1学分== 1 $ 用户按下“转换为美元”按钮, 并且他插入了PayPal电子邮件来发送钱。
现在我需要从我的paypal帐户自动付款到他之前应该插入的PayPal电子邮件。
我尝试使用群发付款,但这不接受所有用户,只接受特定用户。
* Send HTTP POST Request
* @param string The API method name
* @param string The POST Message fields in &name=value pair format
* @return array Parsed HTTP Response body
*/
function PPHttpPost($environment,$methodName_, $nvpStr_)
{
// Set up your API credentials, PayPal end point, and API version.
// How to obtain API credentials:
// https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_NVPAPIBasics#id084E30I30RO
$API_UserName = ('mail');
$API_Password = ('passapi');
$API_Signature = ('signture');
$API_Endpoint = "https://svcs.paypal.com/AdaptivePayments/Pay";
if("sandbox" == $environment || "beta-sandbox" === $environment)
{
$API_Endpoint = "https://svcs.$environment.paypal.com/AdaptivePayments/Pay";
}
$version = urlencode('51.0');
// Set the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $API_Endpoint);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
// Turn off the server and peer verification (TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"X-PAYPAL-SECURITY-USERID: {$API_UserName}",
"X-PAYPAL-SECURITY-PASSWORD: {$API_Password}",
"X-PAYPAL-SECURITY-SIGNATURE: {$API_Signature}",
"X-PAYPAL-REQUEST-DATA-FORMAT: NV",
"X-PAYPAL-RESPONSE-DATA-FORMAT: NV"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
// Set the API operation, version, and API signature in the request.
$nvpreq = $nvpStr_;
// Set the request as a POST FIELD for curl.
curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq);
// Get response from the server.
$httpResponse = curl_exec($ch);
if( !$httpResponse)
{
exit("$methodName_ failed: " . curl_error($ch) . '(' . curl_errno($ch) .')');
}
// Extract the response details.
$httpResponseAr = explode("&", $httpResponse);
$httpParsedResponseAr = array();
foreach ($httpResponseAr as $i => $value)
{
$tmpAr = explode("=", $value);
if(sizeof($tmpAr) > 1)
{
$httpParsedResponseAr[$tmpAr[0]] = $tmpAr[1];
}
}
if((0 == sizeof($httpParsedResponseAr)) || !array_key_exists('ACK', $httpParsedResponseAr))
{
exit("Invalid HTTP Response for POST request($nvpreq) to $API_Endpoint.");
}
return $httpParsedResponseAr;
}
我怎么做?
感谢帮助!
答案 0 :(得分:0)
您可以使用MassPay API或Adative Payments(Pay)API执行此操作。当你说“我尝试使用群发付款但这不接受所有用户,只接受特定用户”时,我不确定你的意思。你能解释一下吗?
答案 1 :(得分:0)
看看PayPal Adaptive Payments IMPLICIT Pay API
使用自适应付款,您可以创建所谓的“隐式付款”。
隐式审批付款是指发件人和API来电者使用同一帐户的付款。由于PayPal从您自己的帐户中提取付款资金,因此无需批准,因此没有可见的隐式批准付款流程。
下图显示了隐式批准的付款操作期间的基本控制流程:
以下项目对应于图表中带圆圈的数字:
如果您想进一步探讨此问题,我建议您阅读Adaptive Payments getting started指南和Adaptive Payments developer guide中的自适应付款。
注意:您可以在Sandbox环境中使用AppID APP-80W284485P519543T进行测试。