2016-05-06 17:06:01 +02:00
|
|
|
<style type="text/css">
|
|
|
|
.payment_method_img_container{
|
|
|
|
width:37px;
|
|
|
|
text-align: center;
|
|
|
|
display:inline-block;
|
|
|
|
margin-right:10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.payment_method{
|
|
|
|
margin:20px 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.payment_method_number{
|
|
|
|
margin-right:10px;
|
|
|
|
width:65px;
|
|
|
|
display:inline-block;
|
|
|
|
}
|
|
|
|
</style>
|
2016-05-07 04:33:03 +02:00
|
|
|
@if (!empty($braintreeClientToken))
|
|
|
|
<script type="text/javascript" src="https://js.braintreegateway.com/js/braintree-2.23.0.min.js"></script>
|
|
|
|
<script type="text/javascript" >
|
|
|
|
$(function() {
|
|
|
|
var paypalLink = $('#add-paypal'),
|
|
|
|
paypalUrl = paypalLink.attr('href'),
|
|
|
|
checkout;
|
|
|
|
braintree.setup("{{ $braintreeClientToken }}", "custom", {
|
|
|
|
onReady: function (integration) {
|
|
|
|
checkout = integration;
|
|
|
|
},
|
|
|
|
paypal: {
|
|
|
|
container: "paypal-container",
|
|
|
|
singleUse: false,
|
|
|
|
enableShippingAddress: false,
|
|
|
|
enableBillingAddress: false,
|
|
|
|
headless: true,
|
|
|
|
locale: "{{$client->language?$client->language->locale:$client->account->language->locale}}"
|
|
|
|
},
|
|
|
|
dataCollector: {
|
|
|
|
paypal: true
|
|
|
|
},
|
|
|
|
onPaymentMethodReceived: function (obj) {
|
|
|
|
window.location.href = paypalUrl + '/' + encodeURIComponent(obj.nonce)
|
|
|
|
}
|
|
|
|
});
|
|
|
|
paypalLink.click(function(e){
|
|
|
|
e.preventDefault();
|
|
|
|
checkout.paypal.initAuthFlow();
|
|
|
|
})
|
|
|
|
});
|
|
|
|
</script>
|
2016-05-17 20:09:39 +02:00
|
|
|
@elseif($gateway->gateway_id == GATEWAY_WEPAY && $gateway->getAchEnabled())
|
|
|
|
<script type="text/javascript" src="https://static.wepay.com/js/tokenization.v2.js"></script>
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
$(function() {
|
|
|
|
WePay.set_endpoint('{{ WEPAY_ENVIRONMENT }}');
|
|
|
|
// Shortcuts
|
|
|
|
$('#add-ach').click(function(e) {
|
|
|
|
e.preventDefault();
|
|
|
|
WePay.bank_account.create({
|
|
|
|
'client_id': '{{ WEPAY_CLIENT_ID }}',
|
|
|
|
'email':{!! json_encode($contact->email) !!}
|
|
|
|
}, function(data){
|
|
|
|
window.location.href = $('#add-ach').attr('href') + '/' + encodeURIComponent(data.bank_account_id)
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|
2016-05-07 04:33:03 +02:00
|
|
|
@endif
|
2016-05-06 23:05:42 +02:00
|
|
|
@if(!empty($paymentMethods))
|
2016-05-06 17:06:01 +02:00
|
|
|
@foreach ($paymentMethods as $paymentMethod)
|
|
|
|
<div class="payment_method">
|
|
|
|
<span class="payment_method_img_container">
|
2016-05-11 00:46:32 +02:00
|
|
|
<img height="22" src="{{URL::to('/images/credit_cards/'.str_replace(' ', '', strtolower($paymentMethod->payment_type->name).'.png'))}}" alt="{{trans("texts.card_" . str_replace(' ', '', strtolower($paymentMethod->payment_type->name)))}}">
|
2016-05-06 17:06:01 +02:00
|
|
|
</span>
|
2016-05-11 00:46:32 +02:00
|
|
|
@if(!empty($paymentMethod->last4))
|
|
|
|
<span class="payment_method_number">•••••{{$paymentMethod->last4}}</span>
|
2016-05-07 04:33:03 +02:00
|
|
|
@endif
|
2016-05-11 00:46:32 +02:00
|
|
|
@if($paymentMethod->payment_type_id == PAYMENT_TYPE_ACH)
|
2016-05-11 18:53:43 +02:00
|
|
|
@if($paymentMethod->bank_data)
|
2016-05-15 22:27:56 +02:00
|
|
|
{{ $paymentMethod->bank_data->name }}
|
2016-05-11 00:46:32 +02:00
|
|
|
@endif
|
|
|
|
@if($paymentMethod->status == PAYMENT_METHOD_STATUS_NEW)
|
2016-05-12 21:35:33 +02:00
|
|
|
<a href="#" onclick="completeVerification('{{$paymentMethod->public_id}}','{{$paymentMethod->currency->symbol}}')">({{trans('texts.complete_verification')}})</a>
|
2016-05-11 00:46:32 +02:00
|
|
|
@elseif($paymentMethod->status == PAYMENT_METHOD_STATUS_VERIFICATION_FAILED)
|
2016-05-07 04:33:03 +02:00
|
|
|
({{trans('texts.verification_failed')}})
|
|
|
|
@endif
|
2016-05-11 01:17:41 +02:00
|
|
|
@elseif($paymentMethod->payment_type_id == PAYMENT_TYPE_ID_PAYPAL)
|
2016-05-11 00:46:32 +02:00
|
|
|
{{ $paymentMethod->email }}
|
2016-05-11 01:17:41 +02:00
|
|
|
@elseif($paymentMethod->expiration)
|
2016-05-11 00:46:32 +02:00
|
|
|
{!! trans('texts.card_expiration', array('expires'=>Utils::fromSqlDate($paymentMethod->expiration, false)->format('m/y'))) !!}
|
2016-05-06 17:06:01 +02:00
|
|
|
@endif
|
2016-05-11 00:46:32 +02:00
|
|
|
@if($paymentMethod->id == $paymentMethod->account_gateway_token->default_payment_method_id)
|
2016-05-07 04:33:03 +02:00
|
|
|
({{trans('texts.used_for_auto_bill')}})
|
2016-05-11 00:46:32 +02:00
|
|
|
@elseif($paymentMethod->payment_type_id != PAYMENT_TYPE_ACH || $paymentMethod->status == PAYMENT_METHOD_STATUS_VERIFIED)
|
|
|
|
<a href="#" onclick="setDefault('{{$paymentMethod->public_id}}')">({{trans('texts.use_for_auto_bill')}})</a>
|
2016-05-06 17:06:01 +02:00
|
|
|
@endif
|
2016-05-12 21:35:33 +02:00
|
|
|
<a href="#" class="payment_method_remove" onclick="removePaymentMethod('{{$paymentMethod->public_id}}')">×</a>
|
2016-05-06 17:06:01 +02:00
|
|
|
</div>
|
|
|
|
@endforeach
|
2016-05-06 23:05:42 +02:00
|
|
|
@endif
|
2016-05-06 17:06:01 +02:00
|
|
|
|
2016-05-11 15:57:44 +02:00
|
|
|
@if($gateway->gateway_id != GATEWAY_STRIPE || $gateway->getPublishableStripeKey())
|
2016-05-06 17:06:01 +02:00
|
|
|
<center>
|
|
|
|
{!! Button::success(strtoupper(trans('texts.add_credit_card')))
|
|
|
|
->asLinkTo(URL::to('/client/paymentmethods/add/'.($gateway->getPaymentType() == PAYMENT_TYPE_STRIPE ? 'stripe_credit_card' : 'credit_card'))) !!}
|
|
|
|
@if($gateway->getACHEnabled())
|
|
|
|
|
2016-05-17 20:09:39 +02:00
|
|
|
@if($gateway->gateway_id == GATEWAY_STRIPE)
|
2016-05-07 04:33:03 +02:00
|
|
|
{!! Button::success(strtoupper(trans('texts.add_bank_account')))
|
|
|
|
->asLinkTo(URL::to('/client/paymentmethods/add/stripe_ach')) !!}
|
2016-05-17 20:09:39 +02:00
|
|
|
@elseif($gateway->gateway_id == GATEWAY_WEPAY)
|
|
|
|
{!! Button::success(strtoupper(trans('texts.add_bank_account')))
|
|
|
|
->withAttributes(['id'=>'add-ach'])
|
|
|
|
->asLinkTo(URL::to('/client/paymentmethods/add/wepay_ach')) !!}
|
|
|
|
@endif
|
2016-05-07 04:33:03 +02:00
|
|
|
@endif
|
|
|
|
@if($gateway->getPayPalEnabled())
|
|
|
|
|
|
|
|
{!! Button::success(strtoupper(trans('texts.add_paypal_account')))
|
|
|
|
->withAttributes(['id'=>'add-paypal'])
|
|
|
|
->asLinkTo(URL::to('/client/paymentmethods/add/braintree_paypal')) !!}
|
|
|
|
<div id="paypal-container"></div>
|
2016-05-06 17:06:01 +02:00
|
|
|
@endif
|
|
|
|
</center>
|
2016-05-11 15:57:44 +02:00
|
|
|
@endif
|
2016-05-06 17:06:01 +02:00
|
|
|
|
|
|
|
<div class="modal fade" id="completeVerificationModal" tabindex="-1" role="dialog" aria-labelledby="completeVerificationModalLabel" aria-hidden="true">
|
|
|
|
<div class="modal-dialog" style="min-width:150px">
|
|
|
|
<div class="modal-content">
|
|
|
|
{!! Former::open('/client/paymentmethods/verify') !!}
|
|
|
|
<div class="modal-header">
|
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
|
|
<h4 class="modal-title" id="completeVerificationModalLabel">{{ trans('texts.complete_verification') }}</h4>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal-body">
|
|
|
|
<div style="display:none">
|
|
|
|
{!! Former::text('source_id') !!}
|
|
|
|
</div>
|
|
|
|
<p>{{ trans('texts.bank_account_verification_help') }}</p>
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="verification1" class="control-label col-sm-5">{{ trans('texts.verification_amount1') }}</label>
|
|
|
|
<div class="col-sm-3">
|
|
|
|
<div class="input-group">
|
|
|
|
<span class="input-group-addon"><span class="payment_method_currenct_symbol"></span>0.</span>
|
|
|
|
<input type="number" min="0" max="99" required class="form-control" id="verification1" name="verification1">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="verification2" class="control-label col-sm-5">{{ trans('texts.verification_amount2') }}</label>
|
|
|
|
<div class="col-sm-3">
|
|
|
|
<div class="input-group">
|
|
|
|
<span class="input-group-addon"><span class="payment_method_currenct_symbol"></span>0.</span>
|
|
|
|
<input type="number" min="0" max="99" required class="form-control" id="verification2" name="verification2">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer" style="margin-top: 0px">
|
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ trans('texts.cancel') }}</button>
|
|
|
|
<button type="submit" class="btn btn-primary">{{ trans('texts.complete_verification') }}</button>
|
|
|
|
</div>
|
|
|
|
{!! Former::close() !!}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal fade" id="removePaymentMethodModal" tabindex="-1" role="dialog" aria-labelledby="removePaymentMethodModalLabel" aria-hidden="true">
|
|
|
|
<div class="modal-dialog" style="min-width:150px">
|
|
|
|
<div class="modal-content">
|
|
|
|
{!! Former::open()->id('removeForm') !!}
|
|
|
|
<div class="modal-header">
|
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
|
|
<h4 class="modal-title" id="removePaymentMethodModalLabel">{{ trans('texts.remove_payment_method') }}</h4>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal-body">
|
|
|
|
<p>{{ trans('texts.confirm_remove_payment_method') }}</p>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer" style="margin-top: 0px">
|
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{ trans('texts.cancel') }}</button>
|
|
|
|
<button type="submit" class="btn btn-primary">{{ trans('texts.remove') }}</button>
|
|
|
|
</div>
|
|
|
|
{!! Former::close() !!}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{!! Former::open(URL::to('/client/paymentmethods/default'))->id('defaultSourceForm') !!}
|
|
|
|
<input type="hidden" name="source" id="default_id">
|
|
|
|
{!! Former::close() !!}
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
function completeVerification(sourceId, currencySymbol) {
|
|
|
|
$('#source_id').val(sourceId);
|
|
|
|
$('.payment_method_currenct_symbol').text(currencySymbol);
|
|
|
|
$('#completeVerificationModal').modal('show');
|
|
|
|
}
|
|
|
|
|
|
|
|
function removePaymentMethod(sourceId) {
|
|
|
|
$('#removeForm').attr('action', '{{ URL::to('/client/paymentmethods/%s/remove') }}'.replace('%s', sourceId))
|
|
|
|
$('#removePaymentMethodModal').modal('show');
|
|
|
|
}
|
|
|
|
|
|
|
|
function setDefault(sourceId) {
|
|
|
|
$('#default_id').val(sourceId);
|
|
|
|
$('#defaultSourceForm').submit()
|
2016-05-13 15:30:22 +02:00
|
|
|
return false;
|
2016-05-06 17:06:01 +02:00
|
|
|
}
|
2016-05-12 21:35:33 +02:00
|
|
|
</script>
|