Paypal SetExpressCheckout Seife
Wenn ich versuche, ExpressCheckout zu setzen, erhalte ich ack = success, aber keinen Token return.
die version von paypal api ist 87.0 hier der wsdl link:https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl
hier zum befehl verwende ich in axis2-1.6.1 um java code zu generieren
<code>-uri https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsd -p com.paypal.soap </code>
Hier der Link zum Java-Code, der mit axis2 generiert wurdehttps://docs.google.com/open?id=0B97cB4uxjmztbGgxRER6VjBWcWc
hier der Code für 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>
Hier das Ergebnis, das ich bekomme
<code>Date:17/04/2012 12:33:38 CorrelationID:a7c9fe7283bd ack :Success token:null </code>
Wie bekomme ich Erfolg, aber Token ist null? Die Kontaktperson für Paypal sagte, dass für CorrelationID bereits ein EC-Token generiert wurde: a7c9fe7283bd.
Danke im Voraus.