php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2011, 20:41  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard PayPal Einbundung -> Erzeugt Fehler

Hi Community

Ich hätte da mal eine Frage und irgendwie komme ich einfach nicht auf die Lösung. Wie allgemein bekannt ist ja die API von Paypal nicht gerade der renner... Folgendes: Ich möchte auf meiner Webseite die Möglichkeit einbinden, direkt mit der Kreditkarte zu zahlen ohne sich über Paypal anmelden zu müssen (bzw. ein Konto zu besitzen).

Folgendes habe ist implementiert:

Paypal Klasse:

PHP-Code:
<?php
class Paypal {
   
/**
    * Last error message(s)
    * @var array
    */
   
protected $_errors = array();
 
   
/**
    * API Credentials
    * Use the correct credentials for the environment in use (Live / Sandbox)
    * @var array
    */
   
protected $_credentials = array(
      
'USER' => 'bestellung_api1.delca.ch',
      
'PWD' => 'BZB****F46',
      
'SIGNATURE' => 'AmUTZVvME***vEZnC2f',
   );
 
   
/**
    * API endpoint
    * Live - https://api-3t.paypal.com/nvp
    * Sandbox - https://api-3t.sandbox.paypal.com/nvp
    * @var string
    */
   
protected $_endPoint 'https://api-3t.paypal.com/nvp';
 
   
/**
    * API Version
    * @var string
    */
   
protected $_version '74.0';
     
   public function 
test(){
   
           echo 
'Das Objekt wurde erzeugt <br>';
   }
 
   
/**
    * Make API request
    *
    * @param string $method string API method to request
    * @param array $params Additional request parameters
    * @return array / boolean Response array / boolean false on failure
    */
   
public function request($method,$params = array()) {
      
$this -> _errors = array();
      if( empty(
$method) ) { //Check if API method is not empty
         
$this -> _errors = array('API method is missing');
         return 
false;
      }
 
      
//Our request parameters
      
$requestParams = array(
         
'METHOD' => $method,
         
'VERSION' => $this -> _version
      
) + $this -> _credentials;
 
      
//Building our NVP string
      
$request http_build_query($requestParams $params);
 
      
//cURL settings
      
$curlOptions = array (
         
CURLOPT_URL => $this -> _endPoint,
         
CURLOPT_VERBOSE => 1,
         
CURLOPT_SSL_VERIFYPEER => true,
         
CURLOPT_SSL_VERIFYHOST => 2,
         
CURLOPT_CAINFO => dirname(__FILE__) . '/cacert.pem'//CA cert file
         
CURLOPT_RETURNTRANSFER => 1,
         
CURLOPT_POST => 1,
         
CURLOPT_POSTFIELDS => $request
      
);
 
      
$ch curl_init();
      
curl_setopt_array($ch,$curlOptions);
 
      
//Sending our request - $response will hold the API response
      
$response curl_exec($ch);
 
      
//Checking for cURL errors
      
if (curl_errno($ch)) {
         
$this -> _errors curl_error($ch);
         
curl_close($ch);
         return 
false;
         
//Handle errors
      
} else  {
         
curl_close($ch);
         
$responseArray = array();
         
parse_str($response,$responseArray); // Break the NVP string to an array
         
return $responseArray;
      }
   }
}
?>
Und hier die Testseite:
PHP-Code:
<?php
    
require_once('paypal.php');
    
    
$requestParams = array(
       
'IPADDRESS' => $_SERVER['REMOTE_ADDR'],
       
'PAYMENTACTION' => 'Sale'
    
);
     
    
$creditCardDetails = array(
       
'CREDITCARDTYPE' => 'Visa',
       
'ACCT' => '40****23',
       
'EXPDATE' => '062013',
       
'CVV2' => '***'
    
);
     
    
$payerDetails = array(
       
'FIRSTNAME' => 'Dario',
       
'LASTNAME' => 'De Lucia',
       
'COUNTRYCODE' => 'US',
       
'STATE' => 'ZH',
       
'CITY' => 'Zuerich',
       
'STREET' => '14 Argyle Rd.',
       
'ZIP' => '8008'
    
);
     
    
$orderParams = array(
       
'AMT' => '1',
       
'ITEMAMT' => '0.5',
       
'SHIPPINGAMT' => '0.5',
       
'CURRENCYCODE' => 'USD'
    
);
     
    
$item = array(
       
'L_NAME0' => 'iPhone',
       
'L_DESC0' => 'White iPhone, 16GB',
       
'L_AMT0' => '0.5',
       
'L_QTY0' => '1'
    
);
     
    
$paypal = new Paypal();
    echo 
