COVID-19 Cases: Philippines

DOH launches  COVID-19 Hotlines: 1555 (PLDT, Smart, Sun, and TNT subscribers) and (02) 894-26843 (894-COVID).

Disclaimer: Information listed in this web site may change at any time due to evolving situation. For further info, please visit the official DOH web site, e-mail: ncov@doh.gov.ph, or call (02) 8651-7800 local 1149-1150

Markers used in countries  are placed in their respective [near] country centroids. 

The Facebook and Twitter logos are owned and registered trademarks of Facebook, Inc. and Twitter, Inc, respectively.

Data Source: Epidemiology Bureau, Department of Health (DOH), Philippines;  Bureau of International Health Cooperation, DOH, Philippines

Visualization: Knowledge Management and Information Technology Service, DOH, Philippines

Global cases dashboard: World Health Organization

Situation COVID19 in Singapore

13TH MAR 2020

       Singapore will implement additional precautionary measures to slow the transmission of the COVID-19 virus. These include travel advisories against all non-essential travel and border restrictions for Italy, France, Spain and Germany, as well as additional social distancing measures within Singapore.

2.            The World Health Organization (WHO) declared the COVID-19 outbreak a global pandemic on 11 March 2020, and called upon governments around the world to do more to combat the virus. The WHO cited Singapore as a country that has already taken proactive measures to contain the virus. Still, as the co-chairs of the Multi-Ministry Taskforce said on Tuesday, and as the Prime Minister warned in a national broadcast yesterday, we must take additional measures, including further temporary travel restrictions, to break the transmission of the virus.

3.            In the past two weeks, the number of cases of COVID-19 outside China has increased more than ten-fold, and the number of affected countries has tripled. There are now more than 125,000 cases in 118 countries, and more than 4,000 deaths. In Singapore, as of 12 March, almost 25% of our total number of confirmed cases were imported. Over the past ten days alone, there have been 23 imported cases, or nearly a third of all new cases. These included 13 cases with travel history to European countries, and six cases from Indonesia.

4.            In light of the rapid spread of the virus across Europe, the Ministry of Health (MOH) advises Singaporeans to defer all non-essential travel to Italy, France, Spain and Germany. The four countries have had very high numbers of cases and very high rates of increase. In addition, our existing advisory to defer all travel to Hubei province in mainland China, and non-essential travel to the rest of mainland China, Iran1, Japan and the Republic of Korea, remains.

Travel advisory

5.            Singaporeans are also advised to exercise caution when travelling to all countries affected by COVID-19, especially those which have exported cases (see Annex). These include our neighbouring countries, like Indonesia and the Philippines, and those further afield, like the United Kingdom. The global picture is evolving, and there could be other countries that may be affected.

