Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP向Paymill中的客户分配付款详细信息和报价?_Php_Paymill - Fatal编程技术网

如何使用PHP向Paymill中的客户分配付款详细信息和报价?

如何使用PHP向Paymill中的客户分配付款详细信息和报价?,php,paymill,Php,Paymill,我正在Paymill中创建一个客户和一个报价,但我不知道如何向客户添加付款详细信息,然后将报价分配给客户。有人知道我怎么做吗 以下是我创建客户和报价的代码: $params = array( 'amount' => '3000', // E.g. "4200" for 42.00 EUR 'currency' => 'GBP', // ISO 4217 'interval' => '1 MONTH', // Opti

我正在Paymill中创建一个客户和一个报价,但我不知道如何向客户添加付款详细信息,然后将报价分配给客户。有人知道我怎么做吗

以下是我创建客户和报价的代码:

$params = array(
    'amount'   => '3000',       // E.g. "4200" for 42.00 EUR
    'currency' => 'GBP',        // ISO 4217 
    'interval' => '1 MONTH',    // Options: "# DAY", "# WEEK", "# MONTH" and "# YEAR"
    'name'     => 'Tier 1'
);

$apiKey        = '111111111111111111111';
$apiEndpoint   = 'https://api.paymill.com/v2/';
$offersObject  = new Services_Paymill_Offers($apiKey, $apiEndpoint);
$offer         = $offersObject->create($params);

$email         = $_POST['email'];
$description   = "Tier 1";
$clientsObject = new Services_Paymill_Clients($apiKey, $apiEndpoint);
$client        = $clientsObject->create(array(
    'email'       => $email,
    'description' => $description
    )); 

print_r($clientsObject);

echo "tier 1 success<br/><br/>";

print_r($offersObject);
$params=array(
'金额'=>'3000',//例如42.00欧元的“4200”
'货币'=>'英镑',//ISO 4217
'间隔'=>'1个月',//选项:“#天”、“#周”、“#月”和“#年”
“名称”=>“第1层”
);
$apiKey='111111111';
$apihttps://api.paymill.com/v2/';
$offersObject=新服务\付费工厂\提供的服务($apiKey,$apiEndpoint);
$offer=$offersObject->create($params);
$email=$_POST['email'];
$description=“Tier 1”;
$clientsObject=新服务\付费工厂\客户($apiKey,$apident);
$client=$clientsObject->创建(数组)(
“email”=>$email,
'description'=>$description
)); 
打印(clientsObject);
回应“一级成功

”; 打印(报价对象);

我发现从文档中很难理解,而且还没有找到教程-任何帮助都将是惊人的!谢谢,乔,你必须创建一个客户、付款和报价。之后,使用创建的客户机、付款和报价创建订阅

以下代码将解决此问题:

$apiKey = '111111111111111111111';
$apiEndpoint = 'https://api.paymill.de/v2/';

$clientsObject = new Services_Paymill_Clients($apiKey, $apiEndpoint);
$clientData = array(
    'email' => $_POST['email'],
    'description' => 'Tier 1'
);
$client = $clientsObject->create($clientData);

$paymentObject = new Services_Paymill_Payments($apiKey, $apiEndpoint);
$paymentData = array(
    'token' => '098f6bcd4621d373cade4e832627b4f6',      //general test-token
    'client' => $client['id']
);
$payment = $paymentObject->create($paymentData);

$offersObject = new Services_Paymill_Offers($apiKey, $apiEndpoint);
$offersData = array(
    'amount'   => '3000',       // E.g. "4200" for 42.00 EUR
    'currency' => 'GBP',        // ISO 4217 
    'interval' => '1 MONTH',    // Options: "# DAY", "# WEEK", "# MONTH" and "# YEAR"
    'name'     => 'Tier 1'
);
$offer = $offersObject->create($offersData);

$subscriptionObject = new Services_Paymill_Subscriptions($apiKey, $apiEndpoint);
$subscriptionData = array(
    'client' => $client['id'],
    'offer' => $offer['id'],
    'payment' => $payment['id']
);
$subscription = $subscriptionObject->create($subscriptionData);
致意

林戈


Paymill开发者

您必须创建客户、付款和报价。之后,使用创建的客户机、付款和报价创建订阅

以下代码将解决此问题:

$apiKey = '111111111111111111111';
$apiEndpoint = 'https://api.paymill.de/v2/';

$clientsObject = new Services_Paymill_Clients($apiKey, $apiEndpoint);
$clientData = array(
    'email' => $_POST['email'],
    'description' => 'Tier 1'
);
$client = $clientsObject->create($clientData);

$paymentObject = new Services_Paymill_Payments($apiKey, $apiEndpoint);
$paymentData = array(
    'token' => '098f6bcd4621d373cade4e832627b4f6',      //general test-token
    'client' => $client['id']
);
$payment = $paymentObject->create($paymentData);

$offersObject = new Services_Paymill_Offers($apiKey, $apiEndpoint);
$offersData = array(
    'amount'   => '3000',       // E.g. "4200" for 42.00 EUR
    'currency' => 'GBP',        // ISO 4217 
    'interval' => '1 MONTH',    // Options: "# DAY", "# WEEK", "# MONTH" and "# YEAR"
    'name'     => 'Tier 1'
);
$offer = $offersObject->create($offersData);

$subscriptionObject = new Services_Paymill_Subscriptions($apiKey, $apiEndpoint);
$subscriptionData = array(
    'client' => $client['id'],
    'offer' => $offer['id'],
    'payment' => $payment['id']
);
$subscription = $subscriptionObject->create($subscriptionData);
致意

林戈


Paymill开发者

关于Ringo回答的问题

不,您无需每次为现有客户创建另一个令牌,并使用此特定信用卡进行第一笔交易。令牌仅在第一个事务中使用。在第一笔交易的响应中收到paymentobject_id后,您可以使用该id进行重复/重复交易,而无需为此客户端的paymentobject创建另一个令牌。但是如果客户想用另一张信用卡付款,例如,您现在没有paymentobject。然后,您需要像之前一样为第一个事务创建此paymentobject的令牌,并在第一个事务之后获取另一个paymentobject\u id

最好的,
克里斯汀

关于林戈回答的问题

不,您无需每次为现有客户创建另一个令牌,并使用此特定信用卡进行第一笔交易。令牌仅在第一个事务中使用。在第一笔交易的响应中收到paymentobject_id后,您可以使用该id进行重复/重复交易,而无需为此客户端的paymentobject创建另一个令牌。但是如果客户想用另一张信用卡付款,例如,您现在没有paymentobject。然后,您需要像之前一样为第一个事务创建此paymentobject的令牌,并在第一个事务之后获取另一个paymentobject\u id

最好的,
Christian

非常感谢您!我应该在$paymentData数组中每次生成不同的令牌吗?非常感谢!我是否应该在$paymentData数组中每次生成不同的令牌?