Проблема с подпиской на Google Checkout
Я пытаюсь создать подписку в Google Checkout. Подписка создана, но она взимается в конце периода, а не в начале. Я признаю, что я ждал только несколько часов, чтобы убедиться, что он будет заряжаться, поэтому, если мне просто нужно подождать, дайте мне знать.
Я попытался сопоставить код в точности так, как показано здесь: http://code.google.com/apis/checkout/developer/Google_Checkout_Beta_Subscriptions.html
Кто-нибудь когда-нибудь мог заставить это заряжать в начале, а не в конце?
У меня есть следующий код:
string digitalContent = "Congratulations! Your subscription is being set up. Feel free to log onto <a href='{0}'>{0}</a> and try it out!";
digitalContent = String.Format(digitalContent, String.Format(ConfigurationManager.AppSettings["ContinueShoppingUrl"], this.Transaction.ID));
CheckoutShoppingCartRequest Req = GCheckoutButton1.CreateRequest();
Req.ContinueShoppingUrl = String.Format(ConfigurationManager.AppSettings["ContinueShoppingUrl"], this.Transaction.ID);
Req.EditCartUrl = ConfigurationManager.AppSettings["EditCartUrl"];
SubscriptionPayment payment = new SubscriptionPayment();
payment.MaximumCharge = 0;
payment.Times = 12;
Subscription subscription = new Subscription();
subscription.Period = GCheckout.AutoGen.DatePeriod.MONTHLY;
subscription.Type = SubscriptionType.google;
subscription.StartDate = DateTime.Now;
subscription.NoChargeAfter = DateTime.Now.AddMonths(12);
ShoppingCartSubscriptionItem subscriptionItem = new ShoppingCartSubscriptionItem();
subscriptionItem.Price = 0;
subscriptionItem.Name = "Subscription to [redacted]";
subscriptionItem.Description = "Subscription to [redacted]";
subscriptionItem.Quantity = 1;
subscriptionItem.Subscription = subscription;
subscriptionItem.DigitalContent = new DigitalItem(digitalContent, false);
ShoppingCartSubscriptionItem subscriptionItem2 = new ShoppingCartSubscriptionItem();
subscriptionItem2.Name = "";
subscriptionItem2.Description = this.Transaction.ID.ToString();
subscriptionItem2.Quantity = 1;
payment.MaximumCharge = 15.00M;
subscriptionItem2.Price = 15.00M;
subscription.RecurrentItem = subscriptionItem2;
subscription.AddSubscriptionPayment(payment);
Req.AddItem(subscriptionItem);
GCheckoutResponse Resp = Req.Send();
Который генерирует следующий XML:
<?xml version="1.0" encoding="utf-8" ?>
- <checkout-shopping-cart xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://checkout.google.com/schema/2">
- <shopping-cart>
- <items>
- <item>
- <subscription no-charge-after="2012-06-28T06:54:15.9492-07:00" period="MONTHLY" start-date="2011-06-28T06:54:15.9492-07:00" type="google">
- <payments>
- <subscription-payment times="12">
<maximum-charge currency="USD">15.00</maximum-charge>
</subscription-payment>
</payments>
- <recurrent-item>
<tax-table-selector />
<item-name />
<item-description>3119988d-9ce4-43d2-b2a4-6f9bf1fe6a78</item-description>
<unit-price currency="USD">15.00</unit-price>
<quantity>1</quantity>
</recurrent-item>
</subscription>
- <digital-content>
<description>Congratulations! Your subscription is being set up. Feel free to log onto <a href='[redacted]/Transactions/3119988d-9ce4-43d2-b2a4-6f9bf1fe6a78'>[redacted]/Transactions/3119988d-9ce4-43d2-b2a4-6f9bf1fe6a78</a> and try it out!</description>
<display-disposition>PESSIMISTIC</display-disposition>
</digital-content>
<tax-table-selector />
<item-name>Subscription to Escrow Coordinator Plus</item-name>
<item-description>Subscription to Escrow Coordinator Plus</item-description>
<unit-price currency="USD">0</unit-price>
<quantity>1</quantity>
</item>
</items>
</shopping-cart>
- <checkout-flow-support>
- <merchant-checkout-flow-support>
<edit-cart-url>[redacted]</edit-cart-url>
<continue-shopping-url>[redacted]/Transactions/3119988d-9ce4-43d2-b2a4-6f9bf1fe6a78</continue-shopping-url>
</merchant-checkout-flow-support>
</checkout-flow-support>
</checkout-shopping-cart>
1 ответ
Проверьте сайт API Google: http://code.google.com/apis/checkout/developer/Google_Checkout_Beta_Subscriptions.html найдите раздел "Отправка заказа с подпиской". Я попытаюсь найти ссылку, но я прочитал, что для зарядки вначале у вас должен быть второй товар в корзине. Таким образом, один элемент заряжается сейчас, а затем повторяется в конце каждого периода. Это было в API документации