6.            Singaporeans who have made plans to travel during the upcoming March school holidays are advised to review their plans based on the latest advisory. All travellers will be subject to the prevailing travel measures imposed by their destination countries, and those imposed by Singapore upon their return home. As Singapore’s measures will evolve according to the global situation, Singaporeans should check the MOH website (https://www.moh.gov.sg/covid-19) for the latest measures.

Border restrictions

7.            Given the increase in imported cases from European countries, we are putting in place new border restrictions.

a.            From 15 March 2020, 2359 hours, all new visitors with recent travel history to Italy, France, Spain and Germany within the last 14 days will not be allowed entry into Singapore, or transit through Singapore. 

b.            From 15 March 2020, 2359 hours, the following groups will be issued with a Stay-Home Notice (SHN):

i.              Residents (Singapore Citizens and Permanent Residents) with recent travel history to Italy, France, Spain and Germany within the last 14 days; and

ii.             Long-term pass holders (including work passes, Student’s Pass, Dependant’s Pass, and Long-term Visit Pass) with recent travel history to Italy, France, Spain and Germany within the last 14 days. 

8.            Persons under SHN will have to remain in their place of residence at all times for 14 days after returning to Singapore.

9.            As previously announced, residents and long-term pass holders returning from mainland China (outside Hubei province2), Iran, and the Republic of Korea will continue to be issued a 14-day SHN upon return to Singapore.

10.          All these border restrictions are temporary, and will be reviewed regularly based on the global situation.

Additional precautionary measures

11.          Since 4 March 2020, travellers entering Singapore and exhibiting fever and/or other symptoms of respiratory illness are required to undergo a COVID-19 swab test at the checkpoint, regardless of travel history. With immediate effect, all such travellers will also be issued a 14-day SHN3, which they will have to serve in full even if the result of the swab test is negative. Those who meet the clinical suspect case definition will be conveyed to the hospital for follow-up.

12.          With immediate effect, Singapore will cease port calls for all cruise vessels.

Social distancing

13.          In order to reduce the risk of local transmission, we will introduce requirements and advisories for events and gatherings, workplaces and public venues. This is to limit large crowds gathering in close proximity over a prolonged duration.

Advisory for events and gatherings

14.          All ticketed cultural, sports and entertainment events, with 250 participants or more, are to be deferred or cancelled. For events that have already been committed (e.g. tickets sold), organisers must demonstrate that satisfactory precautionary measures have been put in place before they can proceed.  

15.          For all other mass gatherings including private functions and religious services, organisers are advised to put in place the following precautions:

a.            Reduce the scale of events to below 250 participants where possible;

b.            Reduce the crowding of participants and improve ventilation. For example, participants could be seated at least a metre apart from one another, and be advised to reduce contact with others (e.g. avoid shaking hands);

c.             Put in place temperature and health screening measures, as well as turn away persons who are unwell; and

d.            Put in place measures to facilitate contact tracing if needed, such as obtaining contact details of participants.

16.          Participants are also advised to practise social responsibility – monitor their own health condition and avoid attending gatherings and events if unwell.

Advisory for workplaces

17.          Employers are advised to put in place measures to reduce close contact where feasible. For example, employers should implement tele-commuting and video-conferencing where possible, as well as stagger work hours, and allow employees to commute at off-peak hours. Seating in meeting rooms and work stations could also be spaced apart. 

Advisory for public venues

18.          Owners/ tenants of venues which are accessible to the public are advised to put in place measures to reduce close contact by patrons/customers, where possible. For instance:

a.            Dining venues could set seats at least a metre apart;

b.            Entertainment venues and tourist attractions (e.g. casinos, cinemas, theme parks, museums, and galleries) could limit the number of visitors at any one time, and/or increase spacing among visitors; and

c.             Sports centres with indoor facilities (e.g. gyms, private academies) could limit the number of patrons, introduce physical separation measures, increase the frequency of cleaning, as well as issue advisories to reduce unnecessary contact, and practise public hygiene.

19.          The above advisories for events, gatherings, workplaces and public venues will be subject to further review based on the global situation.

MINISTRY OF HEALTH
13 MARCH 2020

The Ministry of Foreign Affairs’ advisory issued on 8 January 2020 against travelling to or remaining in Iran due to rising tensions in the Middle East remains in place.
Persons returning from Hubei province are subject to quarantine.
Places where foreign visitors serve out their SHN period can include hotels.

Syarat Adsense

Inilah Syarat Mengajukan AdSense di Youtube Anda Agar Cepat Di Terima

AdSense di platform Youtube adalah salah satu keran penghasil uang yang sangat menjanjikan. Inilah mengapa banyak Youtuber gencar mengaktifkan fitur iklan di video dan channel mereka. Meskipun begitu, Youtube juga memiliki cara jitu yang ketat sebelum iklan berhasil tayang di akun Youtube Anda. 

Sejumlah persyaratan harus Anda penuhi terlebih dahulu. Anda penasaran apa saja syaratnya? Yuk langsung saja Anda simak di bawah ini:

Video yang terverifikasi

Lakukan proses verifikasi terutama saat Anda mengunggah video yang cukup panjang berdurasi lebih dari 15 menit. Cara melakukan verifikasi cukup mudah yaitu dengan membuka halaman upload, klik “increase your limit”. Kemudian, pilih metode untuk verifikasi apakah Anda akan menggunakan pesan suara atau pesan teks.

Setelah kode dikirimkan ke nomer telephone Anda, masukkan ke dalam form verifikasi dan klik tombol “submit”. Maka akan muncul teks “partner verified” jika sudah berhasil.

Memilliki 4.000 jam tayang

Setidaknya Anda harus sudah memiliki 4.000 jam tayang dan angka ini terhitung mulai dari 12 bulan terakhir atau kurang lebih setahun ini.

Jangan menyerah hanya karena Anda harus memiliki 4.000 jam tayang, nikmati prosesnya, maka tanpa Anda sadari 4.000 jam tayang bisa Anda penuhi dengan cepat.

Memiliki 1000 Subscriber

Meskipun saat ini memang konten creator Youtube menjadi semakin banyak namun paling tidak Anda harus memiliki 1000 subscriber aktif . Untuk mendapatkan subscriber sebanyak itu, seharusnya Anda mulai merapikan channel Youtube Anda agar bisa menarik lebih banyak subscriber lagi. 

Jauhi Komentar Bersifat Spamming

Hindari melakukan spamming komentar, melakukan hal ini bisa berdampak pada sulitnya mengajukan AdSense. Terutama Youtube AdSense. Anda akan melalui tahap verifikasi kembali. Setelah syarat semua terkumpul dan lengkap maka setelah dua minggu barulah keputusan pengumuman layak tidaknya akun Anda mendapatkan AdSense.

Setelah mengetahui empat hal di atas, sebaiknya Anda lebih berhati-hati saat akan melakukan pengajuan ke pihak Youtube ya. Perhatikan syarat-syaratnya di atas, Semoga berhasil ya.

Youtube atau Facebook

Membaca judul di atas tentu membuat Anda sedikit bingung bukan? Melihat kondisi saat ini yang mulai banyak menjadi Youtuber, apakah Anda juga tergiur dengan penghasilannya? Atau Anda justru lebih tertarik menggeluti bidang sosial media Facebook sebagai ladang penghasilan Anda?

Coba simak di bawah ini ya:

Youtube Atau Facebook?

Sebenarnya dari dua jenis media sosial ini masing-masing memiliki kelebihan dan kekurangan. Jadi, semua tergantung Anda bagaimana menilai dan memilih salah satu dari kedua sosial media ini. 

Youtube

Jika Anda lebih memilih Youtube, sebaiknya Anda sudah mengerti apa saja kelebihan dan kekurangannya. Jika dilihat sekilas, saat ini semakin banyak kaum milenial yang mulai menggeluti bidang Youtuber. 

Namun ternyata, Youtube juga memberlakukan peraturan yang cukup ketat, bahwa mulai tahun 2018, semua Youtuber harus memenuhi syarat dan ketentuan salah satunya adalah Channel Youtube Anda harus memiliki paling tidak 1000 akun subscriber aktif dengan total keseluruhan 4.000 jam tayang dalam satu channel.

Tentu saja ini bertujuan agar mendapat penghasilan dari Youtube melalui iklan crossposting Adsense. Beberapa kelebihan lainnya seperti:

  • Gratis tanpa biaya apapun
  • Video mampu di download secara mudah
  • Memiliki fitur live streaming
  • Memiliki potensi penghasilan yang lebih tinggi
  • Memiliki tampilan yang  lebih dinamis dan fokus

Dan apa saja kekurangannya?

  • Fiturnya cukup terbatas 
  • Adanya fitur homepage dan booble yang sedikit merugikan para konten creator yang masih pemula.

Facebook

Tetap saja sebesar apapun Youtube masih kalah dengan Facebook, itulah mengapa Facebook sering dijuluki raksasa media sosial. Apa saja kelebihan dan kekurangannya? Yuk simak di bawah ini. Kelebihannya:

  • Memiliki tingkat persaingan yang lebih sedikit
  • Memiliki fitur dashboard yang terperinci
  • Memiliki pengguna yang sangat atraktif
  • Memiliki peluang untuk share dan viral lebih besar

Kekurangannya:

  • Penghasilan yang masih samar
  • Memiliki tampilan iklan yang sedikit
  • Syarat dan ketentuan yang cukup tinggi untuk masalah monetisasi

Sepertinya sudah bisa dinilai ya bahwa dengan Youtube Anda akan lebih mudah mendapat penghasilan. Tapi semua kembali lagi kepada Anda, Anda lebih menyukai, dan nyaman dengan Facebook atau Youtube. Semoga bermanfaat. 

Menjadi Seorang Youtuber

Saat ini, ternyata semakin banyak orang yang mulai tertarik menjadi seorang Youtuber. Banyak yang berpendapat bahwa profesi ini lebih terlihat mudah dan bayarannya pun cukup besar. Bahkan Youtuber bisa mendapatkan uang meski hanya dengan duduk dan bersantai menikmati kopi di sore hari.

Sekali saja mengunggah video, saat video tersebut mulai ditonton banyak orang maka secara tidak langsung, uang pun akan tergelontorkan masuk ke rekening tanpa kesulitan sedikit pun. Membayangkan hal seperti ini tentu membuat Anda semakin berambisi menjadi seorang Youtuber. Benar kan?

Situs Youtube yang digagas oleh tiga mantan karyawan PayPal di tahun 2005 ini sekarang digandrungi oleh banyak lapisan masyarakat. Mulai tahun 2019 para Youtuber berlomba-lomba mencari konten unik agar bisa meraup banyak subscriber dan pengunjung. Penghasilan yang didapatkan juga sangat menggiurkan. Coba simak di bawah ini:

Penghasilan Youtuber Indonesia

Sepertinya sudah banyak orang yang tahu jika penghitungan rate dari seorang Youtuber adalah 1 USD untuk 1000 views. Jadi postingan Anda harus dilihat 1000 kali baru akan mendapat uang sebesar 1 USD. Eits, tapi tunggu dulu, sepertinya aturan itu hanya berlaku di pasar Amerika Serikat ya. Selain itu, ternyata Anda juga harus memperhitungkan apakah postingan Anda itu mampu menarik pengunjung untuk mengklik ke iklan atau tidak.

Jika iya, barulah bisa dibilang postingan Anda ini mendapat uang. Nah, selain itu, penghasilan yang banyak juga dipengaruhi oleh konten postingan Anda. Jika postingan Anda memiliki konten yang mahal seperti gadget, software, dan komputer tentu nilai perkliknya akan lebih mahal.

Di Indonesia sendiri sebenarnya memiliki sistem effective cost per mille,inilah yang menyebabkan kenapa pendapatan Anda masih sama atau tetap di bawah 10 USD padahal views nya sudah mencapai hingga puluhan ribu. 

Cost per Mille

Apa itu CPM atau Cost per Mille? Ini adalah bayaran berdasarkan jumlah tayang atau penontonnya. Jika di Amerika, dengan total per 1000 views nya akan di beri 1 hingga 7 USD, maka di Indonesia pula hanya di berikan Rp 7.000 per 1000 views. 

Jadi sudah bisa dibayangkan ya kalau Anda memiliki video dengan jumlah 1 juta views, nominal yang akan Anda dapatkan diperkirakan sekitar 550 USD atau Rp 7.000.000. 

Cost per Click

Apa itu CPC atau Cost per Click? Ini adalah bayaran yang diberikan berdasarkan jumlah per klik iklan yang ada di video atau channel Youtube Anda. Di Indonesia biasanya diberi harga Rp 5.000. 

Itulah tadi beberapa cara untuk tau dari mana penghasilan seorang Youtuber. Apakah Anda tertarik? 

Wabah Coronavirus

Protokol Kesehatan COVID-19

Protokol Komunikasi Publik COVID-19

Protokol Pintu Masuk Wilayah Indonesia (Bandara, Pelabuhan, PLBDN) COVID-19

Protokol Area Institusi Pendidikan COVID-19

Protokol Di Area Dan Transportasi Publik COVID-19

Referensi

Apa itu coronavirus?
Ini adalah virus baru yang dinamai paku mirip mahkota yang menonjol dari permukaannya. Virus corona dapat menginfeksi hewan dan manusia dan dapat menyebabkan berbagai penyakit pernapasan mulai dari flu biasa hingga lesi paru-paru dan pneumonia.

Seberapa menular virus itu?
Tampaknya menyebar dengan sangat mudah dari orang ke orang, terutama di rumah, rumah sakit dan ruang terbatas lainnya. Patogen dapat melakukan perjalanan melalui udara, diselimuti tetesan pernapasan kecil yang dihasilkan ketika orang sakit bernafas, berbicara, batuk atau bersin.

Di mana virus menyebar?
Virus, yang berasal dari Wuhan, Cina, telah membuat lebih dari 89.700 sakit di setidaknya 67 negara dan lebih dari 3.000 telah meninggal. Penyebaran telah melambat di Cina, tetapi menambah kecepatan di Eropa dan Amerika Serikat.

Gejala apa yang harus saya perhatikan?
Gejala, yang bisa memakan waktu antara dua hingga 14 hari untuk muncul, termasuk demam, batuk dan kesulitan bernafas atau sesak napas. Kasus yang lebih ringan mungkin menyerupai flu atau pilek, tetapi orang mungkin dapat menularkan virus bahkan sebelum mereka mengembangkan gejala.

Bagaimana cara menjaga diri saya dan orang lain aman?
Mencuci tangan sesering mungkin adalah hal terpenting yang dapat Anda lakukan, bersama dengan tinggal di rumah saat Anda sakit dan menghindari menyentuh wajah Anda.

Bagaimana saya bisa bersiap menghadapi kemungkinan wabah?
Simpan persediaan obat-obatan penting selama 30 hari. Dapatkan suntikan flu. Sediakan barang-barang rumah tangga yang penting. Memiliki sistem pendukung untuk anggota keluarga lanjut usia.

Bagaimana jika saya bepergian?
C.D.C. telah menyarankan agar semua perjalanan yang tidak penting ke Korea Selatan, Cina, Italia dan Iran. Dan agensi telah memperingatkan para pelancong yang lebih tua dan berisiko untuk menghindari Jepang.

Berapa lama untuk mengembangkan pengobatan atau vaksin?
Beberapa obat sedang diuji, dan beberapa temuan awal diharapkan segera terjadi. Vaksin untuk menghentikan penyebaran masih setidaknya satu tahun lagi.

“Mata, hidung, mulut – semua selaput lendir adalah portal ke dalam tubuh untuk virus seperti Covid-19 atau SARS,” kata Mary-Louise McLaws, profesor epidemiologi, infeksi perawatan kesehatan dan pengendalian penyakit menular di University of New Wales Selatan di Sydney, Australia.

Artikel ini di dapat tanggal 2 Maret 2020

Artikel dari WHO

Coronaviruses (CoV) adalah keluarga besar virus yang menyebabkan penyakit mulai dari flu biasa hingga penyakit yang lebih parah seperti Sindrom Pernafasan Timur Tengah (MERS-CoV) dan Sindrom Pernafasan Akut Parah (SARS-CoV). Coronavirus novel (nCoV) adalah jenis baru yang belum diidentifikasi sebelumnya pada manusia.

Virus corona adalah zoonosis, artinya ditularkan antara hewan dan manusia. Investigasi terperinci menemukan bahwa SARS-CoV ditularkan dari kucing luwak ke manusia dan MERS-CoV dari unta dromedaris ke manusia. Beberapa coronavirus yang dikenal beredar pada hewan yang belum menginfeksi manusia.

Tanda-tanda umum infeksi termasuk gejala pernapasan, demam, batuk, sesak napas dan kesulitan bernafas. Pada kasus yang lebih parah, infeksi dapat menyebabkan pneumonia, sindrom pernapasan akut, gagal ginjal, dan bahkan kematian.

Rekomendasi standar untuk mencegah penyebaran infeksi termasuk mencuci tangan secara teratur, menutupi mulut dan hidung ketika batuk dan bersin, memasak daging dan telur dengan saksama. Hindari kontak dekat dengan siapa pun yang menunjukkan gejala penyakit pernapasan seperti batuk dan bersin.

sisitipsi alkohol

Lyric video for Sisitipsi’s single ‘Alkohol’ taken from their album ‘73%’.

 sore hari menjelang kacamata hitam terpasang 
senderan di balik dinding
ketawa ketiwi
bercengkrama sama teman 4 sampai 5 orang
bahasan yang tak kunjung usai
happy happy
kenapa bisa happy?

karena alkohol
kamu jahat tapi enak
alkohol
bisa juga buat luka ringan
alkohol
walau jahat tetap enak
alkohol
walau pajak-mu tinggi tetap menjadi solusi

bercengkrama sama teman 4 sampai 5 orang
bahasan yang tak kunjung usai
happy happy
kenapa bisa happy?

karena alkohol
kamu jahat tapi enak
alkohol
bisa juga buat luka ringan
alkohol
walau jahat tetap enak
alkohol
walau pajak-mu tinggi tetap menjadi solusi

Sisitipsi are:

  • Fauzan Lubis – Vocals
  • Eka Wiji Astanto – Contrabass
  • Rian Rahman – Guitar
  • Hendar Dimas Anggara – Keyboard
  • Amoroso Romadian – Trombone
  • Aditiya Rahman – Drums

▬▬◙▬▬▬▬▬▬▬▬▬▬▬
       ◂◂  ►  ▐ ▌  ◼  ▸▸
       ʳʷ   ᵖˡᵃʸ  ᵖᵃᵘˢᵉ ˢᵗᵒᵖ  ᶠᶠ
Now playing: Alkohol – Sisitipsi
◄═════▓═════════► + Luck
◄═════════════▓═► + Rage
◄════▓══════════► + Hacks
◄═════════════▓═► + Aim
◄════════════▓══► + Skill

My new favorite song
█║▌│█│║▌║│││║█║▌
©Copyright 2012 – All Right Reserved

paypal me

For You

Share your PayPal.Me page link with friends and family; splitting a bill, chipping in for a present, or reimbursing a friend has never been easier.

For Your Freelance Activity

Whether you design websites or sell your creations online, invoices or awkward payment reminders are a thing of the past. Just share your link and get paid.

For your business

Let your customers secure orders or book your services, just by following a link. And with your business account, you benefit from our Seller Protection.

Here is the Code

<div style="text-align:center;">
<a href="https://www.paypal.me/josuamarcelc/1">
<img src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/PP_logo_h_100x26.png" alt="PayPal Logo">
</a>
</div>

If you want to find the official paypal logo, you may find it out here:

https://www.paypal.com/us/webapps/mpp/logo-center

For Developers:

https://github.com/paypal/PayPal-PHP-SDK

Google Pay

This is how to make Buy with Google Pay. by only html code. Step by step you need to register the application first to google for the production side. Until February 2020 the google pay is still on Alpha Test.

1. This is the div button for the payment

<div id="container"></div>
<script async
  src="https://pay.google.com/gp/p/js/pay.js"
  onload="onGooglePayLoaded()"></script>

2. Javascript file or embeded below the html div code.

<script>
/**
 * Define the version of the Google Pay API referenced when creating your
 * configuration
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|apiVersion in PaymentDataRequest}
 */
const baseRequest = {
  apiVersion: 2,
  apiVersionMinor: 0
};

/**
 * Card networks supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm card networks supported by your site and gateway
 */
const allowedCardNetworks = ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"];

/**
 * Card authentication methods supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm your processor supports Android device tokens for your
 * supported card networks
 */
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

/**
 * Identify your gateway and your site's gateway merchant identifier
 *
 * The Google Pay API response will return an encrypted payment method capable
 * of being charged by a supported gateway after payer authorization
 *
 * @todo check with your gateway on the parameters to pass
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#gateway|PaymentMethodTokenizationSpecification}
 */
const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    'gateway': 'example',
    'gatewayMerchantId': 'exampleGatewayMerchantId'
  }
};

