NAME

Google::Checkout::General::DigitalContent

SYNOPSIS

use Google::Checkout::General::GCO;
use Google::Checkout::General::ShoppingCart;
use Google::Checkout::General::MerchantItem;
use Google::Checkout::General::DigitalContent;
use Google::Checkout::General::Util qw/is_gco_error/;

my $checkout_flow = Google::Checkout::General::MerchantCheckoutFlow->new(
                    shipping_method       => [$method],
                    edit_cart_url         => "http://edit/cart/url",
                    continue_shopping_url => "http://continue/shopping/url",
                    buyer_phone           => "1-111-111-1111",
                    tax_table             => [$table1, $table2],
                    merchant_calculation  => $merchant_calculation);

my $cart = Google::Checkout::General::ShoppingCart->new(
           expiration    => "+1 month",
           private       => "Private data",
           checkout_flow => $checkout_flow);

my $item1 = Google::Checkout::General::MerchantItem->new(
            name               => "Test item 1",
            description        => "Test description 1",
            price              => 12.34,
            quantity           => 12,
            private            => "Item #1",
            tax_table_selector => "item");

#--
#-- Same as MerchantItem except this is for digital delivery
#--
my $item2 = Google::Checkout::General::DigitalContent->new(
            name            => "Digital Content",
            description     => "For digital delivery",
            price           => 19.99,
            quantity        => 1,
            delivery_method => Google::Checkout::General::DigitalContent::EMAIL_DELIVERY
            );
my $item3 = Google::Checkout::General::DigitalContent->new(
            name            => $item2->get_name,
            description     => $item2->get_description,
            price           => $item2->get_price,
            quantity        => 1,
            delivery_method => Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY,
            download_instruction => "Use key to login and URL to download.",
            key             => "12345",
            url             => "http://abc/download"
            );

$cart->add_item($item1);
$cart->add_item($item2);
$cart->add_item($item3);

my $response = Google::Checkout::General::GCO->new->checkout($cart);

die $response if is_gco_error($response);

#--
#-- redirect URL
#--
print $response,"\n";

DESCRIPTION

Subclass of Google::Checkout::General::MerchantItem used for digital delivery.

new HASH

Constructor. Accepts the same parameter as Google::Checkout::General::MerchantItem with the additional support for digital delivery. `delivery_method' should be either Google::Checkout::General::DigitalContent::EMAIL_DELIVERY for Email delivery or Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY for key/URL deliver. If key/URL delivery, additional parameter for `key' or `url' must be provided.

get_delivery_method

Returns delivery method. Either Google::Checkout::General::DigitalContent::EMAIL_DELIVERY or Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY or empty string if the delivery method hasn't been set.

set_delivery_method METHOD

Sets the delivery method. Valid method are either Google::Checkout::General::DigitalContent::EMAIL_DELIVERY or Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY. Any other value will clear the delivery method to an empty string.

get_download_instruction

Returns the download instruction. This is only useful for Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY.

set_download_instruction INSTRUCTION

Sets the download instruction. This is only useful for Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY.

get_key

Returns key for key/URL delivery. This is only useful for Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY.

set_key

Sets the key for key/URL delivery. This is only useful for Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY.

Sets the price of the merchant item.

get_url

Returns the URL for key/URL delivery. This is only useful for Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY.

set_url URL

Sets the URL for key/URL delivery. This is only useful for Google::Checkout::General::DigitalContent::KEY_URL_DELIVERY.

COPYRIGHT

Copyright 2006 Google. All rights reserved.

SEE ALSO

Google::Checkout::General::MerchantItem