'nach dem erzeugen <br>';
    
$paypal -> test();
    
$response $paypal -> request('DoDirectPayment',
       
$requestParams $creditCardDetails $payerDetails $orderParams $item
    
);
     
    if( 
is_array($response) && $response['ACK'] == 'Success') { // Payment successful
       // We'll fetch the transaction ID for internal bookkeeping
       
echo 'transaction ok <br>';
       
$transactionId $response['TRANSACTIONID'];
    }else {
        echo 
'fehler vorhanden';
        echo 
'code = '.$response['L_ERRORCODE0'].'<br>';
        echo 
'code = '.$response['L_SHORTMESSAGE0'].'<br>';
        echo 
'code = '.$response['L_LONGMESSAGE0'].'<br>';
    }


?>
Wenn ich nun das Script ausführe kriege ich folgenden Output:

HTML-Code:
nach dem erzeugen
Das Objekt wurde erzeugt
fehler vorhandencode = 10565
code = Merchant country unsupported.
code = The merchant country is not supported.
Wie man sieht liegt ja das Problem nicht an PHP, sondern Paypal lehnt die Zahlung ab mit der Begründung dass das Verkäufer Land nicht unterstützt ist.

Kennt sich jemand aus mit Paypal und kann mir erklären warum das so ist? Oder habe ich einen Fehler gemacht?

Danke und Gruss
D.
Dadelu ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.12.2011, 22:47  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

Das soll keineswegs unhöflich klingen, aber wieso stellst du in diesem Forum ein Frage, wenn du selbst sagst, dass es kein auf PHP bezogenes Problem ist? Informier dich bitte bei PayPal, welche Länder diese Zahlart unterstützen. Darf man der Fehlermeldung glauben, wird das angegebene Land schlichtweg nicht unterstützt.
Trainmaster ist offline   Mit Zitat antworten
Alt 08.12.2011, 22:58  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

PHP-Code:
  'COUNTRYCODE' => 'US',
       
'STATE' => 'ZH'
muss das Countrycode nicht ZH und state irgend ein, wie heißen die dinger ,Kanton sein?
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 08.12.2011, 23:38  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard

Zitat:
Zitat von BlackScorp Beitrag anzeigen
PHP-Code:
  'COUNTRYCODE' => 'US',
       
'STATE' => 'ZH'
muss das Countrycode nicht ZH und state irgend ein, wie heißen die dinger ,Kanton sein?
Ja da hast du recht (und ja sie heissen Kantone ) habe es geändert, aber die Fehlermeldung bleibt die gleiche...

Zitat:
Zitat von Trainmaster Beitrag anzeigen
aber wieso stellst du in diesem Forum ein Frage, wenn du selbst sagst, dass es kein auf PHP bezogenes Problem ist?
Ach ich hatte ne ziemlich simple Überlegung dahinter: PHP = Programmiersprache = Webentwicklung = Geschäftsabwicklungen = Shops = Bestellungen = Zahlungen = Paypal... Ergo, vielleicht hat jemand die gleiche Erfahrung gemacht.
Dadelu ist offline   Mit Zitat antworten
Alt 09.12.2011, 00:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das fällt wohl unter die Kategorie: Fachfragen zu bestimmten Softwareprodukten

Frag die Leute von Paypal, die bekommen Geld für Ihren Support.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 09.12.2011, 00:12  
Benutzer
 
Registriert seit: 27.03.2006
Beiträge: 60
PHP-Kenntnisse:
Anfänger
Dadelu ist in Verruf geraten
Standard

