php - Paypal pro 使用存储的信用卡详细信息付款

标签 php paypal

我们将信用卡详细信息存储在 paypal 服务器上。

响应是这样的

stdClass 对象([id] => CARD-14C32505AV6044027KQ537UQ [state] => ok [payer_id] => GI6WdoVY6zOq1413201872 [type] => visa [number] => xxxxxxxxxxxx1111 [expire_month] => 11 [expire_year] => 2018 [first_name] => Anu [last_name] => Jose [valid_until] => 2017-10-12T00:00:00Z [create_time] => 2014-10-13T12:04:34Z [update_time] => 2014-10-13T12 :04:34Z [链接] => 数组([0] => stdClass 对象([href] => https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-14C32505AV6044027KQ537UQ [rel] => self [方法] => GET)[1] => stdClass 对象([href ] => https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-14C32505AV6044027KQ537UQ [rel] => delete [method] => DELETE ) [2] => stdClass Object ( [href] => https://api.sandbox.paypal.com/v1/vault/credit-card/CARD-14C32505AV6044027KQ537UQ [rel] => patch [method] => PATCH ) ) )

是否可以使用此信用卡 ID 进行交易? 有什么帮助吗?

最佳答案

是的,您绝对可以使用上面收到的信用卡 ID 使用这些存储卡进行付款。

我已经包含了您可以使用的 curl 请求:

请求

curl -v POST  "https://api.sandbox.paypal.com/v1/payments/payment" -H "Content-Type:application/json" -H "Authorization: Bearer A0430YIJHh.TrJ7DuXoVVSzzRD9BiNhc7.JUdtWFV9bm6PM" -d "{\"intent\":\"sale\",\"payer\":{\"payment_method\":\"credit_card\",\"funding_instruments\":[{\"credit_card_token\":{\"credit_card_id\":\"CARD-7F19874*H7676925VKQ55ALQ\"}}]},\"transactions\":[{\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\"},\"description\":\"This is the payment transaction description.\"}]}"

响应

{"id":"PAY-17C52753U3213490GKQ56FJQ","create_time":"2014-10-13T14:33:10Z","updat
e_time":"2014-10-13T14:33:28Z","state":"approved","intent":"sale","payer":{"paym
ent_method":"credit_card","funding_instruments":[{"credit_card_token":{"credit_c
ard_id":"CARD-7F116246H7676925VKQ55ALQ","last4":"0331","type":"visa","expire_mon
th":"11","expire_year":"2018"}}]},"transactions":[{"amount":{"total":"7.47","cur
rency":"USD","details":{"subtotal":"7.47"}},"description":"This is the payment t
ransaction description.","related_resources":[{"sale":{"id":"0TD97130MF446714A",
"create_time":"2014-10-13T14:33:10Z","update_time":"2014-10-13T14:33:28Z","amoun
t":{"total":"7.47","currency":"USD"},"state":"completed","parent_payment":"PAY-1
7C52753U3213490GKQ56FJQ","links":[{"href":"https://api.sandbox.paypal.com/v1/pay
ments/sale/0TD97130MF446714A","rel":"self","method":"GET"},{"href":"https://api.
sandbox.paypal.com/v1/payments/sale/0TD97130MF446714A/refund","rel":"refund","me
thod":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-17
C52753U3213490GKQ56FJQ","rel":"parent_payment","method":"GET"}]}}]}],"links":[{"
href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-17C52753U3213490GK
Q56FJQ","rel":"self","method":"GET"}]}

JSON格式的请求:

{
  "intent": "sale",
  "payer": {
    "payment_method": "credit_card",
    "funding_instruments": [
      {
        "credit_card_token": {
          "credit_card_id": "CARD-7F19874*H7676925VKQ55ALQ"
        }
      }
    ]
  },
  "transactions": [
    {
      "amount": {
        "total": "7.47",
        "currency": "USD"
      },
      "description": "This is the payment transaction description."
    }
  ]
}

响应:

{
  "id": "PAY-8U155502YW812893MKQ55D7Q",
  "create_time": "2014-10-13T13:22:06Z",
  "update_time": "2014-10-13T13:22:27Z",
  "state": "approved",
  "intent": "sale",
  "payer": {
    "payment_method": "credit_card",
    "funding_instruments": [
      {
        "credit_card_token": {
          "credit_card_id": "CARD-7F19874*H7676925VKQ55ALQ",
          "last4": "0331",
          "type": "visa",
          "expire_month": "11",
          "expire_year": "2018"
        }
      }
    ]
  },
  "transactions": [
    {
      "amount": {
        "total": "7.47",
        "currency": "USD",
        "details": {
          "subtotal": "7.47"
        }
      },
      "description": "This is the payment transaction description.",
      "related_resources": [
        {
          "sale": {
            "id": "5U920323FW4849716",
            "create_time": "2014-10-13T13:22:06Z",
            "update_time": "2014-10-13T13:22:27Z",
            "amount": {
              "total": "7.47",
              "currency": "USD"
            },
            "state": "completed",
            "parent_payment": "PAY-8U155502YW812893MKQ55D7Q",
            "links": [
              {
                "href": "https://api.sandbox.paypal.com/v1/payments/sale/5U920323FW4849716",
                "rel": "self",
                "method": "GET"
              },
              {
                "href": "https://api.sandbox.paypal.com/v1/payments/sale/5U920323FW4849716/refund",
                "rel": "refund",
                "method": "POST"
              },
              {
                "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-8U155502YW812893MKQ55D7Q",
                "rel": "parent_payment",
                "method": "GET"
              }
            ]
          }
        }
      ]
    }
  ],
  "links": [
    {
      "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-8U155502YW812893MKQ55D7Q",
      "rel": "self",
      "method": "GET"
    }
  ]
}

您可以使用下面的 php 代码:

<?php

//open connection
$ch = curl_init();

$client="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$secret="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, $client.":".$secret);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");

$result = curl_exec($ch);

if(empty($result))die("Error: No response.");
else
{
    $json = json_decode($result);
    print_r($json->access_token);
}

// Now doing txn after getting the token 

$ch = curl_init();

$data = '{
  "intent": "sale",
  "payer": {
    "payment_method": "credit_card",
    "funding_instruments": [
      {
        "credit_card_token": {
          "credit_card_id": "CARD-76K83451273207050KQ6MXDQ"
        }
      }
    ]
  },
  "transactions": [
    {
      "amount": {
        "total": "7.47",
        "currency": "USD"
      },
      "description": "This is the payment transaction description."
    }
  ]
}';

curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/payments/payment");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Authorization: Bearer ".$json->access_token));

$result = curl_exec($ch);


if(empty($result))die("Error: No response.");
else
{
    $json = json_decode($result);
    print_r($json);
}

?>

关于php - Paypal pro 使用存储的信用卡详细信息付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26339689/

相关文章:

php - 通过MySQL建站的优缺点

php - MySQL : help with count row function

php - APP_DEBUG=true 被忽略

android - 获取 Paypal 支付状态为 "DEAD"

PayPal API充值卡但返回错误

Paypal 沙盒生成消息 3005

PHP 'exec' 命令不能与 'awk' 命令一起正常工作

php - error_log 将参数传递给发送者

php - Paypal:如何在 payflow 中创建定期配置文件

asp.net - PayPalAPI 端点