1

サブスクリプション i Paymill を作成しようとしています。私は彼らの例を読んだことがありますが、私はそれを理解していないようです.

私が本当にやりたいのは、サブスクリプションをセットアップすることだけです。これが私の現在のコードです:

$token = $_POST['paymillToken'];

if ($token) {
    require "Services/Paymill/Payments.php";
    require "Services/Paymill/Transactions.php";
    require "Services/Paymill/Subscriptions.php";
    require "Services/Paymill/Offers.php";


  $params = array(
    'amount'      => '49900',  // Cent!
    'currency'    => 'SEK',   // ISO 4217
    'token'       => $token,
    'description' => 'User ID# ' . $userIdMain . ' Email: ' . $userEmail
  );

$transactionsObject = new Services_Paymill_Transactions(
    PAYMILL_API_KEY, PAYMILL_API_HOST
);
$transaction        = $transactionsObject->create($params);

echo "<br /><br />";    
print_r($transaction);

echo $transaction['client']['id'];
echo $transaction['payment']['id'];


$params = array(
    'client'   => $transaction['client']['id'],
    'offer'    => 'offer_9cdffb501f565bf827a8',
    'payment'  => $transaction['payment']['id']
);
$subscriptionsObject = new Services_Paymill_Subscriptions(PAYMILL_API_KEY, PAYMILL_API_HOST);
$subscription        = $subscriptionsObject->create($params);

echo "<br /><br />";    
print_r($subscription);

} 

問題は、上記が一度に 2 つの支払いを作成することです。しかし、サブスクリプション オブジェクトでは、最初に payment_id が必要なようです (上記の $transaction['payment']['id'] を参照)。

ここで何が間違っていますか?

4

2 に答える 2

3

サブスクリプションを作成するとトランザクションも作成されますが、これは正しいことです。新しいトランザクションを作成して渡す代わりに、支払いオブジェクト ( https://www.paymill.com/en-gb/documentation-3/reference/api-reference/#create-new-credit-card-payment-with )を追加します。 Subscription->create() への ID。

于 2013-03-18T12:37:28.300 に答える