Commit a0efbbb9 by yasir

InsyaAllah selesai

1 parent 6203408b
...@@ -89,6 +89,7 @@ test-postpaid-inquiry,/api/test/postpaid/inquiry,API TEST INQUIRY POSTPAUD,1,0 ...@@ -89,6 +89,7 @@ test-postpaid-inquiry,/api/test/postpaid/inquiry,API TEST INQUIRY POSTPAUD,1,0
api-vsi,/api/vsi,'API VSI,1,0 api-vsi,/api/vsi,'API VSI,1,0
pay-form,/pay/{pay_token},Metode Pembayaran,1,0 pay-form,/pay/{pay_token},Metode Pembayaran,1,0
pay-info,/pay_info/{pay_token}/{meth},Informasi Pembayaran,1,0 pay-info,/pay_info/{pay_token}/{state}/,Informasi Pembayaran,1,0
pay-request,/pay_request,Pembayaran,1,0 pay-request,/pay_request,Pembayaran,1,0
pay-request-resp,/pay_request_resp,Respon Request Pembayaran,1,0 pay-request-resp,/pay_request_resp,Respon Request Pembayaran,1,0
tangkap-response,/tangkap_response,tes_dong,1,0
\ No newline at end of file \ No newline at end of file
...@@ -9,15 +9,32 @@ from ..pay_request_tools import methods, vacs, cvss, loans, cps, ems, get_str_ha ...@@ -9,15 +9,32 @@ from ..pay_request_tools import methods, vacs, cvss, loans, cps, ems, get_str_ha
class view_pay(BaseView): class view_pay(BaseView):
@view_config(route_name = 'pay-info', renderer = 'templates/pay_info.pt')#permission = 'pay-form', @view_config(route_name = 'pay-info', renderer = 'templates/pay_info.pt')#permission = 'pay-form',
@view_config(route_name = 'pay-info', renderer = 'templates/pay_info_fail.pt', request_param='adt=fail')#permission = 'pay-form',
def the_form(self): def the_form(self):
request = self.req request = self.req
session = self.ses session = self.ses
url_dict = request.matchdict url_dict = request.matchdict
meth = url_dict['meth'] state = url_dict['state']
amount = 0,
dt_tm_str = '',
img_src = '',
meth_str = '',
subject = '',
content = '',
response_url = ''
# bringback_url = bringback_url
if state == '0':
pay_token = url_dict['pay_token'] pay_token = url_dict['pay_token']
row_pay = PartnerPay.query().filter(PartnerPay.token_pay_req == pay_token).first() row_pay = PartnerPay.query().filter(PartnerPay.token_pay_req == pay_token).first()
meth = row_pay.pay_req_mth
if meth == 'VA': if meth == 'VA':
subject = 'No. Virtual Account' subject = 'No. Virtual Account'
...@@ -43,7 +60,7 @@ class view_pay(BaseView): ...@@ -43,7 +60,7 @@ class view_pay(BaseView):
meth = row_pay.pay_req_mth meth = row_pay.pay_req_mth
meth_str = dict(methods)[meth] + ', ' + dict(vacs)[denom_str] meth_str = dict(methods)[meth] + ', ' + dict(vacs)[denom_str]
bringback_url = row_pay.bringback_url response_url = row_pay.response_url
elif meth == 'CC': elif meth == 'CC':
...@@ -63,6 +80,7 @@ class view_pay(BaseView): ...@@ -63,6 +80,7 @@ class view_pay(BaseView):
return dict( return dict(
state = state,
amount = amount, amount = amount,
dt_tm_str = dt_tm_str, dt_tm_str = dt_tm_str,
...@@ -73,5 +91,5 @@ class view_pay(BaseView): ...@@ -73,5 +91,5 @@ class view_pay(BaseView):
subject = subject, subject = subject,
content = content, content = content,
bringback_url = bringback_url response_url = response_url
) )
\ No newline at end of file \ No newline at end of file
...@@ -67,6 +67,7 @@ class ParamsSchema(colander.Schema): ...@@ -67,6 +67,7 @@ class ParamsSchema(colander.Schema):
currency = colander.SchemaNode(colander.String(), title = "Mata Uang ", widget=widget.HiddenWidget(readonly=True)) currency = colander.SchemaNode(colander.String(), title = "Mata Uang ", widget=widget.HiddenWidget(readonly=True))
amount = colander.SchemaNode(colander.String(), title = "Total Bayar") amount = colander.SchemaNode(colander.String(), title = "Total Bayar")
invoice_no = colander.SchemaNode(colander.String(), title = "Nomor Invoice") invoice_no = colander.SchemaNode(colander.String(), title = "Nomor Invoice")
response_url = colander.SchemaNode(colander.String(), title = "Response URL")
description = colander.SchemaNode(colander.String(), title = "Deskripsi Transaksi", missing=colander.drop) description = colander.SchemaNode(colander.String(), title = "Deskripsi Transaksi", missing=colander.drop)
fee = colander.SchemaNode(colander.Integer(), title = "Fee") fee = colander.SchemaNode(colander.Integer(), title = "Fee")
vat = colander.SchemaNode(colander.Integer(), title = "VAT") vat = colander.SchemaNode(colander.Integer(), title = "VAT")
...@@ -114,6 +115,8 @@ class ItemsSchema(colander.Schema): ...@@ -114,6 +115,8 @@ class ItemsSchema(colander.Schema):
goods_name = colander.SchemaNode(colander.String(), title = "Nama Produk") goods_name = colander.SchemaNode(colander.String(), title = "Nama Produk")
goods_detail = colander.SchemaNode(colander.String(), title = "Detail") goods_detail = colander.SchemaNode(colander.String(), title = "Detail")
goods_amt = colander.SchemaNode(colander.String(), title = "Harga") goods_amt = colander.SchemaNode(colander.String(), title = "Harga")
qty = colander.SchemaNode(colander.String(), title = "Qty")
subtotal = colander.SchemaNode(colander.String(), title = "Subtotal")
class CartSchema(colander.Schema): class CartSchema(colander.Schema):
count = colander.SchemaNode(colander.String(), title = "Jumlah", oid="count") count = colander.SchemaNode(colander.String(), title = "Jumlah", oid="count")
...@@ -192,6 +195,8 @@ class view_pay(BaseView): ...@@ -192,6 +195,8 @@ class view_pay(BaseView):
goods_name = items[key], goods_name = items[key],
goods_detail = items['goods_detail-' + uniq], goods_detail = items['goods_detail-' + uniq],
goods_amt = items['goods_amt-' + uniq], goods_amt = items['goods_amt-' + uniq],
qty = items['qty-' + uniq],
subtotal = items['subtotal-' + uniq]
) )
produks.append(produk) produks.append(produk)
...@@ -227,6 +232,7 @@ class view_pay(BaseView): ...@@ -227,6 +232,7 @@ class view_pay(BaseView):
"method": "pay_request", "method": "pay_request",
"params": { "params": {
"data": { "data": {
"response_url": items['response_url'],
"time_stamp": time_stamp, "time_stamp": time_stamp,
"currency": "IDR", "currency": "IDR",
"amount": items['amount'], "amount": items['amount'],
......
...@@ -20,9 +20,6 @@ log = logging.getLogger(__name__) ...@@ -20,9 +20,6 @@ log = logging.getLogger(__name__)
def encode_form_to_json(form_request_data, parsed_produks): def encode_form_to_json(form_request_data, parsed_produks):
decoded_dict = {} decoded_dict = {}
print('isi form_request_data dalam encode_to_json >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
print(form_request_data)
customer_req = {} customer_req = {}
deliver_to = {} deliver_to = {}
server = {} server = {}
...@@ -75,14 +72,14 @@ def added_register_values(current_register_values, dat): ...@@ -75,14 +72,14 @@ def added_register_values(current_register_values, dat):
added_dict['biller_state'] = dat['biller']['state'] added_dict['biller_state'] = dat['biller']['state']
added_dict['biller_post_code'] = dat['biller']['post_code'] added_dict['biller_post_code'] = dat['biller']['post_code']
added_dict['biller_country'] = dat['biller']['country'] added_dict['biller_country'] = dat['biller']['country']
added_dict['bringback_url'] = dat['bringback_url'] added_dict['response_url'] = dat['response_url']
return added_dict return added_dict
@jsonrpc_method(method='pay_request', endpoint='api-merchant') @jsonrpc_method(method='pay_request', endpoint='api-merchant')
def pay_request(request, data, **kwargs): def pay_request(request, data, **kwargs):
# user = auth_from_rpc(request) user = auth_from_rpc(request)
user = DBSession.query(User).filter(User.id == 1).first() # user = DBSession.query(User).filter(User.id == 1).first()
i = 0 i = 0
print('masuk sini loh >>>>>>>>>>>>>>>>>>>>>>>>>>>') print('masuk sini loh >>>>>>>>>>>>>>>>>>>>>>>>>>>')
if not data: if not data:
...@@ -120,7 +117,7 @@ def pay_request(request, data, **kwargs): ...@@ -120,7 +117,7 @@ def pay_request(request, data, **kwargs):
r_data["status"] = "SUCCESS" r_data["status"] = "SUCCESS"
r_data["message"] = "Data tersimpan silahkan lanjutkan pembayaran" r_data["message"] = "Data tersimpan silahkan lanjutkan pembayaran"
r_data['code'] = 1 r_data['code'] = 0
r_data['pay_token'] = ar_invoice.token_pay_req r_data['pay_token'] = ar_invoice.token_pay_req
r_data['pay_url'] = request._host + '/pay/' + ar_invoice.token_pay_req r_data['pay_url'] = request._host + '/pay/' + ar_invoice.token_pay_req
......
from opensipkd.base.views import BaseView
from pyramid.view import view_config
class view_pay(BaseView):
@view_config(route_name = 'tangkap-response', renderer = 'json')#permission = 'pay-form',
def view(self):
request = self.req
session = self.ses
url_dict = request.matchdict
print('masuk masuk >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
print(request.json_body)
\ No newline at end of file \ No newline at end of file
...@@ -275,20 +275,12 @@ td, th { ...@@ -275,20 +275,12 @@ td, th {
</select> </select>
<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p> <p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>
</div> </div>
</div> </div>
</div> </div>
<div id="bt_box" class="col-md-12" style="text-align: right;"> <div id="bt_box" class="col-md-12" style="text-align: center;">
<button style="margin: 0px;" class="btn btn-success col-md-5 col-xs-5 col-sm-5 pull-left" type="submit" name="bayar" id="bt_bayar" >Bayar</button> <button style="margin: 0px; width: 100%;" class="btn btn-success" type="submit" name="bayar" id="bt_bayar" >Bayar</button>
<button style="margin: 0px;" class="btn btn-warning col-md-5 col-xs-5 col-sm-5 pull-right" type="submit" name="batal_bayar" id="bt_batal_bayar" >Batal</button>
</div> </div>
</form> </form>
<!-- End Template Form --> <!-- End Template Form -->
<!-- </div> --> <!-- </div> -->
......
...@@ -80,9 +80,6 @@ td, th { ...@@ -80,9 +80,6 @@ td, th {
<hr class="col-sm-12 col-md-12 col-xs-12" > <hr class="col-sm-12 col-md-12 col-xs-12" >
<label style="font-weight: normal;" class="col-md-12 col-xs-12 col-sm-12">${subject}</label> <label style="font-weight: normal;" class="col-md-12 col-xs-12 col-sm-12">${subject}</label>
<label style="font-weight: bolder;" class="col-md-12 col-xs-12 col-sm-12">${content}</label> <label style="font-weight: bolder;" class="col-md-12 col-xs-12 col-sm-12">${content}</label>
<div id="bt_box" class="col-md-12 col-xs-12 col-sm-12" style="padding: 0px; text-align: center; margin-bottom: 10px;">
<button id="btn_tutup" class="btn btn-warning" style="margin: 0px; width: 90%;" type="button">Tutup</button>
</div>
</div> </div>
</div> </div>
...@@ -102,9 +99,6 @@ td, th { ...@@ -102,9 +99,6 @@ td, th {
<script> <script>
$(document).ready(function() { $(document).ready(function() {
$('#btn_tutup').click(function(){
window.open('${bringback_url}', '_self');
})
}) })
</script> </script>
......
<html metal:use-macro="load: opensipkd.base:views/templates/base3-clean.pt">
<div metal:fill-slot="content">
<style>
button {
margin:0px 3px;
}
#main{min-height: 1px;
padding-bottom: 1px;}
hr {
display: block;
margin-top: 0px;
margin-bottom: 5px;
margin-left: auto;
margin-right: auto;
/*border-style: inset;*/
/*border-width: 0.2px;*/
}
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
.control-label{
text-align: left !important;
}
</style>
</div>
<div metal:fill-slot="scripts">
<div class="panel-body col-md-12">
<div class="col-md-6 col-md-offset-3 col-xs-12 well" style="padding: 0px;">
<!-- Proses Template Form -->
<div style="height: 300px; text-align: center;" class="col-xs-12 col-md-12 col-sm-12">
<label style="color: indianred; padding-top: 140px; display: block; font-weight: bold;">Terjadi Kesalahan Sistem, Gagal melakukan transaksi.</label>
<label style="color: indianred; padding-top: 5px; display: block; font-weight: bold;">Code : ${state}</label>
</div>
<!-- End Template Form -->
<!-- </div> -->
</div>
</div>
<script>
$(document).ready(function() {
})
</script>
</div>
</html>
...@@ -334,20 +334,12 @@ ...@@ -334,20 +334,12 @@
`<div class="col-md-12" id="pack-`+cnt+`">`+ `<div class="col-md-12" id="pack-`+cnt+`">`+
`<legend id="judul"></legend>`+ `<legend id="judul"></legend>`+
`<button type="button" onclick="removeItem('pack-`+cnt+`')">Hapus</button> `+ `<button type="button" onclick="removeItem('pack-`+cnt+`')">Hapus</button> `+
`<div tal:define="fieldItem formItemCart['img_url']" id="item-${fieldItem.oid}">`+
`<div class="col-md-8">`+
`<input type="text" name="${fieldItem.name}-`+cnt+`" value="" id="${fieldItem.name}-`+cnt+`">`+
`</div>`+
`</div>`+
`<br></br>`+ `<br></br>`+
`<div tal:define="fieldItem formItemCart['goods_name']" id="item-${fieldItem.oid}">`+ `<div tal:define="fieldItem formItemCart['goods_name']" id="item-${fieldItem.oid}">`+
`<label for="${fieldItem.oid}" class="control-label col-md-4 required" id="req-${fieldItem.oid}">`+ `<label for="${fieldItem.oid}" class="control-label col-md-4 required" id="req-${fieldItem.oid}">`+
`${fieldItem.title}</label>`+ `${fieldItem.title}</label>`+
`<div class="col-md-8">`+ `<div class="col-md-8">`+
`<select class="form-control" name="${fieldItem.name}-`+cnt+`" id="${fieldItem.name}-`+cnt+`" required="required">`+ `<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" >`+
`<option disabled selected value> -- pilih produk -- </option>`+
`<option tal:repeat="item produks" value="${item[1]}">${item[1]}</option>`+
`</select>`+
`<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+ `<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
`</div>`+ `</div>`+
`</div>`+ `</div>`+
...@@ -356,7 +348,7 @@ ...@@ -356,7 +348,7 @@
`<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+ `<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+
`${fieldItem.title}</label>`+ `${fieldItem.title}</label>`+
`<div class="col-md-8">`+ `<div class="col-md-8">`+
`<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" readonly="">`+ `<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" >`+
`<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+ `<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
`</div>`+ `</div>`+
`</div>`+ `</div>`+
...@@ -364,8 +356,33 @@ ...@@ -364,8 +356,33 @@
`<div tal:define="fieldItem formItemCart['goods_amt']" id="item-${fieldItem.oid}">`+ `<div tal:define="fieldItem formItemCart['goods_amt']" id="item-${fieldItem.oid}">`+
`<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+ `<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+
`${fieldItem.title}</label>`+ `${fieldItem.title}</label>`+
`<div class="col-md-8" style="width: 150px;">`+ `<div class="col-md-8" >`+
`<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" readonly="">`+ `<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" >`+
`<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
`</div>`+
`</div>`+
`<br></br>`+
`<div tal:define="fieldItem formItemCart['img_url']" id="item-${fieldItem.oid}">`+
`<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+
`${fieldItem.title}</label>`+
`<div class="col-md-8" >`+
`<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" >`+
`<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
`</div>`+
`</div>`+
`<div tal:define="fieldItem formItemCart['qty']" id="item-${fieldItem.oid}">`+
`<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+
`${fieldItem.title}</label>`+
`<div class="col-md-8" >`+
`<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" >`+
`<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
`</div>`+
`</div>`+
`<div tal:define="fieldItem formItemCart['subtotal']" id="item-${fieldItem.oid}">`+
`<label for="${fieldItem.oid}" class="control-label col-md-4" id="req-${fieldItem.oid}">`+
`${fieldItem.title}</label>`+
`<div class="col-md-8" >`+
`<input type="text" class="form-control" id="${fieldItem.name}-`+cnt+`" name="${fieldItem.name}-`+cnt+`" value="" >`+
`<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+ `<p id="error-${fieldItem.oid}" class="help-block" tal:condition="fieldItem.error" tal:repeat="error fieldItem.error.messages()">${error}</p>`+
`</div>`+ `</div>`+
`</div>`+ `</div>`+
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!