Werde ich wohl so machen müssen, obwohl ich bis jetzt nur schlechte Erfahrungen gemacht habe mit dem PayPal Support. Demfall hatte niemand vorher hier das gleiche Problem, schade.
Dadelu ist offline   Mit Zitat antworten
Alt 09.12.2011, 00:14  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Demfall hatte niemand vorher hier das gleiche Problem, schade.
Sorry, aber mit einer Geduldsspanne von 4 Stunden profitiert man sicher nicht von der Power der gesamten Community.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 09.12.2011, 00:40  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

Zitat:
Zitat von Dadelu Beitrag anzeigen
Werde ich wohl so machen müssen, obwohl ich bis jetzt nur schlechte Erfahrungen gemacht habe mit dem PayPal Support. Demfall hatte niemand vorher hier das gleiche Problem, schade.
Deine Überlegung ist schon etwas willkürlich und ich kann mich nur wiederholen: Dein Problem ist kein PHP-spezifisches. Wieso nutzt du nicht den zurückgegebenen Code, um dich auf die Fehlersuche zu begeben? Allein im Entwickler-Forum von PayPal lande ich 79 Treffer ... https://www.x.com/developers/paypal/forums/search/10565
Trainmaster ist offline   Mit Zitat antworten
Alt 09.12.2011, 13:31  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Und falls es echte Daten sind: Editiere das Eingangsposting und nimm ASAP die sensiblen Informationen da raus!
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 11.12.2011, 10:56  
Neuer Benutzer
 
Registriert seit: 29.11.2011
Beiträge: 11
PHP-Kenntnisse:
Fortgeschritten
Seradus befindet sich auf einem aufstrebenden Ast
Standard

Ich würde dir auch raten dich an den PayPal Support zu wenden. Die haben ein eigenes Developer Forum für solche Fragen. Habe damit sehr gute Erfahrungen gemacht.

PayPal ist sehr komplex und teilweise sind die Fehlermeldungen auch irreführend. Z.B. gabs den Fall dass ne Zeit lang die Recurring Payments für Deutschland gesperrt waren. Als Fehlermeldung kam was ganz anderes. Da kann dir nur der PP Support weiterhelfen.
__________________
Dev-Setup: Xubuntu 11.04, NetBeans 7.0
Framework: Symfony 1.4
Webhosting: Wuchthosting
Seradus ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Syntax Error - Wo ist der Fehler? Extremefall PHP Tipps 2009 5 14.12.2009 17:46
[Erledigt] array_push($this-&gt;blabla, $array) erzeugt fehler alexPHP PHP Tipps 2009 13 01.10.2009 15:10
[Erledigt] vista, windows update Fehler 80070422 Screeze Off-Topic Diskussionen 3 23.09.2009 18:24
XML Code wird falsch erzeugt 2. Versuch Sunny2006 PHP Tipps 2009 1 17.09.2009 18:26
XML wird falsch erzeugt Sunny2006 PHP Tipps 2009 4 17.09.2009 00:27
[Erledigt] Fehler bei Array ausgabe newWorldOrder PHP Tipps 2009 2 23.02.2009 17:29
array_multisort() erzeugt einen Fehler onda88 PHP Tipps 2009 10 23.02.2009 16:33
Fehler: Unexcepted { Stephan_87 PHP Tipps 2008 6 13.12.2008 21:04
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
[Erledigt] Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Wo liegt der fehler?? PHP-Fortgeschrittene 5 22.12.2004 09:54
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32
Paradox, Fehler bei Berechnung in MySQL MrNiceGuy Datenbanken 0 23.06.2004 16:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
api endpoint paypal, the merchant country is not supported paypal, paypal php curl merchant country, php paypal request, kreditkartennummer für paypal sandbox, mysql* *visa* *062013* *ach, curl php request nvp, php paypal api request, nvp api paypal sandbox, paypal sdk the merchant country is not supported., merchant country unsupported, configuration paypal error 10565, kreditkarten bezahlen api script, the merchant country is not supported.lösung, l_shortmessage0 => merchant country unsupported.l_longmessage0 => the merchant country is not supported., paypal einbinden cart empty, paypaö [request] => array, php paypal, paypal api version

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum