2017-06-05 11 views

Antwort

1

Ich habe Änderungen in der Datei lib/paypal-express-checkout.js in meinen lokalen Knotenmoduldateien vorgenommen.

Ich habe hinzugefügt params.PAYMENTREQUEST_0_SHIPPINGAMT die in der Funktion für Versandkosten fehlte.

Paypal.prototype.setExpressCheckoutPayment = function(email, invoiceNumber, amount, totalShipCost, description, currency, returnUrl, cancelUrl, onlyPayPalUsers, callback) { 
    var self = this; 
    var params = self.params(); 
    if (email) { 
     params.EMAIL = email; 
    } 

    params.SOLUTIONTYPE = onlyPayPalUsers === true ? 'Mark' : 'Sole'; 
    params.PAYMENTREQUEST_0_AMT = prepareNumber(amount + totalShipCost); // ***add ship cost here 
    params.PAYMENTREQUEST_0_DESC = description; 
    params.PAYMENTREQUEST_0_CURRENCYCODE = currency; 
    params.PAYMENTREQUEST_0_INVNUM = invoiceNumber; 
    params.PAYMENTREQUEST_0_CUSTOM = invoiceNumber + '|' + params.PAYMENTREQUEST_0_AMT + '|' + currency; 
    params.PAYMENTREQUEST_0_PAYMENTACTION = 'Sale'; 
    params.PAYMENTREQUEST_0_ITEMAMT = prepareNumber(amount); 
    params.PAYMENTREQUEST_0_SHIPPINGAMT = prepareNumber(totalShipCost); // ***add variable for ship cost 
    params = _.extend(params, this.getItemsParams()); 

    params.RETURNURL = returnUrl; 
    params.CANCELURL = cancelUrl; 

    params.NOSHIPPING = 0; 
    params.ALLOWNOTE = 1; 
    params.REQCONFIRMSHIPPING = 1; 
    params.METHOD = 'SetExpressCheckout'; 

    params = _.extend(params, this.payOptions); 

    self.request(self.url, 'POST', params, function(err, data) { 
     if (err) { 
      callback(err); 
      return; 
     } 

     if (data.ACK === 'Success') { 
      callback(null, { 
       redirectUrl: self.redirect + '?cmd=_express-checkout&useraction=commit&token=' + data.TOKEN, 
       token: data.TOKEN 
      }); 
      return; 
     } 

     callback(new Error('ACK ' + data.ACK + ': ' + data.L_LONGMESSAGE0)); 
    }); 

    return self; 
}; 

Und ich habe Versandkosten geführt, während setExpressCheckoutPayment Funktion von api Aufruf, und die festen mein Problem Versandkosten auf paypal Kasse Seite zu zeigen.

Weitere Informationen finden Sie unter https://github.com/totaljs/node-paypal-express-checkout/issues/24 . Glückliche Kodierung.

Verwandte Themen