0

私はクレジットのユーザーがいるウェブサイトを持っています。

例: 私はユーザーで、500 クレジット、1 クレジット == 1$ を持っています。ユーザーは「ドルに変換」ボタンを押し、ペイパルのメールを挿入して送金します。

今、私のペイパルアカウントからペイパルの電子メールへの自動支払いを行う方法が必要です。

一括支払いを使用しようとしていますが、これはすべてのユーザーに受け入れられるわけではなく、特定のユーザーにのみ受け入れられます。

 * 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;
}

どうすればできますか?

助けてくれてありがとう!

4

2 に答える 2

0

MassPay API または Adative Payments (Pay) API を使用してこれを行うことができます。「一括支払いを使用しようとしていますが、これはすべてのユーザーには受け入れられず、特定のユーザーにのみ受け入れられます」と言うと、これが何を意味するのかわかりません。これについてもう少し説明していただけますか。

于 2013-06-13T17:49:25.883 に答える
0

PayPal アダプティブ ペイメントをご覧くださいIMPLICIT Pay API
アダプティブ ペイメントを使用すると、いわゆる「インプリシット ペイメント」を作成できます。

暗黙の承認支払いは、送信者と API 呼び出し元が同じアカウントを使用している支払いです。PayPal はお客様自身のアカウントから支払いの資金を引き出しているため、承認は必要なく、暗黙の承認による支払いの目に見えるフローはありません。

次の図は、暗黙的に承認された支払い操作中の基本的な制御フローを示しています。

AP 暗黙的フロー

次の項目は、図の丸で囲まれた番号に対応しています。

  1. サイトまたはデバイスが PayPal に支払い要求を送信します。
    注: Web フローは必要ありません。
  2. PayPal は、他の API 操作に使用するキーで応答します。

これについてさらに詳しく知りたい場合は、Adaptive Payments 入門ガイドと Adaptive Payments 開発者ガイド で Adaptive Payments について読むことをお勧めます

注: テスト目的で、サンドボックス環境で AppID APP-80W284485P519543T を使用できます。

于 2013-06-13T20:09:10.360 に答える