/**
 * Describe your site's support for the CARD payment method and its required
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedAuthMethods: allowedCardAuthMethods,
    allowedCardNetworks: allowedCardNetworks
  }
};

/**
 * Describe your site's support for the CARD payment method including optional
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const cardPaymentMethod = Object.assign(
  {},
  baseCardPaymentMethod,
  {
    tokenizationSpecification: tokenizationSpecification
  }
);

/**
 * An initialized google.payments.api.PaymentsClient object or null if not yet set
 *
 * @see {@link getGooglePaymentsClient}
 */
let paymentsClient = null;

/**
 * Configure your site's support for payment methods supported by the Google Pay
 * API.
 *
 * Each member of allowedPaymentMethods should contain only the required fields,
 * allowing reuse of this base request when determining a viewer's ability
 * to pay and later requesting a supported payment method
 *
 * @returns {object} Google Pay API version, payment methods supported by the site
 */
function getGoogleIsReadyToPayRequest() {
  return Object.assign(
      {},
      baseRequest,
      {
        allowedPaymentMethods: [baseCardPaymentMethod]
      }
  );
}

/**
 * Configure support for the Google Pay API
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|PaymentDataRequest}
 * @returns {object} PaymentDataRequest fields
 */
function getGooglePaymentDataRequest() {
  const paymentDataRequest = Object.assign({}, baseRequest);
  paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();
  paymentDataRequest.merchantInfo = {
    // @todo a merchant ID is available for a production environment after approval by Google
    // See {@link https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist|Integration checklist}
    // merchantId: '01234567890123456789',
    merchantName: 'Example Merchant'
  };

  paymentDataRequest.callbackIntents = ["PAYMENT_AUTHORIZATION"];

  return paymentDataRequest;
}

