ping++支付

要根据自己实际业务需求进行更改,不可照搬
mespace App\Controller;

require_once('ThinkPHP/Library/Vendor/Ping/init.php');


/**
 * P++支付接口类
 * Class PingController
 * @package App\Controller
 */
class PingController extends AppController
{
    private $appkey;
    private $appid;

    public function __construct()
    {
        parent::__construct();
        $this->appkey = C('PING_APP_KEY');
        $this->appid = C('PING_APP_ID');

    }
    public function paymentMethod(){
        $input_data['channel'] = I('channel');
        $input_data['amount'] = I('amount');

        \Pingpp\Pingpp::setApiKey($this->appkey);// 设置 API Key
        \Pingpp\Pingpp::setPrivateKeyPath(THINK_PATH . 'Library/Vendor/Ping/data/rsa_private_key.pem');// 设置私钥

        $channel = strtolower($input_data['channel']);//支付渠道

         $extra = array();
            switch ($channel) {
                case 'alipay':
                    $extra = array();
                    break;
                case 'wx':
                    $extra = array();
                    break;
            }

     try {
                $ch = \Pingpp\Charge::create(
                    array(
                        //请求参数字段规则,请参考 API 文档:https://www.pingxx.com/api#api-c-new
                        'subject' => "",//商品的标题,该参数最长为 32Unicode 字符,银联全渠道( upacp / upacp_wap )限制在 32 个字节。
                        'body' => "",//商品的描述信息,该参数最长为 128Unicode 字符,yeepay_wap 对于该参数长度限制为 100Unicode 字符。
                        'amount' => "",//订单总金额, 人民币单位:分(如订单总金额为 1 元,此处请填 100'order_no' => "",// 推荐使用 8-20 位,要求数字或字母,不允许其他字符
                        'currency' => 'cny',//三位 ISO 货币代码,目前仅支持人民币  cny 。
                        'extra' => $extra,//特定渠道发起交易时需要的额外参数,以及部分渠道支付成功返回的额外参数,详细参考 支付渠道 extra 参数说明
                        'channel' => $channel,// 支付使用的第三方支付渠道取值,请参考:https://www.pingxx.com/api#api-c-new
                        'client_ip' => $_SERVER['REMOTE_ADDR'],// 发起支付请求客户端的 IP 地址,格式为 IPV4,如: 127.0.0.1
                        'app' => array('id' => $this->appid),//支付使用的  app 对象的  id , expandable 可展开,查看 如何获取App ID'metadata' =>""
                    )
                );
                $data['charges'] = (string)$ch;
                返回客户端支付凭证 $data
        } catch (\Pingpp\Error\Base $e) {
                // 捕获报错信息
                if ($e->getHttpStatus() != null) {
                    header('Status: ' . $e->getHttpStatus());
                    echo $e->getHttpBody();
                } else {
                    echo $e->getMessage();
                }
        }
    }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
支付系统设计白皮书》是支付学院所出版的一本关于支付系统设计的指南手册。这本白皮书主要围绕着如何设计和构建一个高效、安全、可扩展的支付系统展开讨论。 首先,白皮书对支付系统的概念进行了详细阐述,介绍了支付系统的基本原理、功能和作用。它探讨了不同类型的支付系统,包括传统的纸质现金支付、电子支付和移动支付等,并分析了它们的优缺点以及在不同场景下的适用性。 然后,白皮书重点关注支付系统的设计原则和关键要素。它提供了一些建议和指导原则,例如如何确保支付系统的安全性,保护用户的隐私信息;如何设计可靠的支付通道和交易处理系统,以便处理大量的交易;如何优化支付系统的性能,提高用户体验等等。 此外,白皮书还详细介绍了支付系统的技术架构和关键技术。它列举了常见的支付系统架构模型,如中心化模型、分布式模型和区块链模型,并比较了它们的特点和适用场景。它还讨论了支付系统的安全技术,包括加密算法、身份验证、防止欺诈行为的方法等等。 最后,白皮书还提供了一些实践案例和经验分享,以供读者参考。这些案例涵盖了不同行业和不同规模的支付系统设计和实施,从而为读者提供了一些实际操作的指导。 总之,《支付系统设计白皮书》是一本非常实用的指南,适用于支付系统相关从业人员、学生和研究人员。它为读者提供了全面的理论知识和实践经验,帮助读者了解支付系统的设计原则和技术,并指导读者在实际应用中设计和构建具有高性能和安全性的支付系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值