diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py
index 570d8e7..83c947d 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.py
+++ b/erpnext/accounts/doctype/payment_request/payment_request.py
@@ -12,6 +12,7 @@
 from erpnext.accounts.utils import get_account_currency, get_balance_on
 from itertools import chain
 from paypal_integration.express_checkout import set_express_checkout
+
 class PaymentRequest(Document):		
 	def validate(self):
 		self.validate_payment_request()	
@@ -37,7 +38,7 @@
 	
 	def send_payment_request(self):
 		if self.payment_gateway == "PayPal":	
-			self.payment_url = set_express_checkout(self.amount, "USD", {"doctype": self.doctype, 
+			self.payment_url = set_express_checkout(self.amount, self.currency, {"doctype": self.doctype, 
 				"docname": self.name})
 		
 		if self.payment_url:
@@ -58,6 +59,7 @@
 			"amount": self.amount,
 			"return_obj": True
 		}
+		
 		ref_doc = frappe.get_doc(self.reference_doctype, self.reference_name) 
 		
 		if self.reference_doctype == "Sales Order":
@@ -86,14 +88,15 @@
 			"account_type": account_details.account_type
 		}
 		
+		#create voucher entry
 		jv =  get_payment_entry(ref_doc, payment_details)
-		
 		jv.update({
 			"voucher_type": "Journal Entry",
 			"posting_date": today()
 		})
 		jv.submit()
 		
+		#set status as paid for Payment Request
 		frappe.db.set_value(self.doctype, self.name, "status", "Paid")
 		
 	def send_email(self):
@@ -152,7 +155,13 @@
 def get_amount(ref_doc, dt):
 	"""get amount based on doctype"""
 	if dt == "Sales Order":
-		amount = flt(ref_doc.grand_total) - flt(ref_doc.advance_paid)
+		party_account = get_party_account("Customer", ref_doc.get('customer'), ref_doc.company)
+		party_account_currency = get_account_currency(party_account)
+		
+		if party_account_currency == ref_doc.company_currency:
+			amount = flt(ref_doc.base_grand_total) - flt(ref_doc.advance_paid)
+		else:
+			amount = flt(ref_doc.grand_total) - flt(ref_doc.advance_paid)
 	
 	if dt == "Sales Invoice":
 		amount = abs(ref_doc.outstanding_amount)