/**
 * Return an active PaymentsClient or initialize
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}
 * @returns {google.payments.api.PaymentsClient} Google Pay API client
 */
function getGooglePaymentsClient() {
  if ( paymentsClient === null ) {
    paymentsClient = new google.payments.api.PaymentsClient({
        environment: 'TEST',
      paymentDataCallbacks: {
        onPaymentAuthorized: onPaymentAuthorized
      }
    });
  }
  return paymentsClient;
}

/**
 * Handles authorize payments callback intents.
 *
 * @param {object} paymentData response from Google Pay API after a payer approves payment through user gesture.
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentData object reference}
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentAuthorizationResult}
 * @returns Promise<{object}> Promise of PaymentAuthorizationResult object to acknowledge the payment authorization status.
 */
function onPaymentAuthorized(paymentData) {
  return new Promise(function(resolve, reject){
    // handle the response
    processPayment(paymentData)
      .then(function() {
        resolve({transactionState: 'SUCCESS'});
      })
      .catch(function() {
        resolve({
          transactionState: 'ERROR',
          error: {
            intent: 'PAYMENT_AUTHORIZATION',
            message: 'Insufficient funds, try again. Next attempt should work.',
            reason: 'PAYMENT_DATA_INVALID'
          }
        });
	    });
  });
}

