diff --git a/lib/pagseguro.js b/lib/pagseguro.js index af2ab97..75971be 100644 --- a/lib/pagseguro.js +++ b/lib/pagseguro.js @@ -34,7 +34,7 @@ }; pagseguro.prototype.addItem = function(item) { - if (this.mode === 'subscription') { + if (this.mode === 'subscription' || this.mode === 'sandbox-subscription') { throw new Error("This function is for payment mode only!"); } if (this.obj.items == null) { @@ -55,7 +55,7 @@ number: buyer.phoneNumber } }; - if (this.mode === 'subscription') { + if (this.mode === 'subscription' || this.mode === 'sandbox-subscription') { this.obj.sender.address = {}; if (buyer.street != null) { this.obj.sender.address.street = buyer.street; @@ -125,13 +125,33 @@ if (shippingInfo.district != null) { this.obj.sender.address.district = shippingInfo.district; } + break; + case 'sandbox-subscription': + if (this.obj.sender == null) { + this.obj.sender = {}; + } + this.obj.sender.address = { + street: shippingInfo.street, + number: shippingInfo.number, + postalCode: shippingInfo.postalCode, + city: shippingInfo.city, + state: shippingInfo.state, + country: shippingInfo.country + }; + if (shippingInfo.complement != null) { + this.obj.sender.address.complement = shippingInfo.complement; + } + if (shippingInfo.district != null) { + this.obj.sender.address.district = shippingInfo.district; + } + break; } return this; }; pagseguro.prototype.preApproval = function(preApprovalInfo) { var maxTotalAmount, twoYearsFromNow; - if (this.mode === 'subscription') { + if (this.mode === 'subscription' || this.mode === 'sandbox-subscription') { twoYearsFromNow = new Date(); twoYearsFromNow.setFullYear(twoYearsFromNow.getFullYear() + 2); maxTotalAmount = preApprovalInfo.maxTotalAmount * 1 || preApprovalInfo.amountPerPayment * 24 || preApprovalInfo.maxAmountPerPayment * 24; @@ -215,6 +235,12 @@ preApprovalRequest: this.obj }); break; + case 'sandbox-subscription': + options.uri = "https://ws.sandbox.uol.com.br/v2/pre-approvals/request?email=" + this.email + "&token=" + this.token; + options.body = this.xml + xml.toXML({ + preApprovalRequest: this.obj + }); + break; case 'sandbox': options.uri = "https://ws.sandbox.pagseguro.uol.com.br/v2/checkout?email=" + this.email + "&token=" + this.token; options.body = this.xml + xml.toXML({