Paypal SetExpressCheckout Jabón
cuando intento establecer ExpressCheckout, obtengo ack = success pero no token return.
la versión de paypal api es 87.0 Aquí el enlace wsdl:https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl
aquí para mandar que uso en axis2-1.6.1 para generar código java
<code>-uri https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsd -p com.paypal.soap </code>
Aquí el enlace al código java que generó usando axis2.https://docs.google.com/open?id=0B97cB4uxjmztbGgxRER6VjBWcWc
Aquí el código para SetExpressCheckout
<code> PaymentDetailsType paymentDetails = new PaymentDetailsType(); BasicAmountType orderTotal = new BasicAmountType(); orderTotal.setCurrencyID(CurrencyCodeType.USD); orderTotal.setString("10.00"); paymentDetails.setOrderTotal(orderTotal); paymentDetails.setPaymentAction(PaymentActionCodeType.Sale); SetExpressCheckoutRequestDetailsType requestDetailsType = new SetExpressCheckoutRequestDetailsType(); requestDetailsType.setCancelURL(buyer.getCancelUrl()); requestDetailsType.setReturnURL(buyer.getReturnUrl()); requestDetailsType.setPaymentDetails(new PaymentDetailsType[]{paymentDetails}); SetExpressCheckoutRequestType requestType = new SetExpressCheckoutRequestType(); requestType.setVersion("87.0"); requestType.setSetExpressCheckoutRequestDetails(requestDetailsType); SetExpressCheckoutReq req = new SetExpressCheckoutReq(); req.setSetExpressCheckoutRequest(requestType); RequesterCredentials requesterCredentials = new RequesterCredentials(); CustomSecurityHeaderType customSecurityHeaderType = new CustomSecurityHeaderType(); UserIdPasswordType userIdPasswordType = new UserIdPasswordType(); userIdPasswordType.setUsername("<username>"); userIdPasswordType.setPassword("<pass>"); userIdPasswordType.setSignature("<signature>"); customSecurityHeaderType.setCredentials(userIdPasswordType); requesterCredentials.setRequesterCredentials(customSecurityHeaderType); String endPoint = null; endPoint = "https://api-3t.sandbox.paypal.com/2.0/"; //sandbox API Signature PayPalAPIInterfaceServiceStub stub = new PayPalAPIInterfaceServiceStub(endPoint); stub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, false); SetExpressCheckoutResponse setExpressCheckout = stub.setExpressCheckout(req, requesterCredentials); SetExpressCheckoutResponseType checkoutResponse = setExpressCheckout.getSetExpressCheckoutResponse(); Calendar timestamp = checkoutResponse.getTimestamp(); String strdate = null; SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); if (timestamp != null) { strdate = sdf.format(timestamp.getTime()); } System.out.println("Date:" + strdate); System.out.println("CorrelationID:" + checkoutResponse.getCorrelationID()); System.out.println("ack :" + checkoutResponse.getAck()); if (checkoutResponse.getErrors() != null && checkoutResponse.getErrors().length > 0) { PayPalAPIInterfaceServiceStub.ErrorType[] errors = checkoutResponse.getErrors(); for (int i = 0; i < errors.length; i++) { System.out.println(errors[i].getErrorCode()); System.out.println(errors[i].getLongMessage()); } } System.out.println("token:" + checkoutResponse.getToken()); </code>
aquí el resultado que obtengo
<code>Date:17/04/2012 12:33:38 CorrelationID:a7c9fe7283bd ack :Success token:null </code>
¿Cómo obtengo éxito, pero el token es nulo? la persona de contacto de paypal dijo que ya se ha generado un token EC para CorrelationID: a7c9fe7283bd.
gracias por adelantado.