From 48e20d8f1d1b7bccbe0f1a37786cb2c42074a5fc Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Fri, 1 Dec 2017 18:31:06 -0800 Subject: [PATCH] add card processing to example self-service, RT#75279 --- fs_selfservice/wordpress/elements/card.php | 53 ++++++++++ fs_selfservice/wordpress/example_selfservice.php | 1 + fs_selfservice/wordpress/payment_cc.php | 117 +++++++++++++++++++++++ 3 files changed, 171 insertions(+) create mode 100644 fs_selfservice/wordpress/elements/card.php create mode 100644 fs_selfservice/wordpress/payment_cc.php diff --git a/fs_selfservice/wordpress/elements/card.php b/fs_selfservice/wordpress/elements/card.php new file mode 100644 index 000000000..eb29aef6c --- /dev/null +++ b/fs_selfservice/wordpress/elements/card.php @@ -0,0 +1,53 @@ + + Card number + + + + + + + + + +
+ Exp. + + / + +
+ + + + + CVV2 (help) + + + + + Exact name on card + + + +mason_comp(array( + 'session_id' => $_COOKIE['freeside_session_id'], + 'comp' => '/elements/location.html', + 'args' => [ + 'no_asterisks' , 1, + #'address1_label' , 'Card billing address', + 'address1_label' , 'Card billing address', + ], + )); + echo $lf['output']; +?> diff --git a/fs_selfservice/wordpress/example_selfservice.php b/fs_selfservice/wordpress/example_selfservice.php index d753f2d55..c503f380d 100644 --- a/fs_selfservice/wordpress/example_selfservice.php +++ b/fs_selfservice/wordpress/example_selfservice.php @@ -60,6 +60,7 @@ get_header();

View my Bill

Change Bill Deliver Options

Order a new service

+

Credit card payment

Logout

diff --git a/fs_selfservice/wordpress/payment_cc.php b/fs_selfservice/wordpress/payment_cc.php new file mode 100644 index 000000000..ba5cd88d9 --- /dev/null +++ b/fs_selfservice/wordpress/payment_cc.php @@ -0,0 +1,117 @@ +process_payment(array( + 'session_id' => $_COOKIE['freeside_session_id'], + 'payby' => 'CARD', + 'amount' => $_POST['amount'], + 'payinfo' => $_POST['payinfo'], + 'paycvv' => $_POST['paycvv'], + 'month' => $_POST['month'], + 'year' => $_POST['year'], + 'payname' => $_POST['payname'], + 'address1' => $_POST['address1'], + 'address2' => $_POST['address2'], + 'city' => $_POST['city'], + 'state' => $_POST['state'], + 'zip' => $_POST['zip'], + 'country' => $_POST['country'], + 'save' => $_POST['save'], + 'auto' => $_POST['auto'], + 'paybatch' => $_POST['paybatch'], + //'discount_term' => $discount_term, + )); + + if ( $payment_results['error'] ) { + $_REQUEST['freeside_error'] = $payment_results['error']; + } else { + $receipt_html = $payment_results['receipt_html']; + } + +} + +if ( $receipt_html ) { ?> + + Your payment was processed successfully. Thank you.

+ + +payment_info( array( + 'session_id' => $_COOKIE['freeside_session_id'], + 'payment_payby' => 'CARD', + ) ); + + if ( isset($payment_info['error']) && $payment_info['error'] ) { + $error = $payment_info['error']; + wp_redirect('example_login.php?freeside_error='. urlencode($error)); + die(); + } + + extract($payment_info); + + $tr_amount_fee = $freeside->mason_comp(array( + 'session_id' => $_COOKIE['freeside_session_id'], + 'comp' => '/elements/tr-amount_fee.html', + 'args' => [ 'amount', $balance ], + )); + //$tr_amount_fee = $tr_amount_fee->{'error'} || $tr_amount_fee->{'output'}; + $tr_amount_fee = $tr_amount_fee['output']; + + ?> + + + +
+ + + + + + + + + + + + + + + + + + + + + +
Amount Due +
+ $ +
+
Card type + +
+ NAME="save" VALUE="1"> + Remember this card and billing address +
+ NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }"> + Charge future payments to this card automatically +
+
+ + +
+ + + + -- 2.11.0