写在前面
Ping++ 已支持 PayPal 跨境支付产品,适用于手机网页以及 PC 支付,如需在 APP 内使用,则需要你通过 Ping++ H5 SDK 自行封装。
接入流程
一、准备工作:
1、注册申请
2、关联确认银行账户
3、币种确认
5、下载 Ping++ 的 Server-SDK (以 PHP 为例)
6、下载 Ping++ 包含「PayPal」渠道的最新版 H5-SDK
二、Server 端的接入
1、下载 Ping++ 的 Server-SDK
2、调用 Ping++ 的 SDK 创建 Charge(与其他渠道的接入一样)
$input_data = json_decode(file_get_contents('php://input'), true); $channel = strtolower($input_data['channel']); $amount = $input_data['amount']; $orderNo = substr(md5(time()), 0, 12); $open_id = $input_data['open_id']; $extra = array(); switch ($channel) { case 'paypal': $extra = array( 'result_url' => 'http://example.com/result', 'cancel_url' => 'http://example.com/result' ); break; } try { $ch = \Pingpp\Charge::create( array( //请求参数字段规则,请参考 API 文档:https://www.pingxx.com/api 'subject' => 'Your Subject', 'body' => 'Your Body', 'amount' => $amount,//订单总金额 'order_no' => $orderNo,// 推荐使用 8-20 位,要求数字或字母,不允许其他字符 'currency' => 'usd', 'extra' => $extra, 'channel' => $channel,// 支付使用的第三方支付渠道取值,请参考:https://www.pingxx.com/api 'client_ip' => $_SERVER['REMOTE_ADDR'],// 发起支付请求客户端的 IP 地址,格式为 IPV4,如: 127.0.0.1 'app' => array('id' => APP_ID) ) ); echo $ch;// 输出 Ping++ 返回的支付凭据 Charge } catch (\Pingpp\Error\Base $e) { // 捕获报错信息 if ($e->getHttpStatus() != NULL) { header('Status: '. $e->getHttpStatus()); echo $e->getHttpBody(); } else { echo $e->getMessage(); } }
三、Client 端接入
1、将我们之前下载好的 Ping++ 的 H5 端 SDK 导入到工程中(如下图)
3、调用 Ping++ 的 H5-SDK 实现支付功能
pingpp.createPayment(object, function(result, err){ // object 需是 Charge/Order/Recharge 的 JSON 字符串 // 可按需使用 alert 方法弹出 log console.log(result); console.log(err.msg); console.log(err.extra); if (result == "success") { // 只有微信公众号 (wx_pub)、QQ 公众号 (qpay_pub)支付成功的结果会在这里返回,其他的支付结果都会跳转到 extra 中对应的 URL } else if (result == "fail") { // Ping++ 对象不正确或者微信公众号 / QQ公众号支付失败时会在此处返回 } else if (result == "cancel") {// 微信公众号支付取消支付} });