/**
 * Initialize Google PaymentsClient after Google-hosted JavaScript has loaded
 *
 * Display a Google Pay payment button after confirmation of the viewer's
 * ability to pay.
 */
function onGooglePayLoaded() {
  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.isReadyToPay(getGoogleIsReadyToPayRequest())
    .then(function(response) {
      if (response.result) {
        addGooglePayButton();
      }
    })
    .catch(function(err) {
      // show error in developer console for debugging
      console.error(err);
    });
}

/**
 * Add a Google Pay purchase button alongside an existing checkout button
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ButtonOptions|Button options}
 * @see {@link https://developers.google.com/pay/api/web/guides/brand-guidelines|Google Pay brand guidelines}
 */
function addGooglePayButton() {
  const paymentsClient = getGooglePaymentsClient();
  const button =
      paymentsClient.createButton({onClick: onGooglePaymentButtonClicked});
  document.getElementById('container').appendChild(button);
}

/**
 * Provide Google Pay API with a payment amount, currency, and amount status
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}
 * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest
 */
function getGoogleTransactionInfo() {
  return {
        displayItems: [
        {
          label: "Subtotal",
          type: "SUBTOTAL",
          price: "11.00",
        },
      {
          label: "Tax",
          type: "TAX",
          price: "1.00",
        }
    ],
    countryCode: 'US',
    currencyCode: "USD",
    totalPriceStatus: "FINAL",
    totalPrice: "12.00",
    totalPriceLabel: "Total"
  };
}


