diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json
index 5e13626..1ba9221 100644
--- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json
@@ -130,54 +130,6 @@
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "payment_gateway_settings", 
-   "fieldtype": "Section Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Payment Gateway Settings", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "message", 
-   "fieldtype": "Text Editor", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Payment Request Message", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
   }
  ], 
  "hide_heading": 0, 
@@ -190,7 +142,7 @@
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2015-12-24 17:31:52.014492", 
+ "modified": "2015-12-24 21:42:01.274459", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Accounts Settings", 
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index f82a68f..5d1c3f2 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -508,7 +508,7 @@
 			d.party_balance = party_balance[(d.party_type, d.party)]
 
 @frappe.whitelist()
-def get_default_bank_cash_account(company, voucher_type, mode_of_payment=None):
+def get_default_bank_cash_account(company, voucher_type, mode_of_payment=None, account=None):
 	from erpnext.accounts.doctype.sales_invoice.sales_invoice import get_bank_cash_account
 	if mode_of_payment:
 		account = get_bank_cash_account(mode_of_payment, company)
@@ -516,16 +516,18 @@
 			account.update({"balance": get_balance_on(account.get("account"))})
 			return account
 
-	if voucher_type=="Bank Entry":
-		account = frappe.db.get_value("Company", company, "default_bank_account")
-		if not account:
-			account = frappe.db.get_value("Account",
-				{"company": company, "account_type": "Bank", "is_group": 0})
-	elif voucher_type=="Cash Entry":
-		account = frappe.db.get_value("Company", company, "default_cash_account")
-		if not account:
-			account = frappe.db.get_value("Account",
-				{"company": company, "account_type": "Cash", "is_group": 0})
+	if not account:
+		if voucher_type=="Bank Entry":
+			account = frappe.db.get_value("Company", company, "default_bank_account")
+			if not account:
+				account = frappe.db.get_value("Account",
+					{"company": company, "account_type": "Bank", "is_group": 0})
+				
+		elif voucher_type=="Cash Entry":
+			account = frappe.db.get_value("Company", company, "default_cash_account")
+			if not account:
+				account = frappe.db.get_value("Account",
+					{"company": company, "account_type": "Cash", "is_group": 0})
 
 	if account:
 		account_details = frappe.db.get_value("Account", account,
@@ -640,7 +642,8 @@
 
 	bank_row = jv.append("accounts")
 	
-	bank_account = args.get("bank_account", get_default_bank_cash_account(ref_doc.company, "Bank Entry"))
+	#make it bank_details
+	bank_account = get_default_bank_cash_account(ref_doc.company, "Bank Entry", account=args.get("bank_account"))
 	if bank_account:
 		bank_row.update(bank_account)
 		bank_row.exchange_rate = get_exchange_rate(bank_account["account"],
diff --git a/erpnext/accounts/doctype/payment_gateway/payment_gateway.json b/erpnext/accounts/doctype/payment_gateway/payment_gateway.json
index d2d8a78..9b48066 100644
--- a/erpnext/accounts/doctype/payment_gateway/payment_gateway.json
+++ b/erpnext/accounts/doctype/payment_gateway/payment_gateway.json
@@ -43,7 +43,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2015-12-23 22:32:32.690126", 
+ "modified": "2015-12-29 12:04:17.371619", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Payment Gateway", 
@@ -69,6 +69,46 @@
    "share": 1, 
    "submit": 0, 
    "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 0, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 0, 
+   "read": 1, 
+   "report": 0, 
+   "role": "System Manager", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
+   "write": 0
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 0, 
+   "export": 0, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 0, 
+   "read": 1, 
+   "report": 0, 
+   "role": "Accounts Manager", 
+   "set_user_permissions": 0, 
+   "share": 0, 
+   "submit": 0, 
+   "write": 0
   }
  ], 
  "read_only": 0, 
diff --git a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json
index e52225a..96b3fcc 100644
--- a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json
+++ b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account.json
@@ -12,6 +12,30 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
+   "fieldname": "gateway_acount_details", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Gateway Acount Details", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
    "fieldname": "is_default", 
    "fieldtype": "Check", 
    "hidden": 0, 
@@ -106,6 +130,102 @@
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "payment_request_message", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Payment Request Message", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "message", 
+   "fieldtype": "Text Editor", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "reminder_settings", 
+   "fieldtype": "Section Break", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Reminder Settings", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "description": "In Days", 
+   "fieldname": "reminder_after", 
+   "fieldtype": "Int", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "Reminder After", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
   }
  ], 
  "hide_heading": 0, 
@@ -117,7 +237,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2015-12-24 17:02:34.520800", 
+ "modified": "2015-12-24 21:41:05.123141", 
  "modified_by": "Administrator", 
  "module": "Accounts", 
  "name": "Payment Gateway Account", 
diff --git a/erpnext/accounts/doctype/payment_request/payment_request.js b/erpnext/accounts/doctype/payment_request/payment_request.js
index c8863ec..5d11fb5 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.js
+++ b/erpnext/accounts/doctype/payment_request/payment_request.js
@@ -1,5 +1,6 @@
 cur_frm.add_fetch("payment_gateway", "payment_account", "payment_account")
 cur_frm.add_fetch("payment_gateway", "gateway", "gateway")
