1
votes

I want get all in sandbox paypal... Now, How do I code??? Help me, please! Thank.
This is the response:

[PROFILEID] => I-CL7Kxxx
[STATUS] => Active
[AUTOBILLOUTAMT] => AddToNextBilling
[DESC] => xxx
[MAXFAILEDPAYMENTS] => 2
[SUBSCRIBERNAME] => Dan
[PROFILESTARTDATE] => 2013-05-15T07:00:00Z
[PROFILEREFERENCE] => 31571
[NEXTBILLINGDATE] => 2013-05-16T10:00:00Z
[NUMCYCLESCOMPLETED] => 1
[NUMCYCLESREMAINING] => 18446744073709551615
[OUTSTANDINGBALANCE] => 0.00
[FAILEDPAYMENTCOUNT] => 0
[LASTPAYMENTDATE] => 2013-05-15T14:52:04Z
[LASTPAYMENTAMT] => 0.10
[TRIALAMTPAID] => 0.00
[REGULARAMTPAID] => 0.10
[AGGREGATEAMT] => 0.10
[AGGREGATEOPTIONALAMT] => 0.00
[FINALPAYMENTDUEDATE] => 1970-01-01T00:00:00Z
[TIMESTAMP] => 2013-05-15T14:55:58Z
[CORRELATIONID] => 225681xxx
[ACK] => Success
[VERSION] => 64
[BUILD] => 5908853
[SHIPTOSTREET] => xxx
[SHIPTOCITY] => xxx
[SHIPTOSTATE] => CA
[SHIPTOZIP] => xxx
[SHIPTOCOUNTRYCODE] => US
[SHIPTOCOUNTRY] => US
[SHIPTOCOUNTRYNAME] => United States
[SHIPADDRESSOWNER] => PayPal
[SHIPADDRESSSTATUS] => Unconfirmed
[BILLINGPERIOD] => Day
[BILLINGFREQUENCY] => 1
[TOTALBILLINGCYCLES] => 0
[CURRENCYCODE] => USD
[AMT] => 0.10
[SHIPPINGAMT] => 0.00
[TAXAMT] => 0.00
[REGULARBILLINGPERIOD] => Day
[REGULARBILLINGFREQUENCY] => 1
[REGULARTOTALBILLINGCYCLES] => 0
[REGULARCURRENCYCODE] => USD
[REGULARAMT] => 0.10
[REGULARSHIPPINGAMT] => 0.00
[REGULARTAXAMT] => 0.00
2
What exactly is the question please be more specific!Pavel Kenarov
I want list all the created Recurring Payments Profile in Sandbox Paypal? It's return result above! but I don't... Please, help me!Rim
i want to get response of these type . how is possible in php? using method of "GetRecurringPaymentsProfileDetails"Dhruv Raval

2 Answers

1
votes

Here is an example to get the result you want. Please Sett your Api Username, Api Password, Api Signature and your SubscID. Enjoy

<?php
/** GetTransactionDetails NVP example; last modified 08MAY23.
 *
 *  Get detailed information about a single transaction. 
*/
$environment = 'sandbox';   //sandbox or 'beta-sandbox' or 'live'
/**
 * 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($methodName_, $nvpStr_) {
    global $environment;
    // Set up your API credentials, PayPal end point, and API version.
    $API_UserName = urlencode('yourApiUserName');
    $API_Password = urlencode('yourApiPassword');
    $API_Signature = urlencode('yourApiSignature');

    $API_Endpoint = "https://api-3t.paypal.com/nvp";
    if("sandbox" === $environment || "beta-sandbox" === $environment) {
        $API_Endpoint = "https://api-3t.$environment.paypal.com/nvp";
    }
    $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_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    // Set the API operation, version, and API signature in the request.
    $nvpreq = "METHOD=$methodName_&VERSION=$version&PWD=$API_Password&USER=$API_UserName&SIGNATURE=$API_Signature$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;
}

// Set request-specific fields.
$PROFILEID = urlencode('yourSubsc_ID');

// Add request-specific fields to the request string.
$nvpStr = "&PROFILEID=$PROFILEID";
// Execute the API operation; see the PPHttpPost function above.
$recurringPaymentProfileDetails = PPHttpPost('GetRecurringPaymentsProfileDetails', $nvpStr); // Docuemntation => // https://developer.paypal.com/docs/classic/api/merchant/GetRecurringPaymentsProfileDetails_API_Operation_NVP/
//echo "Current date: ". date("H:i:s");
if("SUCCESS" == strtoupper($recurringPaymentProfileDetails["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($recurringPaymentProfileDetails["ACK"])) {
    /*
    $data_org_billing_success['next_scheduled_billing_date'] = str_replace ('%2d', '-', $recurringPaymentProfileDetails['NEXTBILLINGDATE']);
    $data_org_billing_success['next_scheduled_billing_date'] = str_replace ('%3a', ':', $data_org_billing_success['next_scheduled_billing_date']);
    $data_org_billing_success['no_of_billing_cycle_completed'] = "no_of_billing_cycle_completed+1";
    $data_org_billing_success['no_of_billing_cycle_remaining'] = "total_billing_cycle-no_of_billing_cycle_completed";
    $data_org_billing_success['current_outstanding_balance'] = str_replace ('%2e', '.',$recurringPaymentProfileDetails['OUTSTANDINGBALANCE']);
    $data_org_billing_success['amount_of_last_successful_payment'] = str_replace ('%2e', '.',$recurringPaymentProfileDetails['LASTPAYMENTAMT']);
    $data_org_billing_success['total_paid_amount'] = "total_paid_amount+".$data_org_billing_success['amount_of_last_successful_payment'];
    $data_org_billing_success['date_of_last_successful_payment'] = str_replace ('%2d', '-', $recurringPaymentProfileDetails['LASTPAYMENTDATE']);
    $data_org_billing_success['date_of_last_successful_payment'] = str_replace ('%3a', ':',  $data_org_billing_success['date_of_last_successful_payment']);

    print_r($data_org_billing_success);
    exit;
    */
    //print_r( $recurringPaymentProfileDetails );
    print_r( var_export($recurringPaymentProfileDetails,true) );

    //exit('GetTransactionDetails Completed Successfully: '.print_r($recurringPaymentProfileDetails, true));
} else  {
    exit('GetTransactionDetails failed: ' . print_r($recurringPaymentProfileDetails, true));
}
?>
0
votes

If you required an API to list all the created Recurring Payments Profile in PayPal, currently PayPal doesn't have that API yet. The only API that exist and functional is GetRecurringPaymentsProfileDetails as what you have called previously.I've attached the list of available API for Recurring Payments / Reference Transactions