2016-06-13 10 views
5

Sto tentando di eseguire un pagamento con carta di credito con l'API di resto di PayPal (sandbox). Ecco il codice:API PayPal Rest Crea il pagamento non restituendo l'ID di vendita

$payment = new Payment(); 
$payment->setIntent('sale'); 
... 

try { 
    $payment->create($this->apiContext); 

    $saleId = $payment->getTransactions()[0]->getRelatedResources()[0]->getSale()->getId(); 
} catch (PayPalConnectionException $ex) { 
    ... 
} 

Questo invia il seguente JSON:

{ "experience_profile_id": "XX-XXXX-XXXX-XXXX-XXXX", "intenzione": "vendita", "pagatore ": {" payer_info ": {" first_name ":" Jim " "cognome": "Smith", "email": "[email protected]", "telefono": ""}, "PAYMENT_METHOD":" CREDIT_CARD " "funding_instruments": [{ "CREDIT_CARD": { "first_name": "Jim", "cognome": "Smith", "numero": "XXXXXXXXXXXX4487", "type": "visto", "expire_month":" 06 "," expire_year ":" 2020 "," cvv2 ":" 123 "," billing_address ": {" riga1 ":" 123 Test Street "," line2 ":" "," città ":" Test Città "," stato ":" "," codice postale ":" XXXX XXX "," country_code ":" GB "}}}]}," transazioni ": [{" importo ": {" valuta ":" GBP "," totale ":" 13.50 "," dettagli ": {" shipping ":" 3.50 "," tax ":" 1.67 "," subtotal ":" 8.33 "}}," item_list ": {" items ": [{" name ":" T-Shirt Black Small ", "valuta": "GBP", "quantità": "1", "sku": "abc123", "prezzo": "8.33"}], "indirizzo_spedizione": {"nome_contenitore": "Jim Smith", " line1 ":" 123 Test Street "," line2 ":" "," city ":" Test Città "," stato ":" Qualche stato "," codice postale ":" XXXX XXX "," codice_codice ":" GB "}}," description ":" pagamento dettagli", "INVOICE_NUMBER": "XXXXX"}]}

Questo stava funzionando benissimo fino a poco tempo, ma ora non restituisce nulla per la relativa Resour ces. ecco la JSON sto ottenendo indietro:

{ "id": "PAY-XXXXXXXXXXXXXXXXXXXXXX", "create_time": "2016-06-20T11: 45: 28Z", "UPDATE_TIME": "2016-06- 20T11: 45: 28Z", "stato": "creata", "intenzione": "vendita", "pagatore": { "PAYMENT_METHOD": "CREDIT_CARD", "funding_instruments": [{ "CREDIT_CARD": { "type" : "visto", "numero": "xxxxxxxxxxxx4487", "expire_month": "6", "expire_year": "2020", "first_name": "Jim", "cognome": "Smith", "billing_address": { "riga1": "123 Test Street", "città": "Città di prova", "codice postale": "XXXX XXX", "codice_giugno": "GB"}}}]}, "transazioni": [{" quantità ": {" totale ":" 13,50" , "valuta": "GBP", "dettagli": { "subtotale": "8.33", "tassa": "1.67", "spedizione": "3.50"}} , "descrizione": "Pagamento dettagli", "item_list": {"articoli": [{"nome": "T-Shirt Black Sm all "," sku ":" abc123 "," prezzo ":" 8.33 "," valuta ":" GBP "," quantità ":" 1 "}]," indirizzo_spedizione ": {" nome_destinatario ":" Jim Smith "," riga1 ":" 123 Test Street "," città ":" Città di prova "," stato ":" Alcuni Stato "," codice postale ":" XXXX XXX "," codice_giugno ":" GB "}} , "related_resources": []}], "link": [{ "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-XXXXXXXXXXXXXXXXXXXXXX", "rel": "auto", "metodo": "GET"}]}

Si prega di notare Sto usando la versione 1.7.2 dell'API e ho recentemente aggiornato alla versione 7. 7.

Apprezzerei se qualcuno potesse spiegare cosa sto facendo male.

Grazie

+0

È necessario aprire anche i log degli errori e specificare le impostazioni della propria integrazione, ad es. endpoint impostato su sandbox o live? cosa c'è nella risposta della tua chiamata PAY api .. –

+0

@pp_pduan Ho aggiornato la domanda affermando che sto utilizzando la sandbox e la risposta JSON che sto ricevendo. Come puoi vedere related_resources è vuoto. Spero che aiuti. – nfplee

+0

versione 1.7.2 ??? Esiste un numero di versione di questo tipo ?, la versione corrente è 204 – SML

risposta

0

mi sono finalmente riusciti ad ottenere questo lavoro, anche se da non per colpa mia. Sembra che il mio account dell'acquirente sandbox non funzioni più. Ho trovato il seguente documento:

https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/payments/CreatePayment.php

Questo ha funzionato bene così ho giocato una bella partita di individuare la diversa e l'unica cosa che ha contribuito a risolvere il problema è stato utilizzando i dati della carta nel loro campione.Ho già trascorso un po 'di tempo su questo problema, quindi accetterò che funzioni bene e spero di non incorrere in problemi durante la produzione.

Problemi correlati