/**
 * Show Google Pay payment sheet when Google Pay payment button is clicked
 */
function onGooglePaymentButtonClicked() {
  const paymentDataRequest = getGooglePaymentDataRequest();
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();

  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.loadPaymentData(paymentDataRequest);
}

let attempts = 0;
/**
 * Process payment data returned by the Google Pay API
 *
 * @param {object} paymentData response from Google Pay API after user approves payment
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentData|PaymentData object reference}
 */
function processPayment(paymentData) {
  return new Promise(function(resolve, reject) {
    setTimeout(function() {
      // @todo pass payment token to your gateway to process payment
      paymentToken = paymentData.paymentMethodData.tokenizationData.token;

			if (attempts++ % 2 == 0) {
	      reject(new Error('Every other attempt fails, next one should succeed'));      
      } else {
	      resolve({});      
      }
    }, 500);
  });
}
</script>

Steam Profile

Here is the Steam Id for Akew, also known as josuamarcelc. Use our custom tools to build a Steam profile badge, calculate collection value, find Steam friends and discover the Pile of Shame.

steamID STEAM_1:0:72502129
steamID3 [U:1:145004258]
steamID64 76561198105269986
customURL https://steamcommunity.com/id/josuamarcelc
profile https://steamcommunity.com/profiles/76561198105269986
profile state public
profile created 2013-08-31 10:10:34
name Akew
real name Akew
location Indonesia

Dotabuff: https://www.dotabuff.com/players/145004258

Exit mobile version