在全球大流行的时代,一个平稳运行的支付网关发卡系统是经营具有大量在线业务的企业的关键。如果您已经在使用像BigCommerce这样的电子商务软件,那么您几乎不需要任何编码技能,因为该应用程序已经无缝内置了PayPal等主要支付网关。当您想将支付网关直接连接到您的网站时,这项技能就变得至关重要。如果您具备C#、Java或PHP编码技能,那么这些教程将使您更轻松地完成集成所选支付网关的步骤。
完整源码:paywks.top/ka
一、PHP中的发卡网系统集成
我们将以Stripe为例,向我们展示如何在PHP中进行发卡系统集成。借助Stripe的支付网关,您可以通过集成结帐系统并启用支付功能,直接在您的网站上轻松接受信用卡。
要在基于PHP的网站中集成Stripe支付网关,您需要实现以下功能。
1、准备HTML表单以收集信用卡信息。
2、创建Stripe令牌以安全地传输卡信息。
3、提交包含卡详细信息的表格。
4、验证卡并处理费用。
5、在数据库中插入付款详细信息,以便向用户显示状态。
测试条API密钥数据
在启用Stripe支付网关集成之前,您需要对其进行彻底测试。要测试信用卡支付流程,您需要在您的Stripe帐户中生成TESTAPI密钥。
1、登录您的Stripe帐户并导航至API页面。
2、在测试数据部分下,您会看到列出了API密钥。要显示密钥,请单击显示测试密钥令牌按钮。
收集Publishablekey和Secretkey以供稍后在脚本中使用。
在继续之前,您可能需要查看文件结构:
创建数据库表
接下来,您需要在数据库中创建一个表来保存交易明细。接下来是在MySQL数据库中创建订单表的SQL。
CREATE TABLE
orders (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(100) COLLATE utf8_unicode_ci NOT NULL,
email varchar(255) COLLATE utf8_unicode_ci NOT NULL,
card_num bigint(20) NOT NULL,
card_cvc int(5) NOT NULL,
card_exp_month varchar(2) COLLATE utf8_unicode_ci NOT NULL,
card_exp_year varchar(5) COLLATE utf8_unicode_ci NOT NULL,
item_name varchar(255) COLLATE utf8_unicode_ci NOT NULL,
item_number varchar(50) COLLATE utf8_unicode_ci NOT NULL,
item_price float(10,2) NOT NULL,
item_price_currency varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'usd',
paid_amount varchar(10) COLLATE utf8_unicode_ci NOT NULL,
paid_amount_currency varchar(10) COLLATE utf8_unicode_ci NOT NULL,
txn_id varchar(100) COLLATE utf8_unicode_ci NOT NULL,
payment_status varchar(50) COLLATE utf8_unicode_ci NOT NULL,
created datetime NOT NULL,
modified datetime NOT NULL, PRIMARY KEY (
id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
数据库配置(dbConfig.php)
您将需要dbConfig.php文件来连接和选择数据库。在数据库凭证后指定数据库主机($dbHost)、用户名($dbUsername)、密码($dbPassword)和名称($dbName)。
<?php //Database credentials $dbHost = 'localhost'; $dbUsername = 'root'; $dbPassword = '*****'; $dbName = 'codexworld'; //Connect with the database $db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName); //Display error if failed to connect if ($db->connect_errno) { printf("Connect failed: %s\n", $db->connect_error); exit(); }
JavaScript
包括StripeJavaScript库,以将敏感信息直接从浏览器安全地发送到Stripe。
在JavaScript代码中,将标识您网站的可发布API密钥设置为Stripe。stripeResponseHandler()函数创建一个一次性令牌并在支付表单HTML中插入一个令牌字段。
<script type="text/javascript"> //set your publishable key Stripe.setPublishableKey('Your_API_Publishable_Key'); //callback to handle the response from stripe function stripeResponseHandler(status, response) { if (response.error) { //enable the submit button $('#payBtn').removeAttr("disabled"); //display the errors on the form $(".payment-errors").html(response.error.message); } else { var form$ = $("#paymentFrm"); //get token id var token = response['id']; //insert the token into the form form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />"); //submit form to the server form$.get(0).submit(); } } $(document).ready(function() { //on form submit $("#paymentFrm").submit(function(event) { //disable the submit button to prevent repeated clicks $('#payBtn').attr("disabled", "disabled"); //create single-use token to charge the user Stripe.createToken({ number: $('.card-number').val(), cvc: $('.card-cvc').val(), exp_month: $('.card-expiry-month').val(), exp_year: $('.card-expiry-year').val() }, stripeResponseHandler); //submit from callback return false; }); }); </script>
接下来,我们将使用StripePHP库来处理卡支付。该图书馆可在此处获得。
、验证和处理付款(submit.php)
在此文件中,验证提交的卡详细信息,并使用StripePHP库处理费用。
1、从提交的表单中获取令牌、卡详细信息和用户信息。
包括StripePHP库。
2、设置我们在StripeTestAPIData部分创建的Publishablekey和Secretkey。
3、使用用户电子邮件和Stripe令牌将客户添加到Stripe。
4、指定产品详细信息并向信用卡或借记卡收费。
5、检索先前创建的费用详细信息。
6、如果收费成功,订单和交易详情将被插入数据库。否则,将显示一条错误消息。
二、Java中的发卡系统集成
为了向我们展示如何在Java中进行发卡系统的集成,我们将使用PayPal进行说明。PayPal是通过互联网进行支付和汇款的领先平台之一。与大多数SaaS应用程序一样,它提供API,因此企业可以轻松地促进对其运营至关重要的支付或转账交易。
首先,我们需要卖家账户的API凭据。
1、API用户名
2、接口密码
3、签名
为此,请执行以下操作:
1、登录卖家账户
2、在主页上,单击–>个人资料
3、点击–>请求API凭据
4、点击–>查看API签名
接下来,我们继续将卖家帐户与JavaWeb应用程序集成。为此,打开config.properties文件并设置卖家的API凭据。
PP_USER_SANDBOX = <seller_username_here> PP_PASSWORD_SANDBOX = <seller_password_here> PP_SIGNATURE_SANDBOX = <seller_signature_here>
SANDBOX_FLAG:在使用沙盒/模拟账户时保持真实;稍后,上线时,它需要是假的。
将下载的“PaypalCredit”包下的所有文件和文件夹复制到您的购物车页面所在的相同位置。