2012-01-28 19 views
10

¿Alguien sabe cómo administrar las suscripciones de PayPal utilizando su API? He leído que puedo usar ManageRecurringPaymentsProfileStatus para cancelar, suspender y reactivar suscripciones, pero no he podido encontrar un método para obtener los ID, así que no puedo usarlo.¿Cómo administrar las suscripciones de PayPal usando la API?

This page dice que use la respuesta del método CreateRecurringPaymentsProfile que contiene la ID, aunque no estoy creando las suscripciones con la API, así que no podría hacer esto.

¿Hay un método API para obtener solo los ID? Gracias.

+0

cualquier persona? En esa página dice que el ID debe ser el ID de perfil, pero después de leer un poco más, parece que puede usar el ID de abono, así que está bien. Simplemente no estoy seguro de cómo obtener los detalles de la suscripción y la identificación. –

+2

No puede gestionar suscripciones comenzando con S a través de API (solo puede cancelarlas). Las nuevas suscripciones que comienzan con I- se pueden administrar a través de la API, pero nuevamente solo está disponible la funcionalidad limitada. Para obtener mejores resultados, cree un perfil de pagos recurrentes a través de CreateRecurringPaymentsProfile y use ManageRecurringPaymentsProfileStatus en eso. – Robert

Respuesta

4

PayPal payment..please directa de cambio de credenciales como su caja de arena siempre ...

<?php 

/** DoDirectPayment NVP example; last modified 08MAY23. 
* 
* Process a credit card payment. 
*/ 

$environment = '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('debash_1332929919_biz_api1.gmail.com'); 
    $API_Password = urlencode('1332929952'); 
    $API_Signature = urlencode('AIiPJKMw38NGZuaiDaeLWrH9x.WBAK4WXf1vh9.Y.YxEM-4DlbDLMEVe'); 
    $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. 
$paymentType = urlencode('Sale');    // or 'Sale' 
$firstName = urlencode('Debashis'); 
$lastName = urlencode('Banerjee'); 
$creditCardType = urlencode('visa'); 
$creditCardNumber = urlencode('4860795409505688'); 
$expDateMonth = '3'; 
// Month must be padded with leading zero 
$padDateMonth = urlencode(str_pad($expDateMonth, 2, '0', STR_PAD_LEFT)); 

$expDateYear = urlencode('2017'); 
$cvv2Number = urlencode('111'); 
$address1 = urlencode('Kaikala'); 
$address2 = urlencode('Hooghly'); 
$city = urlencode('Kaikala'); 
$state = urlencode('WB'); 
$zip = urlencode('712405'); 
$country = urlencode('IN');    // US or other valid country code 
$amount = urlencode('71'); 
$currencyID = urlencode('USD');       // or other currency ('GBP', 'EUR', 'JPY', 'CAD', 'AUD') 

// Add request-specific fields to the request string. 
$nvpStr = "&PAYMENTACTION=$paymentType&AMT=$amount&CREDITCARDTYPE=$creditCardType&ACCT=$creditCardNumber". 
      "&EXPDATE=$padDateMonth$expDateYear&CVV2=$cvv2Number&FIRSTNAME=$firstName&LASTNAME=$lastName". 
      "&STREET=$address1&CITY=$city&STATE=$state&ZIP=$zip&COUNTRYCODE=$country&CURRENCYCODE=$currencyID"; 

// Execute the API operation; see the PPHttpPost function above. 
$httpParsedResponseAr = PPHttpPost('DoDirectPayment', $nvpStr); 

if("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) { 
    exit('Direct Payment Completed Successfully: '.print_r($httpParsedResponseAr, true)); 
} else { 
    exit('DoDirectPayment failed: ' . print_r($httpParsedResponseAr, true)); 
} 

?> 

visite https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/library_code

Gracias

+0

+1 por algún código de trabajo, gracias. –

Cuestiones relacionadas