tp5开发PayPal

首先在你项目下安装composer引入paypal的sdk
首先在composer.json添加引入paypal
这里写图片描述
在linux服务器你的项目地址执行指令
指令:composer require “braintree/braintree_php”

<?php
/**
 * Created by PhpStorm.
 * User: baiwuya
 * Date: 2018/6/28
 * Time: 下午5:25
 * @文档 https://developers.braintreepayments.com/start/overview  ##这里是文档
 * @
 */


namespace app\api\controller;

class Test {



    function token()
    {

        try {
            $gateway = new \Braintree_Gateway([
                'environment'=>'sandbox2',
                'merchantId'=>'3wgqvfbrdh2ft57234',
                'publicKey'=>'n54gjnnx25pq88d23',
                'privateKey'=>'f7f9cbd5e4a1252861813a6031e2f732342'
            ]);

            $clientToken = $gateway->clientToken()->generate();
            exit($clientToken);
        } catch(\Exception $e) {//捕获异常
           var_dump($e);
        }

    }

    function test()
    {
        file_put_contents('wz1.txt',date("Y-m-d H:i:s",time()) );
        $gateway = new \Braintree_Gateway([
            'environment'=>'sandbox2',
            'merchantId'=>'n54gjnnx25pq88d23',
            'publicKey'=>'n54gjnnx25pq88d23',
            'privateKey'=>'f7f9cbd5e4a1252861813a6031e2f732342'
        ]);


        //
        /**
         * 只能验证一次  ??? - yes  | Cannot use a payment_method_nonce more than once.
         * 只有验证成功  . 才算支付成功
        */
        $nonceFromTheClient = $_POST["nonce"];
        $amount = $_POST["amount"];
        $merchantAccountId = $_POST["currency"];

        //付款货币
        if($merchantAccountId == 'PHP') {
            $merchantAccountId = 'php-wahaha';
        } elseif($merchantAccountId == 'USD') {
            $merchantAccountId = 'baiyaya';
        } elseif($merchantAccountId == 'CZK') {
            $merchantAccountId = 'czk_zfg';
        }

        $result = $gateway->transaction()->sale([
            'amount' => $amount,
            'merchantAccountId' => $merchantAccountId,          //客户端 支付货币 , 必须一致
            'paymentMethodNonce' => $nonceFromTheClient,        //客户端 支付成功 nonce  - 非常重要
            'options' => [
                'submitForSettlement' => True
            ]
        ]);
//        if (!empty($result['success']) &&$result['success'] == true)
        echo json_encode(['code'=>'ok','res'=>$result]);
        exit;


        $result = $gateway->transaction()->sale([
            "amount" => 0.01,
            'merchantAccountId' => 'PHP',
            "paymentMethodNonce" => $_POST["nonce"],     //
//            "paymentMethodNonce" => 'EOi-j5LzVxXXe9c6zUf6Dg2v5HzOtmNABrmDz82No_xeqpEZJuQU8tK1XJ7tjUggrh5NE97weU2YBRwK',     //支付客户端
            "orderId" => $_POST['Mapped to PayPal Invoice Number'],     //
            "descriptor" => [
                "name" => "Descriptor displayed in customer CC statements. 22 char max"
            ],
            "shipping" => [
                "firstName" => "Jen",
                "lastName" => "Smith",
                "company" => "Braintree",
                "streetAddress" => "1 E 1st St",
                "extendedAddress" => "Suite 403",
                "locality" => "Bartlett",
                "region" => "IL",
                "postalCode" => "60103",
                "countryCodeAlpha2" => "US"
            ],
            "options" => [
                "paypal" => [
                    "customField" => $_POST["PayPal custom field"],
                    "description" => $_POST["Description for PayPal email receipt"]
                ],
            ]
        ]);
        if ($result->success) {
            echo $result->transaction->id;
            exit;
            print_r("Success ID: " . $result->transaction->id);
        } else {
            print_r("Error Message: " . $result->message);
        }


//        var_dump($gateway);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<?php /**  * 支付支付  */ return [         //应用ID,您的APPID。         'app_id' => "",         //商户私钥, 请把生成的私钥文件中字符串拷贝在此         'merchant_private_key' => "",         //异步通知地址         'notify_url' => "",         //同步跳转         'return_url' => "",         //编码格式         'charset' => "UTF-8",         //签名方式         'sign_type'=>"RSA2",         //支付宝网关         'gatewayUrl' => "https://openapi.alipay.com/gateway.do",         //支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。         'alipay_public_key' => "", ];ThinkPHP5 支付支付扩展库, 包括手机网站支付、电脑网站支付支付查询、退款、退款查询、对账单等。用法电脑网站支付 Pagepay.php调用 \alipay\Pagepay::pay($params) 即可手机网站支付 Wappay.php调用 \alipay\Wappay::pay($params) 即可交易查询接口 Query.php调用 \alipay\Query::exec($query_no) 即可交易退款接口 Refund.php调用 \alipay\Refund::exec($params) 即可退款统一订单查询 RefundQuery.php调用 \alipay\RefundQuery::exec($params) 即可交易关闭接口 Close.php调用 \alipay\Close::exec($query_no) 即可查询账单下载地址接口 Datadownload.php调用 \alipay\Datadownload::exec($bill_type, $bill_date) 即可验签 Notify.php调用 \alipay\Notify::checkSign($params) 即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值