+cur_frm.add_fetch("payment_gateway", "message", "message")
 
 frappe.ui.form.on("Payment Request", "onload", function(frm, dt, dn){
 	frappe.call({
diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py
index 97b0081..6fa3afd 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.py
+++ b/erpnext/accounts/doctype/payment_request/payment_request.py
@@ -5,7 +5,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
-from frappe.utils import flt, today
+from frappe.utils import flt, nowdate, get_url
 from frappe import _
 from erpnext.accounts.doctype.journal_entry.journal_entry import (get_payment_entry_against_invoice, 
 get_payment_entry_against_order)
@@ -15,12 +15,18 @@
 
 class PaymentRequest(Document):		
 	def validate(self):
-		self.validate_payment_request()	
-		
+		self.validate_payment_request()
+		self.validate_currency()
+
 	def validate_payment_request(self):
 		if frappe.db.get_value("Payment Request", {"reference_name": self.reference_name, 
 			"name": ("!=", self.name), "status": ("not in", ["Initiated", "Paid"]), "docstatus": 1}, "name"):
 			frappe.throw(_("Payment Request already exist"))
+	
+	def validate_currency(self):
+		ref_doc = frappe.get_doc(self.reference_doctype, self.reference_name)
+		if ref_doc.currency != frappe.db.get_value("Account", self.payment_account, "account_currency"):
+			frappe.throw(_("Transaction currency is not simillar to Gateway Currency"))
 		
 	def on_submit(self):
 		if not self.mute_email:
@@ -39,10 +45,7 @@
 		pass
 	
 	def send_payment_request(self):
-		if self.gateway == "PayPal":
-			from paypal_integration.express_checkout import set_express_checkout
-			self.payment_url = set_express_checkout(self.amount, self.currency, {"doctype": self.doctype, 
-				"docname": self.name})
+		self.payment_url = get_url("/api/method/erpnext.accounts.doctype.payment_request.payment_request.gererate_payemnt_request?name={0}".format(self.name))
 		
 		if self.payment_url:
 			frappe.db.set_value(self.doctype, self.name, "status", "Initiated")
@@ -57,17 +60,8 @@
 		"""create entry"""
 		payment_details = {
 			"amount": self.amount,
-			"return_obj": True
-		}
-		
-		account_details = frappe.db.get_value("Account", self.payment_account,
-					["account_currency", "account_type"], as_dict=1)
-		
-		payment_details["bank_account"] = {
-			"account": self.payment_account,
-			"balance": get_balance_on(self.payment_account),
-			"account_currency": account_details.account_currency,
-			"account_type": account_details.account_type
+			"return_obj": True,
+			"bank_account": self.payment_account
 		}
 				
 		if self.reference_doctype == "Sales Order":
@@ -78,7 +72,7 @@
 			
 		jv.update({
 			"voucher_type": "Journal Entry",
-			"posting_date": today()
+			"posting_date": nowdate()
 		})		
 
 		jv.submit()
@@ -121,7 +115,7 @@
 	"""Make payment request"""
 	args = frappe._dict(args)
 	ref_doc = get_reference_doc_details(args.dt, args.dn)
-	name, gateway, payment_account = get_gateway_details(args)
+	name, gateway, payment_account, message = get_gateway_details(args)
 	
 	pr = frappe.new_doc("Payment Request")
 	pr.update({
@@ -133,7 +127,7 @@
 		"mute_email": args.mute_email or 0,
 		"email_to": args.recipient_id or "",
 		"subject": "Payment Request for %s"%args.dn,
-		"message": frappe.get_doc("Accounts Settings").message,
+		"message": message,
 		"reference_doctype": args.dt,
 		"reference_name": args.dn
 	})
@@ -171,9 +165,11 @@
 def get_gateway_details(args):
 	"""return gateway and payment account of default payment gateway"""
 	if args.payemnt_gateway:
-		return frappe.db.get_value("Payment Gateway Account", args.payemnt_gateway, ["name", "gateway", "payment_account"])
+		return frappe.db.get_value("Payment Gateway Account", args.payemnt_gateway, 
+			["name", "gateway", "payment_account", "message"])
 		
-	return frappe.db.get_value("Payment Gateway Account", {"is_default": 1}, ["name", "gateway", "payment_account"])
+	return frappe.db.get_value("Payment Gateway Account", {"is_default": 1}, 
+		["name", "gateway", "payment_account", "message"])
 
 @frappe.whitelist()
 def get_print_format_list(ref_doctype):
@@ -185,4 +181,14 @@
 	return {
 		"print_format": print_format_list
 	}
-	
\ No newline at end of file
+	
+@frappe.whitelist(allow_guest=True)
+def gererate_payemnt_request(name):
+	doc = frappe.get_doc("Payment Request", name)
+	if doc.gateway == "PayPal":
+		from paypal_integration.express_checkout import set_express_checkout
+		payment_url = set_express_checkout(doc.amount, doc.currency, {"doctype": doc.doctype,
+			"docname": doc.name})
+	
+	frappe.local.response["type"] = "redirect"
+	frappe.local.response["location"] = payment_url
diff --git a/erpnext/config/accounts.py b/erpnext/config/accounts.py
index d80449d..859764d 100644
--- a/erpnext/config/accounts.py
+++ b/erpnext/config/accounts.py
@@ -90,7 +90,7 @@
 				},
 				{
 					"type": "doctype",
-					"name": "Payment Gateway",
+					"name": "Payment Gateway Account",
 					"description": _("Setup Gateway accounts.")
 				},
 				{
