Skip to content

Commit 4fe36ba

Browse files
committed
add example
- vaultingTest - MarketplaceTest - SubscriptionTest
1 parent f53d638 commit 4fe36ba

19 files changed

+1849
-20
lines changed

example/MarketplaceTest.php

Lines changed: 209 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,216 @@
11
<?php
2+
require '../init.php';
23

34
use Request\marketplace\AlipayRegisterRequest;
5+
use Client\DefaultAlipayClient;
6+
7+
const clientId = "";
8+
const merchantPrivateKey = "";
9+
const alipayPublicKey = "";
10+
const gatewayUrl = "";
411

512
function register()
613
{
714
$alipayRegisterRequest = new AlipayRegisterRequest();
8-
$alipayRegisterRequest->setRegistrationRequestId();
9-
}
15+
$alipayRegisterRequest->setRegistrationRequestId('register_' . round(microtime(true) * 1000));
16+
17+
$settlementInfo = new \Model\SettlementInfo();
18+
$settlementInfo->setSettlementCurrency("BRL");
19+
$settlementBankAccount = new \Model\SettlementBankAccount();
20+
$settlementBankAccount->setBranchCode("1231");
21+
$settlementBankAccount->setRoutingNumber("12");
22+
$settlementBankAccount->setAccountType(\Model\AccountType::CHECKING);
23+
$settlementBankAccount->setAccountHolderTIN("1213214");
24+
$settlementBankAccount->setAccountHolderName("Timi");
25+
$settlementBankAccount->setBankAccountNo("121232141");
26+
$settlementBankAccount->setAccountHolderType(\Model\AccountHolderType::ENTERPRISE);
27+
$settlementInfo->setSettlementBankAccount($settlementBankAccount);
28+
$alipayRegisterRequest->setSettlementInfos($settlementInfo);
29+
30+
31+
$merchantInfo = new \Model\MerchantInfo();
32+
$merchantInfo->setLoginId("[email protected]");
33+
$merchantInfo->setLegalEntityType(\Model\LegalEntityType::COMPANY);
34+
35+
$company = new \Model\Company();
36+
$company->setLegalName("legalName");
37+
$address = new \Model\Address();
38+
$address->setRegion("BR");
39+
$company->setRegisteredAddress($address);
40+
$company->setCompanyType(\Model\CompanyType::LTDA);
41+
$address1 = new \Model\Address();
42+
$address1->setRegion("BR");
43+
$address1->setAddress1("address1");
44+
$company->setOperatingAddress($address1);
45+
46+
$attachment = new \Model\Attachment();
47+
$attachment->setAttachmentName("attachmentName");
48+
$attachment->setAttachmentType(\Model\AttachmentType::ASSOCIATION_ARTICLE);
49+
$company->setAttachments([$attachment]);
50+
$company->setOperatingAddress($address);
51+
$certificate = new \Model\Certificate();
52+
$certificate->setCertificateNo("11321421");
53+
$certificate->setCertificateType(\Model\CertificateType::ENTERPRISE_REGISTRATION);
54+
$company->setCertificates([$certificate]);
55+
56+
$merchantInfo->setCompany($company);
57+
$merchantInfo->setReferenceMerchantId(round(microtime(true) * 1000));
58+
59+
$businessInfo = new \Model\BusinessInfo();
60+
$businessInfo->setDoingBusinessAs("DoingBusinessAs");
61+
$webSite = new \Model\WebSite();
62+
$webSite->setUrl("www.alipay.com");
63+
$businessInfo->setWebsites([$webSite]);
64+
$merchantInfo->setBusinessInfo($businessInfo);
65+
66+
$entityAssociations = new \Model\EntityAssociations();
67+
$individual = new \Model\Individual();
68+
$certificate1 = new \Model\Certificate();
69+
$certificate1->setCertificateNo("11321421");
70+
$certificate1->setCertificateType(\Model\CertificateType::CPF);
71+
$individual->setCertificates([$certificate1]);
72+
$userName = new \Model\UserName();
73+
$userName->setFirstName("firstName");
74+
$userName->setLastName("lastName");
75+
$individual->setName($userName);
76+
$individual->setDateOfBirth("1990-01-01");
77+
$entityAssociations->setIndividual($individual);
78+
$entityAssociations->setLegalEntityType(\Model\LegalEntityType::INDIVIDUAL);
79+
80+
$merchantInfo->setEntityAssociations([$entityAssociations]);
81+
82+
$alipayRegisterRequest->setMerchantInfo($merchantInfo);
83+
84+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
85+
$alipayResponse = $alipayClient->execute($alipayRegisterRequest);
86+
87+
echo json_encode($alipayResponse);
88+
89+
}
90+
91+
function update($referenceMerchantId)
92+
{
93+
$alipaySettlementInfoUpdateRequest = new \Request\marketplace\AlipaySettlementInfoUpdateRequest();
94+
$alipaySettlementInfoUpdateRequest->setReferenceMerchantId($referenceMerchantId);
95+
$alipaySettlementInfoUpdateRequest->setUpdateRequestId("update_" . round(microtime(true) * 1000));
96+
$alipaySettlementInfoUpdateRequest->setSettlementCurrency("BRL");
97+
$settlementBankAccount = new \Model\SettlementBankAccount();
98+
$settlementBankAccount->setBranchCode("1231");
99+
$settlementBankAccount->setRoutingNumber("12");
100+
$settlementBankAccount->setAccountType(\Model\AccountType::CHECKING);
101+
$settlementBankAccount->setAccountHolderTIN("1213214");
102+
$settlementBankAccount->setAccountHolderName("Timi");
103+
$settlementBankAccount->setBankAccountNo("121232141");
104+
$settlementBankAccount->setAccountHolderType(\Model\AccountHolderType::ENTERPRISE);
105+
$alipaySettlementInfoUpdateRequest->setSettlementBankAccount($settlementBankAccount);
106+
107+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
108+
$alipayResponse = $alipayClient->execute($alipaySettlementInfoUpdateRequest);
109+
110+
echo json_encode($alipayResponse);
111+
}
112+
113+
function queryBalance($referenceMerchantId)
114+
{
115+
$alipayInquireBalanceRequest = new \Request\marketplace\AlipayInquireBalanceRequest();
116+
$alipayInquireBalanceRequest->setReferenceMerchantId($referenceMerchantId);
117+
118+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
119+
$alipayResponse = $alipayClient->execute($alipayInquireBalanceRequest);
120+
121+
echo json_encode($alipayResponse);
122+
}
123+
124+
function paymentId($paymentId)
125+
{
126+
$alipaySettleRequest = new \Request\marketplace\AlipaySettleRequest();
127+
$alipaySettleRequest->setPaymentId($paymentId);
128+
$alipaySettleRequest->setSettlementRequestId("settle_" . round(microtime(true) * 1000));
129+
$settlementDetail = new \Model\SettlementDetail();
130+
$settlementDetail->setSettleTo(\Model\SettleToType::SELLER);
131+
$amount = new \Model\Amount();
132+
$amount->setValue("90");
133+
$amount->setCurrency("BRL");
134+
$settlementDetail->setSettlementAmount($amount);
135+
136+
$settlementDetail1 = new \Model\SettlementDetail();
137+
$settlementDetail1->setSettleTo(\Model\SettleToType::MARKETPLACE);
138+
$amount1 = new \Model\Amount();
139+
$amount1->setValue("10");
140+
$amount1->setCurrency("BRL");
141+
$settlementDetail1->setSettlementAmount($amount);
142+
143+
$alipaySettleRequest->setSettlementDetails([$settlementDetail, $settlementDetail1]);
144+
145+
146+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
147+
$alipayResponse = $alipayClient->execute($alipaySettleRequest);
148+
149+
echo json_encode($alipayResponse);
150+
151+
}
152+
153+
154+
function createPayout()
155+
{
156+
$alipayCreatePayoutRequest = new \Request\marketplace\AlipayCreatePayoutRequest();
157+
$alipayCreatePayoutRequest->setTransferRequestId("transfer_" . round(microtime(true) * 1000));
158+
159+
$transferFromDetail = new \Model\TransferFromDetail();
160+
$paymentMethod = new \Model\PaymentMethod();
161+
$paymentMethod->setPaymentMethodId(round(microtime(true) * 1000));
162+
$paymentMethod->setPaymentMethodType(\Model\WalletPaymentMethodType::BALANCE_ACCOUNT);
163+
$transferFromDetail->setTransferFromMethod($paymentMethod);
164+
$alipayCreatePayoutRequest->setTransferFromDetail($transferFromDetail);
165+
166+
$transferToDetail = new \Model\TransferToDetail();
167+
$paymentMethod1 = new \Model\PaymentMethod();
168+
$paymentMethod1->setPaymentMethodId(round(microtime(true) * 1000));
169+
$paymentMethod1->setPaymentMethodType(\Model\WalletPaymentMethodType::SETTLEMENT_CARD);
170+
$transferToDetail->setTransferToMethod($paymentMethod1);
171+
$transferToDetail->setTransferToCurrency("BRL");
172+
$transferToDetail->setPurposeCode("GSD");
173+
$transferToDetail->setTransferNotifyUrl("www.alipay.com");
174+
$alipayCreatePayoutRequest->setTransferToDetail($transferToDetail);
175+
176+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
177+
$alipayResponse = $alipayClient->execute($alipayCreatePayoutRequest);
178+
179+
echo json_encode($alipayResponse);
180+
}
181+
182+
function createTransfer()
183+
{
184+
$alipayCreateTransferRequest = new \Request\marketplace\AlipayCreateTransferRequest();
185+
$alipayCreateTransferRequest->setTransferRequestId("transfer_" . round(microtime(true) * 1000));
186+
187+
$transferFromDetail = new \Model\TransferFromDetail();
188+
$paymentMethod = new \Model\PaymentMethod();
189+
$paymentMethod->setPaymentMethodId(round(microtime(true) * 1000));
190+
$paymentMethod->setPaymentMethodType(\Model\WalletPaymentMethodType::BALANCE_ACCOUNT);
191+
$amount = new \Model\Amount();
192+
$amount->setValue("100");
193+
$amount->setCurrency("BRL");
194+
$transferFromDetail->setTransferFromAmount($amount);
195+
$transferFromDetail->setTransferFromMethod($paymentMethod);
196+
$alipayCreateTransferRequest->setTransferFromDetail($transferFromDetail);
197+
198+
$transferToDetail = new \Model\TransferToDetail();
199+
$paymentMethod1 = new \Model\PaymentMethod();
200+
$paymentMethod1->setPaymentMethodId(round(microtime(true) * 1000));
201+
$paymentMethod1->setPaymentMethodType(\Model\WalletPaymentMethodType::BALANCE_ACCOUNT);
202+
$transferToDetail->setTransferToMethod($paymentMethod1);
203+
$transferToDetail->setTransferToCurrency("BRL");
204+
$transferToDetail->setPurposeCode("GSD");
205+
$transferToDetail->setTransferNotifyUrl("www.alipay.com");
206+
$alipayCreateTransferRequest->setTransferToDetail($transferToDetail);
207+
208+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
209+
$alipayResponse = $alipayClient->execute($alipayCreateTransferRequest);
210+
211+
echo json_encode($alipayResponse);
212+
}
213+
214+
register();
215+
216+

