境外支付系统Checkout支付的PHPsdk使用翻译--付款(Payment)

Payment(付款)


Request a payment - 发送一个付款请求

这些示例演示了请求付款所需的最少信息。有关可用参数的完整详细信息,可以看API文档(https://api-reference.checkout.com/#tag/Payments/paths/~1payments/post)。要使用预授权付款,请设置capturefalse。并且在付款之后,要使用capture命令进行付款捕获。

Full Card

仅适用于PCI兼容商家,这允许您提供完整的卡详细信息。CVV号码要求取决于帐户设置。
普通支付的功能,支付结果同步返回不需要回调,只要确定返回的结果里Approved=true就是支付成功,在使用3D安全支付的时候,支付结果不同步返回,而且异步返回到回调地址

$method = new Checkout\Models\Payments\CardSource('4242424242424242', 01, 2020);
$method->cvv = '100';
$payment = new Checkout\Models\Payments\Payment($method, 'GBP');
$payment->capture = false;
$payment->amount = 999; // = 9.99
$response = $checkout->payments()
                     ->request($payment);

Source ID

申请卡付款后,您将收到一张来源ID,该ID可用于后续付款。

$method = new Checkout\Models\Payments\IdSource($sourceID);
$payment = new Checkout\Models\Payments\Payment($method, 'GBP');
$payment->capture = false;
$payment->amount = 999; // = 9.99
$response = $checkout->payments()
                     ->request($payment);

Tokens

这是一次性付款的推荐集成,并使用由Checkout Frames,Apple Pay或Google Pay令牌生成的卡令牌来请求付款。在此处了解有关令牌的更多信息。

$method = new Checkout\Models\Payments\TokenSource($tokenID);
$payment = new Checkout\Models\Payments\Payment($method, 'GBP');
$payment->capture = false;
$payment->amount = 999; // = 9.99
$response = $checkout->payments()
                     ->request($payment);

Network Tokens

与令牌相同,您可以使用Visa令牌服务生成的Visa网络令牌进行付款。

$method = new Checkout\Models\Payments\NetworkTokenSource($tokenID);
$payment = new Checkout\Models\Payments\Payment($method, 'GBP');
$payment->capture = false;
$payment->amount = 999; // = 9.99
$response = $checkout->payments()
                     ->request($payment);

3-D Secure

使用3-D Secure可以增加额外的安全性,以防止欺诈性付款。持卡人必须在结账过程中完成额外步骤以验证其身份。这种情况下,支付请求的返回结果不再是同步返回,而是异步回调给我们在checkout.com后台操作界面设置的回调地址!了解有关3-D Secure的更多信息3-Dsecure介绍

$payment = new Checkout\Models\Payments\Payment($method, 'GBP');
$payment->threeDs = new Checkout\Models\Payments\ThreeDs(TRUE);
$response = $checkout->payments()
                     ->request($payment);
$redirectionUrl = $response->getRedirection();

Idempotency - 幂等

有时,由于API调用中断(例如网络错误或超时),您可能需要重试付款。我们的付款API支持幂等性,因此您可以安全地重试请求而无需重复付款。

$payment = new Checkout\Models\Payments\Payment($method, 'GBP');
$payment->setIdempotencyKey($uuid);

Details - 获取支付详情

通过传递其ID来获取付款的详细信息。可以从付款请求响应$paymentID = $response->getId()或$paymentID = $response->id或先前的付款细节$paymentID = $details->getId()或$paymentID = $details->id中检索此ID 。

$details = $checkout->payments()->details($paymentID);

Capture - 捕获(应该可以理解为消费预授权)

如果要求付款$payment->capture = false,您必须命令获取付款或从中心获取付款,否则付款将仅被授权。如果,则不允许手动捕获$payment->capture = true。通过设置金额可以全部或部分捕获授权付款(剩余金额将自动取消)。

$payment = new Checkout\Models\Payments\Capture($paymentID);
// Partial capture: $payment->amount = 999;
$capture = $checkout->payments()->capture($payment);

Void - 置空预授权

如果尚未捕获付款,则可以通过运行void命令来清空预售权。

$payment = new Checkout\Models\Payments\Voids($paymentID);
$void = $checkout->payments()->void($payment);

Refund - 退款

捕获的款项可以全额或部分退款。处理完毕后,退款将无法取消。付款可以多次退款,但不能超过原始付款金额。

$payment = new Checkout\Models\Payments\Refund($paymentID);
// Partial capture: $payment->amount = 999;
$refund = $checkout->payments()->refund($paymentID);

Actions

获取与按处理日期按降序排序的付款相关的所有操作(最新的第一个)。

$actions = $checkout->payments()->actions($paymentID);

附上一段项目中Checkout普通支付的代码

<?php
class pay{
    protected $sandbox; //是否开启沙箱

    protected $checkout;

    protected $serect_key;

    protected $public_key;

    public function setCheckout($checkout){
        $this->checkout = $checkout;
    }

    public function setSerectKey($serect_key){
        $this->serect_key = $serect_key;
    }

    public function setPublicKey($public_key){
        $this->public_key = $public_key;
    }

        public function setSandBox($sand_box){
                $this->sandbox = $sand_box;
        }

    public function __construct($foo,$foo,false)
    {
        $this->setSerectKey($foo);
        $this->setPublicKey($foo);
        $this->setSandbox(false);
        // Initialize the Checkout API
        $checkout = new CheckoutApi($this->serect_key,$this->sandbox,$this->public_key);

        $this->setCheckout($checkout);
    }
    
    public function checkoutpay($params){
        $card_number = $params['card_number'];
        $expiry_year = $params['expiry_year'];
        $expiry_month = $params['expiry_month'];
        $cvv = $params['cvv'];
        $currency = $params['currency'];
        $amount = $params['amount'];

        // Create a Card token
        $card = new Card($card_number, $expiry_month, $expiry_year);
        $card->cvv = $cvv;
        $token = $this->checkout->tokens()->request($card);

        // Create a payment method instance with card details
        $method = new TokenSource($token->getId());

        // Prepare the payment parameters
        $payment = new Payment($method, $currency);
        $payment->amount = $amount; // = 10.00

        // Send the request and retrieve the response
        $response = $this->checkout->payments()->request($payment);
        
        return $response;
    }

    public function getDetails($paymentID){
        $details = $this->checkout->payments()->details($paymentID);
        return $details;
    }
}
?>

有问题可以留言

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容