2013-10-22 18 views
6

Sto seguendo il riferimento API REST di PayPal al numero https://developer.paypal.com/webapps/developer/docs/api/ per creare ed eseguire pagamenti.API REST PayPal non accetta l'indirizzo di spedizione personalizzato

Per creare un pagamento, invio i seguenti dati a PayPal. I dati contengono "shipping_address". Il pagamento è stato creato con successo.

{ 
"intent": "sale", 
"payer": { 
    "payment_method": "paypal" 
}, 
"redirect_urls": { 
    "return_url": "http://www.somethingabc.com/approve", 
    "cancel_url": "http://www.somethingabc.com/cancel" 
}, 
"transactions": [{ 
    "amount": { 
     "currency": "USD", 
     "total": "10.00", 
     "details": { 
      "shipping": "0.00", 
      "subtotal": "10.00", 
      "tax": "0.00" 
     } 
    }, 
    "item_list": { 
     "items": [{ 
      "quantity": "1", 
      "name": "Apples", 
      "price": "10.00", 
      "currency": "USD" 
     }], 
     "shipping_address": { 
      "recipient_name": "John", 
      "type": "residential", 
      "line1": "441 Waterdale RD", 
      "city": "Heidelberg West", 
      "country_code": "AU", 
      "postal_code": "3081", 
      "state": "VICTORIA" 
     } 
    } 
}] 

}

Poi, ho reindirizzare il browser Web al approval_url (ad esempio, https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-343434SADSDSAD34) data nella risposta di PayPal per l'utente di accedere e approvare il pagamento. Vengono visualizzati gli accessi utente e una pagina web di revisione PayPal. Mi aspetto che questa pagina di recensione mostri l'indirizzo di spedizione personalizzato che ho fornito in precedenza al momento della creazione del pagamento. Tuttavia, la pagina web di revisione di PayPal mostra invece l'indirizzo del proprietario di PayPal.

Quindi, la mia domanda è come forzare la pagina web di revisione di PayPal per mostrare l'indirizzo di spedizione personalizzato invece dell'indirizzo del proprietario di PayPal? Se questo non può essere fatto, come posso ottenere l'indirizzo di spedizione che l'utente ha selezionato sulla pagina web di recensione di PayPal (quando chiamo l'API per eseguire il pagamento, l'indirizzo di spedizione selezionato non è incluso nell'oggetto payer_info!) .

Grazie.

+0

Ho testato il codice e in effetti sovrascrive e forza l'indirizzo di spedizione predefinito. Tuttavia, non sono sicuro che questo sia limitato agli indirizzi degli Stati Uniti, poiché ho dovuto cambiarlo in un indirizzo statunitense poiché le credenziali di test sono Stati Uniti e non mi permetteranno di spedire ad AU. – Aaron

risposta

0

Dopo aver testato il codice, non riesco a trovare alcun errore. La risposta che ottengo quando il completamento del pagamento:

{ 
    "id": "PAY-xxxxxxx", 
    "create_time": "2014-05-01T23:54:00Z", 
    "update_time": "2014-05-01T23:59:35Z", 
    "state": "approved", 
    "intent": "sale", 
    "payer": { 
    "payment_method": "paypal", 
    "payer_info": { 
     "email": "[email protected]", 
     "first_name": "John", 
     "last_name": "Smith", 
     "payer_id": "GPV2878GCMNGE", 
     "shipping_address": { 
     "line1": "441 Waterdale RD", 
     "city": "Heidelberg West", 
     "state": "Victoria", 
     "postal_code": "3081", 
     "country_code": "AU" 
     } 
    } 
    }, 
    "transactions": [ 
    { 
     "amount": { 
     "total": "10.00", 
     "currency": "USD", 
     "details": { 
      "subtotal": "10.00" 
     } 
     }, 
     "item_list": { 
     "items": [ 
      { 
      "name": "Apples", 
      "price": "10.00", 
      "currency": "USD", 
      "quantity": "1" 
      } 
     ], 
     "shipping_address": { 
      "recipient_name": "John", 
      "line1": "441 Waterdale RD", 
      "city": "Heidelberg West", 
      "state": "VICTORIA", 
      "postal_code": "3081", 
      "country_code": "AU" 
     } 
     }, 
     ..... 
} 

Se non si è visto questo vorrei raggiungere Paypal's Technical Support e file una risoluzione dei problemi. Poiché questa è la risposta che dovresti ottenere.

0

Sarà necessario creare un profilo esperienza con l'opzione address_override impostata su 1. Il cliente non sarà quindi in grado di modificare l'indirizzo di spedizione passato a PayPal.

Si dovrebbe includere l'esperienza_profilo_id nella richiesta JSON all'avvio della vendita.

Problemi correlati