example/SubscriptionTest.php

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
<?php
2+
3+
require '../init.php';
4+
use Client\DefaultAlipayClient;
5+
6+
const clientId = "";
7+
const merchantPrivateKey = "";
8+
const alipayPublicKey = "";
9+
const gatewayUrl = "";
10+
11+
function SubscriptionsCreate()
12+
{
13+
$alipaySubscriptionCreateRequest = new \Request\subscription\AlipaySubscriptionCreateRequest();
14+
$alipaySubscriptionCreateRequest->setSubscriptionRequestId('SubscriptionCreate_' . round(microtime(true) * 1000));
15+
$env = new \Model\Env();
16+
$env->setClientIp("1.*.*.*");
17+
$env->setTerminalType(\Model\TerminalType::WEB);
18+
$env->setOsType(\Model\OsType::ANDROID);
19+
$alipaySubscriptionCreateRequest->setEnv($env);
20+
21+
$amount = new \Model\Amount();
22+
$amount->setValue("100");
23+
$amount->setCurrency("HKD");
24+
$alipaySubscriptionCreateRequest->setPaymentAmount($amount);
25+
26+
$alipaySubscriptionCreateRequest->setPaymentNotificationUrl("http://www.alipay.com");
27+
28+
$periodRule = new \Model\PeriodRule();
29+
$periodRule->setPeriodType(\Model\PeriodType::MONTH);
30+
$periodRule->setPeriodCount(1);
31+
$alipaySubscriptionCreateRequest->setPeriodRule($periodRule);
32+
33+
$settlementStrategy = new \Model\SettlementStrategy();
34+
$settlementStrategy->setSettlementCurrency("USD");
35+
$alipaySubscriptionCreateRequest->setSettlementStrategy($settlementStrategy);
36+
37+
$alipaySubscriptionCreateRequest->setSubscriptionDescription("SubscriptionCreate");
38+
$alipaySubscriptionCreateRequest->setSubscriptionStartTime("2024-09-25T11:01:01+08:00");
39+
$alipaySubscriptionCreateRequest->setSubscriptionEndTime("2024-09-26T11:01:01+08:00");
40+
$alipaySubscriptionCreateRequest->setSubscriptionExpiryTime("2024-09-27T11:01:01+08:00");
41+
$alipaySubscriptionCreateRequest->setPaymentNotificationUrl("http://www.alipay.com");
42+
43+
$orderInfo = new \Model\OrderInfo();
44+
$amount1 = new \Model\Amount();
45+
$amount1->setValue("100");
46+
$amount1->setCurrency("HKD");
47+
$orderInfo->setOrderAmount($amount1);
48+
$alipaySubscriptionCreateRequest->setOrderInfo($orderInfo);
49+
50+
$paymentMethod = new \Model\PaymentMethod();
51+
$paymentMethod->setPaymentMethodType(\Model\WalletPaymentMethodType::ALIPAY_HK);
52+
$alipaySubscriptionCreateRequest->setPaymentMethod($paymentMethod);
53+
54+
55+
$alipaySubscriptionCreateRequest->setSubscriptionRedirectUrl("http://www.alipay.com");
56+
$alipaySubscriptionCreateRequest->setSubscriptionNotificationUrl("http://www.alipay.com");
57+
58+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
59+
$alipayResponse = $alipayClient->execute($alipaySubscriptionCreateRequest);
60+
61+
echo json_encode($alipayResponse);
62+
63+
64+
}
65+
66+
function SubscriptionsChange($subscriptionId)
67+
{
68+
$alipaySubscriptionChangeRequest = new \Request\subscription\AlipaySubscriptionChangeRequest();
69+
$alipaySubscriptionChangeRequest->setSubscriptionId($subscriptionId);
70+
$alipaySubscriptionChangeRequest->setSubscriptionChangeRequestId('SubscriptionChange_' . round(microtime(true) * 1000));
71+
72+
$amount = new \Model\Amount();
73+
$amount->setValue("100");
74+
$amount->setCurrency("HKD");
75+
$alipaySubscriptionChangeRequest->setPaymentAmountDifference($amount);
76+
$alipaySubscriptionChangeRequest->setPaymentAmount($amount);
77+
78+
$periodRule = new \Model\PeriodRule();
79+
$periodRule->setPeriodType(\Model\PeriodType::MONTH);
80+
$periodRule->setPeriodCount(1);
81+
$alipaySubscriptionChangeRequest->setPeriodRule($periodRule);
82+
83+
84+
$alipaySubscriptionChangeRequest->setSubscriptionStartTime("2024-09-24T12:01:01+08:00");
85+
$alipaySubscriptionChangeRequest->setSubscriptionEndTime("2024-09-28T12:01:01+08:00");
86+
87+
$orderInfo = new \Model\OrderInfo();
88+
$amount1 = new \Model\Amount();
89+
$amount1->setValue("100");
90+
$amount1->setCurrency("BRL");
91+
$orderInfo->setOrderAmount($amount1);
92+
$alipaySubscriptionChangeRequest->setOrderInfo($orderInfo);
93+
94+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
95+
$alipayResponse = $alipayClient->execute($alipaySubscriptionChangeRequest);
96+
97+
echo json_encode($alipayResponse);
98+
99+
}
100+
101+
function subscriptionCancel($subscriptionId)
102+
{
103+
$alipaySubscriptionCancelRequest = new \Request\subscription\AlipaySubscriptionCancelRequest();
104+
$alipaySubscriptionCancelRequest->setSubscriptionId($subscriptionId);
105+
$alipaySubscriptionCancelRequest->setCancellationType(\Model\CancellationType::CANCEL);
106+
107+
$alipayClient = new DefaultAlipayClient("https://open-sea-global.alipay.com", merchantPrivateKey, alipayPublicKey, clientId);
108+
$alipayResponse = $alipayClient->execute($alipaySubscriptionCancelRequest);
109+
110+
echo json_encode($alipayResponse);
111+
}
112+
113+
//SubscriptionsCreate();
114+
115+
//SubscriptionsChange("202409251900000000000001J0000009949");
116+
117+
subscriptionCancel("202409251900000000000001J0000009949");

0 commit comments

Comments
 (0)